better shared strings trick

text	   data	    bss	    dec	    hex	filename
 861980	    441	   7540	 869961	  d4649	busybox_old
 861914	    441	   7540	 869895	  d4607	busybox_unstripped

Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
This commit is contained in:
Denys Vlasenko
2010-09-01 12:01:17 +02:00
parent 9dc04124d5
commit 0004e99493
8 changed files with 33 additions and 43 deletions

View File

@@ -64,7 +64,6 @@ lib-y += md5.o
#lib-y += md5prime.o
lib-y += messages.o
lib-y += mode_string.o
lib-y += mtab_file.o
lib-y += obscure.o
lib-y += parse_mode.o
lib-y += parse_config.o

View File

@@ -23,7 +23,7 @@ int FAST_FUNC INET_resolve(const char *name, struct sockaddr_in *s_in, int hostf
s_in->sin_port = 0;
/* Default is special, meaning 0.0.0.0. */
if (!strcmp(name, bb_str_default)) {
if (strcmp(name, "default") == 0) {
s_in->sin_addr.s_addr = INADDR_ANY;
return 1;
}
@@ -109,7 +109,7 @@ char* FAST_FUNC INET_rresolve(struct sockaddr_in *s_in, int numeric, uint32_t ne
if (ad == INADDR_ANY) {
if ((numeric & 0x0FFF) == 0) {
if (numeric & 0x8000)
return xstrdup(bb_str_default);
return xstrdup("default");
return xstrdup("*");
}
}
@@ -205,7 +205,7 @@ char* FAST_FUNC INET6_rresolve(struct sockaddr_in6 *sin6, int numeric)
}
if (IN6_IS_ADDR_UNSPECIFIED(&sin6->sin6_addr)) {
if (numeric & 0x8000)
return xstrdup(bb_str_default);
return xstrdup("default");
return xstrdup("*");
}

View File

@@ -24,8 +24,6 @@ const char bb_banner[] ALIGN1 = BANNER;
const char bb_msg_memory_exhausted[] ALIGN1 = "memory exhausted";
const char bb_msg_invalid_date[] ALIGN1 = "invalid date '%s'";
const char bb_msg_write_error[] ALIGN1 = "write error";
const char bb_msg_read_error[] ALIGN1 = "read error";
const char bb_msg_unknown[] ALIGN1 = "(unknown)";
const char bb_msg_can_not_create_raw_socket[] ALIGN1 = "can't create raw socket";
const char bb_msg_perm_denied_are_you_root[] ALIGN1 = "permission denied (are you root?)";
@@ -35,15 +33,8 @@ const char bb_msg_invalid_arg[] ALIGN1 = "invalid argument '%s' to '%s'";
const char bb_msg_standard_input[] ALIGN1 = "standard input";
const char bb_msg_standard_output[] ALIGN1 = "standard output";
const char bb_str_default[] ALIGN1 = "default";
const char bb_hexdigits_upcase[] ALIGN1 = "0123456789ABCDEF";
const char bb_path_passwd_file[] ALIGN1 = "/etc/passwd";
const char bb_path_shadow_file[] ALIGN1 = "/etc/shadow";
const char bb_path_group_file[] ALIGN1 = "/etc/group";
const char bb_path_gshadow_file[] ALIGN1 = "/etc/gshadow";
const char bb_path_motd_file[] ALIGN1 = "/etc/motd";
const char bb_dev_null[] ALIGN1 = "/dev/null";
const char bb_busybox_exec_path[] ALIGN1 = CONFIG_BUSYBOX_EXEC_PATH;
const char bb_default_login_shell[] ALIGN1 = LIBBB_DEFAULT_LOGIN_SHELL;
/* util-linux manpage says /sbin:/bin:/usr/sbin:/usr/bin,

View File

@@ -1,15 +0,0 @@
/* vi: set sw=4 ts=4: */
/*
* Utility routines.
*
* Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
*
* Licensed under GPLv2 or later, see file LICENSE in this source tree.
*/
#include "libbb.h"
/* Busybox mount uses either /proc/mounts or /etc/mtab to
* get the list of currently mounted filesystems */
const char bb_path_mtab_file[] ALIGN1 =
IF_FEATURE_MTAB_SUPPORT("/etc/mtab")IF_NOT_FEATURE_MTAB_SUPPORT("/proc/mounts");