From 6cc4962b60d451e918e338ccca98afda99f49f6e Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Mon, 30 Nov 2020 14:58:02 +0100 Subject: decrease padding: gcc-9.3.1 slaps 32-byte alignment on arrays willy-nilly text data bss dec hex filename 1021236 559 5052 1026847 fab1f busybox_old 1021120 559 5052 1026731 faaab busybox_unstripped Signed-off-by: Denys Vlasenko --- archival/libarchive/decompress_gunzip.c | 4 ++-- miscutils/bc.c | 2 +- miscutils/i2c_tools.c | 4 ++-- networking/ifconfig.c | 4 ++-- networking/inetd.c | 2 +- networking/netstat.c | 2 +- networking/nslookup.c | 4 ++-- networking/traceroute.c | 4 ++-- util-linux/blockdev.c | 2 +- 9 files changed, 14 insertions(+), 14 deletions(-) diff --git a/archival/libarchive/decompress_gunzip.c b/archival/libarchive/decompress_gunzip.c index 03049cc9b..eb3b64930 100644 --- a/archival/libarchive/decompress_gunzip.c +++ b/archival/libarchive/decompress_gunzip.c @@ -194,14 +194,14 @@ struct cp_ext { }; /* Copy lengths and extra bits for literal codes 257..285 */ /* note: see note #13 above about the 258 in this list. */ -static const struct cp_ext lit = { +static const struct cp_ext lit ALIGN2 = { /*257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 */ /*0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 */ { 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, 99, 99 } /* 99 == invalid */ }; /* Copy offsets and extra bits for distance codes 0..29 */ -static const struct cp_ext dist = { +static const struct cp_ext dist ALIGN2 = { /*0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 */ { 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577 }, { 0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13 } diff --git a/miscutils/bc.c b/miscutils/bc.c index 4d987325e..f339b895c 100644 --- a/miscutils/bc.c +++ b/miscutils/bc.c @@ -517,7 +517,7 @@ struct BcLexKeyword { }; #define LEX_KW_ENTRY(a, b) \ { .name8 = a /*, .posix = b */ } -static const struct BcLexKeyword bc_lex_kws[20] = { +static const struct BcLexKeyword bc_lex_kws[20] ALIGN8 = { LEX_KW_ENTRY("auto" , 1), // 0 LEX_KW_ENTRY("break" , 1), // 1 LEX_KW_ENTRY("continue", 0), // 2 note: this one has no terminating NUL diff --git a/miscutils/i2c_tools.c b/miscutils/i2c_tools.c index 09364e396..57cac5d47 100644 --- a/miscutils/i2c_tools.c +++ b/miscutils/i2c_tools.c @@ -1052,7 +1052,7 @@ struct adap_desc { const char *algo; }; -static const struct adap_desc adap_descs[] = { +static const struct adap_desc adap_descs[] ALIGN_PTR = { { .funcs = "dummy", .algo = "Dummy bus", }, { .funcs = "isa", .algo = "ISA bus", }, { .funcs = "i2c", .algo = "I2C adapter", }, @@ -1064,7 +1064,7 @@ struct i2c_func { const char* name; }; -static const struct i2c_func i2c_funcs_tab[] = { +static const struct i2c_func i2c_funcs_tab[] ALIGN_PTR = { { .value = I2C_FUNC_I2C, .name = "I2C" }, { .value = I2C_FUNC_SMBUS_QUICK, diff --git a/networking/ifconfig.c b/networking/ifconfig.c index 3c9a2dfb3..c3e448be0 100644 --- a/networking/ifconfig.c +++ b/networking/ifconfig.c @@ -247,7 +247,7 @@ struct options { * Set up the tables. Warning! They must have corresponding order! */ -static const struct arg1opt Arg1Opt[] = { +static const struct arg1opt Arg1Opt[] ALIGN_PTR = { { "SIFMETRIC", SIOCSIFMETRIC, ifreq_offsetof(ifr_metric) }, { "SIFMTU", SIOCSIFMTU, ifreq_offsetof(ifr_mtu) }, { "SIFTXQLEN", SIOCSIFTXQLEN, ifreq_offsetof(ifr_qlen) }, @@ -277,7 +277,7 @@ static const struct arg1opt Arg1Opt[] = { { "SIFADDR", SIOCSIFADDR, ifreq_offsetof(ifr_addr) }, }; -static const struct options OptArray[] = { +static const struct options OptArray[] ALIGN_PTR = { { "metric", N_ARG, ARG_METRIC, 0 }, { "mtu", N_ARG, ARG_MTU, 0 }, { "txqueuelen", N_ARG, ARG_TXQUEUELEN, 0 }, diff --git a/networking/inetd.c b/networking/inetd.c index 44b1ac700..9f5a436d6 100644 --- a/networking/inetd.c +++ b/networking/inetd.c @@ -361,7 +361,7 @@ struct builtin { void (*bi_dgram_fn)(int, servtab_t *) FAST_FUNC; }; -static const struct builtin builtins[] = { +static const struct builtin builtins[] ALIGN_PTR = { #if ENABLE_FEATURE_INETD_SUPPORT_BUILTIN_ECHO { "echo", 1, echo_stream, echo_dg }, #endif diff --git a/networking/netstat.c b/networking/netstat.c index 3ab7b0d21..807800a62 100644 --- a/networking/netstat.c +++ b/networking/netstat.c @@ -114,7 +114,7 @@ enum { TCP_CLOSING, /* now a valid state */ }; -static const char *const tcp_state[] = { +static const char *const tcp_state[] ALIGN_PTR = { "", "ESTABLISHED", "SYN_SENT", diff --git a/networking/nslookup.c b/networking/nslookup.c index 759de5c83..dda22de0e 100644 --- a/networking/nslookup.c +++ b/networking/nslookup.c @@ -273,7 +273,7 @@ struct query { static const struct { unsigned char type; char name[7]; -} qtypes[] = { +} qtypes[] ALIGN1 = { { ns_t_soa, "SOA" }, { ns_t_ns, "NS" }, { ns_t_a, "A" }, @@ -288,7 +288,7 @@ static const struct { { ns_t_any, "ANY" }, }; -static const char *const rcodes[] = { +static const char *const rcodes[] ALIGN_PTR = { "NOERROR", // 0 "FORMERR", // 1 "SERVFAIL", // 2 diff --git a/networking/traceroute.c b/networking/traceroute.c index 34d2a09dd..7dde10524 100644 --- a/networking/traceroute.c +++ b/networking/traceroute.c @@ -536,7 +536,7 @@ send_probe(int seq, int ttl) static const char * pr_type(unsigned char t) { - static const char *const ttab[] = { + static const char *const ttab[] ALIGN_PTR = { "Echo Reply", "ICMP 1", "ICMP 2", "Dest Unreachable", "Source Quench", "Redirect", "ICMP 6", "ICMP 7", "Echo", "Router Advert", "Router Solicit", "Time Exceeded", @@ -544,7 +544,7 @@ pr_type(unsigned char t) "Info Reply", "Mask Request", "Mask Reply" }; # if ENABLE_TRACEROUTE6 - static const char *const ttab6[] = { + static const char *const ttab6[] ALIGN_PTR = { [0] = "Error", "Dest Unreachable", "Packet Too Big", "Time Exceeded", [4] = "Param Problem", [8] = "Echo Request", "Echo Reply", "Membership Query", "Membership Report", diff --git a/util-linux/blockdev.c b/util-linux/blockdev.c index e60bbe609..20a031377 100644 --- a/util-linux/blockdev.c +++ b/util-linux/blockdev.c @@ -60,7 +60,7 @@ static const char bdcmd_names[] ALIGN1 = "flushbufs" "\0" "rereadpt" "\0" ; -static const uint32_t bdcmd_ioctl[] = { +static const uint32_t bdcmd_ioctl[] ALIGN4 = { BLKROSET, //setro BLKROSET, //setrw BLKROGET, //getro -- cgit v1.2.3