*: slap on a few ALIGN* where appropriate
The result of looking at "grep -F -B2 '*fill*' busybox_unstripped.map" function old new delta .rodata 108586 108460 -126 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-126) Total: -126 bytes text data bss dec hex filename 970412 4219 1848 976479 ee65f busybox_old 970286 4219 1848 976353 ee5e1 busybox_unstripped Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
4f40735c87
commit
ca466f385a
@ -36,7 +36,7 @@ int stty_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
|
||||
int reset_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
|
||||
int reset_main(int argc UNUSED_PARAM, char **argv UNUSED_PARAM)
|
||||
{
|
||||
static const char *const args[] = {
|
||||
static const char *const args[] ALIGN_PTR = {
|
||||
"stty", "sane", NULL
|
||||
};
|
||||
|
||||
|
@ -144,7 +144,7 @@ odoffset(dumper_t *dumper, int argc, char ***argvp)
|
||||
}
|
||||
}
|
||||
|
||||
static const char *const add_strings[] = {
|
||||
static const char *const add_strings[] ALIGN_PTR = {
|
||||
"16/1 \"%3_u \" \"\\n\"", /* a */
|
||||
"8/2 \" %06o \" \"\\n\"", /* B, o */
|
||||
"16/1 \"%03o \" \"\\n\"", /* b */
|
||||
|
@ -346,6 +346,7 @@ typedef unsigned smalluint;
|
||||
# define ALIGN4
|
||||
#endif
|
||||
#define ALIGN8 __attribute__((aligned(8)))
|
||||
#define ALIGN_INT __attribute__((aligned(sizeof(int))))
|
||||
#define ALIGN_PTR __attribute__((aligned(sizeof(void*))))
|
||||
|
||||
/*
|
||||
|
@ -651,7 +651,7 @@ static void check_suid(int applet_no)
|
||||
# if ENABLE_FEATURE_INSTALLER
|
||||
static const char usr_bin [] ALIGN1 = "/usr/bin/";
|
||||
static const char usr_sbin[] ALIGN1 = "/usr/sbin/";
|
||||
static const char *const install_dir[] = {
|
||||
static const char *const install_dir[] ALIGN_PTR = {
|
||||
&usr_bin [8], /* "/" */
|
||||
&usr_bin [4], /* "/bin/" */
|
||||
&usr_sbin[4] /* "/sbin/" */
|
||||
|
@ -37,7 +37,7 @@ static int open_a_console(const char *fnam)
|
||||
*/
|
||||
int FAST_FUNC get_console_fd_or_die(void)
|
||||
{
|
||||
static const char *const console_names[] = {
|
||||
static const char *const console_names[] ALIGN_PTR = {
|
||||
DEV_CONSOLE, CURRENT_VC, CURRENT_TTY
|
||||
};
|
||||
|
||||
|
@ -6011,7 +6011,7 @@ static BC_STATUS zxc_program_assign(char inst)
|
||||
#endif
|
||||
|
||||
if (ib || sc || left->t == XC_RESULT_OBASE) {
|
||||
static const char *const msg[] = {
|
||||
static const char *const msg[] ALIGN_PTR = {
|
||||
"bad ibase; must be [2,16]", //XC_RESULT_IBASE
|
||||
"bad obase; must be [2,"BC_MAX_OBASE_STR"]", //XC_RESULT_OBASE
|
||||
"bad scale; must be [0,"BC_MAX_SCALE_STR"]", //XC_RESULT_SCALE
|
||||
|
@ -303,7 +303,7 @@ int man_main(int argc UNUSED_PARAM, char **argv)
|
||||
config_close(parser);
|
||||
|
||||
if (!man_path_list) {
|
||||
static const char *const mpl[] = { "/usr/man", "/usr/share/man", NULL };
|
||||
static const char *const mpl[] ALIGN_PTR = { "/usr/man", "/usr/share/man", NULL };
|
||||
man_path_list = (char**)mpl;
|
||||
/*count_mp = 2; - not used below anyway */
|
||||
}
|
||||
|
@ -532,7 +532,7 @@ static int FAST_FUNC v4tunnel_down(struct interface_defn_t * ifd, execfn * exec)
|
||||
}
|
||||
# endif
|
||||
|
||||
static const struct method_t methods6[] = {
|
||||
static const struct method_t methods6[] ALIGN_PTR = {
|
||||
# if ENABLE_FEATURE_IFUPDOWN_IP
|
||||
{ "v4tunnel" , v4tunnel_up , v4tunnel_down , },
|
||||
# endif
|
||||
@ -627,7 +627,7 @@ struct dhcp_client_t {
|
||||
const char *stopcmd;
|
||||
};
|
||||
|
||||
static const struct dhcp_client_t ext_dhcp_clients[] = {
|
||||
static const struct dhcp_client_t ext_dhcp_clients[] ALIGN_PTR = {
|
||||
{ "dhcpcd",
|
||||
"dhcpcd[[ -h %hostname%]][[ -i %vendor%]][[ -I %client%]][[ -l %leasetime%]] %iface%",
|
||||
"dhcpcd -k %iface%",
|
||||
@ -774,7 +774,7 @@ static int FAST_FUNC wvdial_down(struct interface_defn_t *ifd, execfn *exec)
|
||||
"-p /var/run/wvdial.%iface% -s 2", ifd, exec);
|
||||
}
|
||||
|
||||
static const struct method_t methods[] = {
|
||||
static const struct method_t methods[] ALIGN_PTR = {
|
||||
{ "manual" , manual_up_down, manual_up_down, },
|
||||
{ "wvdial" , wvdial_up , wvdial_down , },
|
||||
{ "ppp" , ppp_up , ppp_down , },
|
||||
@ -797,7 +797,7 @@ static int FAST_FUNC link_up_down(struct interface_defn_t *ifd UNUSED_PARAM, exe
|
||||
return 1;
|
||||
}
|
||||
|
||||
static const struct method_t link_methods[] = {
|
||||
static const struct method_t link_methods[] ALIGN_PTR = {
|
||||
{ "none", link_up_down, link_up_down }
|
||||
};
|
||||
|
||||
|
@ -446,13 +446,13 @@ static char *get_name(char name[IFNAMSIZ], char *p)
|
||||
* %n specifiers (even the size of integers may not match).
|
||||
*/
|
||||
#if INT_MAX == LONG_MAX
|
||||
static const char *const ss_fmt[] = {
|
||||
static const char *const ss_fmt[] ALIGN_PTR = {
|
||||
"%n%llu%u%u%u%u%n%n%n%llu%u%u%u%u%u",
|
||||
"%llu%llu%u%u%u%u%n%n%llu%llu%u%u%u%u%u",
|
||||
"%llu%llu%u%u%u%u%u%u%llu%llu%u%u%u%u%u%u"
|
||||
};
|
||||
#else
|
||||
static const char *const ss_fmt[] = {
|
||||
static const char *const ss_fmt[] ALIGN_PTR = {
|
||||
"%n%llu%lu%lu%lu%lu%n%n%n%llu%lu%lu%lu%lu%lu",
|
||||
"%llu%llu%lu%lu%lu%lu%n%n%llu%llu%lu%lu%lu%lu%lu",
|
||||
"%llu%llu%lu%lu%lu%lu%lu%lu%llu%llu%lu%lu%lu%lu%lu%lu"
|
||||
@ -731,7 +731,7 @@ static const struct hwtype ib_hwtype = {
|
||||
#endif
|
||||
|
||||
|
||||
static const struct hwtype *const hwtypes[] = {
|
||||
static const struct hwtype *const hwtypes[] ALIGN_PTR = {
|
||||
&loop_hwtype,
|
||||
ðer_hwtype,
|
||||
&ppp_hwtype,
|
||||
|
@ -58,7 +58,7 @@ typedef struct filter_t filter_t;
|
||||
|
||||
static void print_link_flags(unsigned flags, unsigned mdown)
|
||||
{
|
||||
static const int flag_masks[] = {
|
||||
static const int flag_masks[] ALIGN_INT = {
|
||||
IFF_LOOPBACK, IFF_BROADCAST, IFF_POINTOPOINT,
|
||||
IFF_MULTICAST, IFF_NOARP, IFF_UP, IFF_LOWER_UP };
|
||||
static const char flag_labels[] ALIGN1 =
|
||||
|
@ -19,7 +19,7 @@ const uint8_t MAC_BCAST_ADDR[6] ALIGN2 = {
|
||||
* See RFC2132 for more options.
|
||||
* OPTION_REQ: these options are requested by udhcpc (unless -o).
|
||||
*/
|
||||
const struct dhcp_optflag dhcp_optflags[] = {
|
||||
const struct dhcp_optflag dhcp_optflags[] ALIGN2 = {
|
||||
/* flags code */
|
||||
{ OPTION_IP | OPTION_REQ, 0x01 }, /* DHCP_SUBNET */
|
||||
{ OPTION_S32 , 0x02 }, /* DHCP_TIME_OFFSET */
|
||||
|
@ -65,7 +65,7 @@
|
||||
|
||||
/* "struct client_data_t client_data" is in bb_common_bufsiz1 */
|
||||
|
||||
static const struct dhcp_optflag d6_optflags[] = {
|
||||
static const struct dhcp_optflag d6_optflags[] ALIGN2 = {
|
||||
#if ENABLE_FEATURE_UDHCPC6_RFC3646
|
||||
{ OPTION_6RD | OPTION_LIST | OPTION_REQ, D6_OPT_DNS_SERVERS },
|
||||
{ OPTION_DNS_STRING | OPTION_LIST | OPTION_REQ, D6_OPT_DOMAIN_LIST },
|
||||
|
@ -313,7 +313,7 @@ typedef long arith_t;
|
||||
/* ============ Shell options */
|
||||
|
||||
/* If you add/change options hare, update --help text too */
|
||||
static const char *const optletters_optnames[] = {
|
||||
static const char *const optletters_optnames[] ALIGN_PTR = {
|
||||
"e" "errexit",
|
||||
"f" "noglob",
|
||||
/* bash has '-o ignoreeof', but no short synonym -I for it */
|
||||
|
@ -71,7 +71,7 @@ static void bb_dump_addfile(dumper_t *dumper, char *name)
|
||||
fclose(fp);
|
||||
}
|
||||
|
||||
static const char *const add_strings[] = {
|
||||
static const char *const add_strings[] ALIGN_PTR = {
|
||||
"\"%07.7_ax \"16/1 \"%03o \"\"\n\"", /* b */
|
||||
"\"%07.7_ax \"16/1 \"%3_c \"\"\n\"", /* c */
|
||||
"\"%07.7_ax \"8/2 \" %05u \"\"\n\"", /* d */
|
||||
|
@ -93,7 +93,7 @@ enum {
|
||||
* The user namespace comes first, so that it is entered first.
|
||||
* This gives an unprivileged user the potential to enter other namespaces.
|
||||
*/
|
||||
static const struct namespace_descr ns_list[] = {
|
||||
static const struct namespace_descr ns_list[] ALIGN_INT = {
|
||||
{ CLONE_NEWUSER, "ns/user", },
|
||||
{ CLONE_NEWIPC, "ns/ipc", },
|
||||
{ CLONE_NEWUTS, "ns/uts", },
|
||||
|
@ -120,7 +120,7 @@ enum {
|
||||
NS_USR_POS, /* OPT_user, NS_USR_POS, and ns_list[] index must match! */
|
||||
NS_COUNT,
|
||||
};
|
||||
static const struct namespace_descr ns_list[] = {
|
||||
static const struct namespace_descr ns_list[] ALIGN_INT = {
|
||||
{ CLONE_NEWNS, "mnt" },
|
||||
{ CLONE_NEWUTS, "uts" },
|
||||
{ CLONE_NEWIPC, "ipc" },
|
||||
|
Loading…
Reference in New Issue
Block a user