> I was curious. Is there a reason for BusyBox's bloat-o-meter script not to
> keep in sync with the version that comes in the Linux kernel source?
It looks like busybox's bloat-o-meter has this addon: .rodata section diff.
Commit f14f7fc5cad5 ("Teach bloatometer about .rodata, and tweak the
display into something that") introduced this feature through 'readelf'.
https://git.busybox.net/busybox/commit/?id=f14f7fc5cad5
After poking around mailing list found this thread has a talk about
"[PATCH] update kernel's scripts/bloat-o-meter from busybox", and somehow
not goes to linux kernel upstream:
https://lore.kernel.org/all/[email protected]/t/
linux kernel's bloat-o-meter has an alternative checks for read-only
sections. Commit c50e3f512a5a ("bloat-o-meter: include read-only data
section in report) introduced it through 'nm' with type 'r' or 'R'.
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=c50e3f512a5a
> I occasionally use the bloat-o-meter from the Linux kernel to compare even
> BusyBox binaries. There shouldn't be any functional differences between the
> two versions.
Per test it looks like busybox has one more items: ".rodata", if the
modification contains a format strings like this:
log5("crond_dummy 1 %d %d\n", crond_dummy_global_int, crond_dummy_local_int);
The output of two versions:
~/busybox/scripts/bloat-o-meter ~/busybox_unstripped_{orig,fix}
function old new delta
crond_dummy_func - 211 +211
.rodata 59300 59404 +104
crond_main 704 709 +5
static.crond_dummy_local_int - 4 +4
crond_dummy_global_int - 4 +4
------------------------------------------------------------------------------
(add/remove: 3/0 grow/shrink: 2/0 up/down: 328/0) Total: 328 bytes
~/git/linux/scripts/bloat-o-meter -c ~/busybox_unstripped_{orig,fix}
add/remove: 1/0 grow/shrink: 1/0 up/down: 216/0 (216)
Function old new delta
crond_dummy_func - 211 +211
crond_main 704 709 +5
Total: Before=692144, After=692360, chg +0.03%
add/remove: 2/0 grow/shrink: 0/0 up/down: 8/0 (8)
Data old new delta
crond_dummy_local_int - 4 +4
crond_dummy_global_int - 4 +4
Total: Before=13500, After=13508, chg +0.06%
add/remove: 0/0 grow/shrink: 0/0 up/down: 0/0 (0)
RO Data old new delta
Total: Before=35929, After=35929, chg +0.00%
--
Regards,
Jones Syue | 薛懷宗
QNAP Systems, Inc.
_______________________________________________
busybox mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/busybox