> 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/200906020104.56471....@landley.net/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
busybox@busybox.net
http://lists.busybox.net/mailman/listinfo/busybox

Reply via email to