Apply lash_patch35 from vodz, which brings several nice size_optimizations.
This commit is contained in:
parent
50e4d660ac
commit
fcffa2cc1a
@ -18,12 +18,15 @@ const char *applet_name;
|
|||||||
* this should be consistent w/ the enum, busybox.h::Location,
|
* this should be consistent w/ the enum, busybox.h::Location,
|
||||||
* or else...
|
* or else...
|
||||||
*/
|
*/
|
||||||
static char* install_dir[] = {
|
static const char usr_bin [] ="/usr/bin";
|
||||||
"/",
|
static const char usr_sbin[] ="/usr/sbin";
|
||||||
"/bin",
|
|
||||||
"/sbin",
|
static const char* const install_dir[] = {
|
||||||
"/usr/bin",
|
&usr_bin [8], /* "", equivalent to "/" for concat_path_file() */
|
||||||
"/usr/sbin",
|
&usr_bin [4], /* "/bin" */
|
||||||
|
&usr_sbin[4], /* "/sbin" */
|
||||||
|
usr_bin,
|
||||||
|
usr_sbin
|
||||||
};
|
};
|
||||||
|
|
||||||
/* abstract link() */
|
/* abstract link() */
|
||||||
@ -35,7 +38,7 @@ typedef int (*__link_f)(const char *, const char *);
|
|||||||
* malloc'd string w/ full pathname of busybox's location
|
* malloc'd string w/ full pathname of busybox's location
|
||||||
* NULL on failure
|
* NULL on failure
|
||||||
*/
|
*/
|
||||||
static char *busybox_fullpath(void)
|
static inline char *busybox_fullpath(void)
|
||||||
{
|
{
|
||||||
return xreadlink("/proc/self/exe");
|
return xreadlink("/proc/self/exe");
|
||||||
}
|
}
|
||||||
|
@ -119,7 +119,7 @@ extern int ln_main(int argc, char **argv)
|
|||||||
status = EXIT_FAILURE;
|
status = EXIT_FAILURE;
|
||||||
optind++;
|
optind++;
|
||||||
}
|
}
|
||||||
exit(status);
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -20,5 +20,11 @@ if [ "$CONFIG_INSMOD" = "y" ]; then
|
|||||||
bool 'Support image in kernel memory optimization (uClinux only)' CONFIG_FEATURE_INSMOD_LOADINKMEM
|
bool 'Support image in kernel memory optimization (uClinux only)' CONFIG_FEATURE_INSMOD_LOADINKMEM
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ "$CONFIG_LSMOD" = "y" ]; then
|
||||||
|
if [ "$CONFIG_FEATURE_NEW_MODULE_INTERFACE" = "y" ]; then
|
||||||
|
bool 'Support lsmod query_module interface (add 638 bytes)' CONFIG_FEATURE_QUERY_MODULE_INTERFACE
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
endmenu
|
endmenu
|
||||||
|
|
||||||
|
@ -41,7 +41,7 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef CONFIG_FEATURE_NEW_MODULE_INTERFACE
|
#ifdef CONFIG_FEATURE_QUERY_MODULE_INTERFACE
|
||||||
|
|
||||||
struct module_info
|
struct module_info
|
||||||
{
|
{
|
||||||
|
@ -81,7 +81,7 @@ static struct swap_header_v1 {
|
|||||||
unsigned int badpages[1];
|
unsigned int badpages[1];
|
||||||
} *p;
|
} *p;
|
||||||
|
|
||||||
static void init_signature_page(void)
|
static inline void init_signature_page(void)
|
||||||
{
|
{
|
||||||
pagesize = getpagesize();
|
pagesize = getpagesize();
|
||||||
|
|
||||||
@ -94,7 +94,7 @@ static void init_signature_page(void)
|
|||||||
p = (struct swap_header_v1 *) signature_page;
|
p = (struct swap_header_v1 *) signature_page;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void write_signature(char *sig)
|
static inline void write_signature(char *sig)
|
||||||
{
|
{
|
||||||
char *sp = (char *) signature_page;
|
char *sp = (char *) signature_page;
|
||||||
|
|
||||||
@ -147,7 +147,7 @@ It is roughly 2GB on i386, PPC, m68k, ARM, 1GB on sparc, 512MB on mips,
|
|||||||
|
|
||||||
#define MAX_BADPAGES ((pagesize-1024-128*sizeof(int)-10)/sizeof(int))
|
#define MAX_BADPAGES ((pagesize-1024-128*sizeof(int)-10)/sizeof(int))
|
||||||
|
|
||||||
static void bit_set(unsigned int *addr, unsigned int nr)
|
static inline void bit_set(unsigned int *addr, unsigned int nr)
|
||||||
{
|
{
|
||||||
unsigned int r, m;
|
unsigned int r, m;
|
||||||
|
|
||||||
@ -179,7 +179,7 @@ static void page_ok(int page)
|
|||||||
bit_set(signature_page, page);
|
bit_set(signature_page, page);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void page_bad(int page)
|
static inline void page_bad(int page)
|
||||||
{
|
{
|
||||||
if (version == 0)
|
if (version == 0)
|
||||||
bit_test_and_clear(signature_page, page);
|
bit_test_and_clear(signature_page, page);
|
||||||
|
@ -469,9 +469,8 @@ singlemount:
|
|||||||
string_flags = xstrdup(string_flags);
|
string_flags = xstrdup(string_flags);
|
||||||
rc = EXIT_SUCCESS;
|
rc = EXIT_SUCCESS;
|
||||||
#ifdef CONFIG_NFSMOUNT
|
#ifdef CONFIG_NFSMOUNT
|
||||||
if (strchr(device, ':') != NULL)
|
if (strchr(device, ':') != NULL) {
|
||||||
filesystemType = "nfs";
|
filesystemType = "nfs";
|
||||||
if (strcmp(filesystemType, "nfs") == 0) {
|
|
||||||
if (nfsmount (device, directory, &flags, &extra_opts,
|
if (nfsmount (device, directory, &flags, &extra_opts,
|
||||||
&string_flags, 1)) {
|
&string_flags, 1)) {
|
||||||
perror_msg("nfsmount failed");
|
perror_msg("nfsmount failed");
|
||||||
|
Loading…
Reference in New Issue
Block a user