od: move address_fmt[] from data to globals. 8 less bytes in data section

function                                             old     new   delta
od_main                                             2164    2179     +15
address_fmt                                            8       -      -8
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 1/0 up/down: 15/-8)               Total: 7 bytes
   text    data     bss     dec     hex filename
 930954     481    6852  938287   e512f busybox_old
 930977     473    6852  938302   e513e busybox_unstripped

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko 2018-02-22 12:14:55 +01:00
parent 2709acbbda
commit 3177626033

View File

@ -211,7 +211,14 @@ struct globals {
bool not_first; bool not_first;
bool prev_pair_equal; bool prev_pair_equal;
char address_fmt[sizeof("%0n"OFF_FMT"xc")];
} FIX_ALIASING; } FIX_ALIASING;
/* Corresponds to 'x' above */
#define address_base_char G.address_fmt[sizeof(G.address_fmt)-3]
/* Corresponds to 'n' above */
#define address_pad_len_char G.address_fmt[2]
#if !ENABLE_LONG_OPTS #if !ENABLE_LONG_OPTS
enum { G_pseudo_offset = 0 }; enum { G_pseudo_offset = 0 };
#endif #endif
@ -220,6 +227,7 @@ enum { G_pseudo_offset = 0 };
setup_common_bufsiz(); \ setup_common_bufsiz(); \
BUILD_BUG_ON(sizeof(G) > COMMON_BUFSIZE); \ BUILD_BUG_ON(sizeof(G) > COMMON_BUFSIZE); \
G.bytes_per_block = 32; \ G.bytes_per_block = 32; \
strcpy(G.address_fmt, "%0n"OFF_FMT"xc"); \
} while (0) } while (0)
@ -844,18 +852,12 @@ format_address_none(off_t address UNUSED_PARAM, char c UNUSED_PARAM)
{ {
} }
static char address_fmt[] ALIGN1 = "%0n"OFF_FMT"xc";
/* Corresponds to 'x' above */
#define address_base_char address_fmt[sizeof(address_fmt)-3]
/* Corresponds to 'n' above */
#define address_pad_len_char address_fmt[2]
static void static void
format_address_std(off_t address, char c) format_address_std(off_t address, char c)
{ {
/* Corresponds to 'c' */ /* Corresponds to 'c' */
address_fmt[sizeof(address_fmt)-2] = c; G.address_fmt[sizeof(G.address_fmt)-2] = c;
printf(address_fmt, address); printf(G.address_fmt, address);
} }
#if ENABLE_LONG_OPTS #if ENABLE_LONG_OPTS