Apply lash_patch35 from vodz, which brings several nice size_optimizations.

This commit is contained in:
Eric Andersen 2002-04-06 05:17:57 +00:00
parent 50e4d660ac
commit fcffa2cc1a
6 changed files with 23 additions and 15 deletions

View File

@ -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");
} }

View File

@ -119,7 +119,7 @@ extern int ln_main(int argc, char **argv)
status = EXIT_FAILURE; status = EXIT_FAILURE;
optind++; optind++;
} }
exit(status); return status;
} }
/* /*

View File

@ -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

View File

@ -41,7 +41,7 @@
#ifdef CONFIG_FEATURE_NEW_MODULE_INTERFACE #ifdef CONFIG_FEATURE_QUERY_MODULE_INTERFACE
struct module_info struct module_info
{ {

View File

@ -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);

View File

@ -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");