0b25e810ed
Disable 'echo' in the default config, run 'make baseline', then re-enable 'echo' and run 'make bloatcheck': function old new delta .rodata 182521 182622 +101 packed_usage 33714 33792 +78 applet_main 3168 3176 +8 applet_names 2730 2735 +5 applet_suid 99 100 +1 applet_install_loc 198 199 +1 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 6/0 up/down: 194/0) Total: 194 bytes text data bss dec hex filename 955052 4195 1808 961055 eaa1f busybox_old 955153 4195 1808 961156 eaa84 busybox_unstripped The Total bytes value doesn't equal the change in the size of the binary. The packed_usage and applet_* items are in .rodata and are counted twice. With this modified bloat-o-meter the size of named items is deducted from .rodata: function old new delta packed_usage 33714 33792 +78 applet_main 3168 3176 +8 .rodata 105105 105113 +8 applet_names 2730 2735 +5 applet_suid 99 100 +1 applet_install_loc 198 199 +1 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 6/0 up/down: 101/0) Total: 101 bytes text data bss dec hex filename 955052 4195 1808 961055 eaa1f busybox_old 955153 4195 1808 961156 eaa84 busybox_unstripped v2: Sections numbered less than 10 were always being omitted from consideration because splitting "[ 1] .interp" leaves "1]" in x[1] where the section name is expected. This wasn't a problem for .rodata (numbered 15 in my testing) but let's fix it anyway. Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com> |
||
---|---|---|
.. | ||
basic | ||
kconfig | ||
bb_release | ||
bloat-o-meter | ||
checkhelp.awk | ||
checkstack.pl | ||
cleanup_printf2puts | ||
echo.c | ||
embedded_scripts | ||
find_bad_common_bufsiz | ||
find_stray_common_vars | ||
find_stray_empty_lines | ||
fix_ws.sh | ||
gcc-version.sh | ||
gen_build_files.sh | ||
generate_BUFSIZ.sh | ||
Kbuild.include | ||
Kbuild.src | ||
Makefile.build | ||
Makefile.clean | ||
Makefile.host | ||
Makefile.IMA | ||
Makefile.lib | ||
memusage | ||
mkconfigs | ||
mkdiff_obj | ||
mkdiff_obj_bloat | ||
mkmakefile | ||
objsizes | ||
randomtest | ||
randomtest.loop | ||
sample_pmap | ||
showasm | ||
test_make_clean | ||
test_make_O | ||
test_setenv_leak.c | ||
trylink |