Fix "nm --size-sort" on the busybox binary and document how to make it work.
This commit is contained in:
parent
e70aa9de7e
commit
c7a3e1be8f
@ -169,7 +169,7 @@ ifeq ($(strip $(CONFIG_DEBUG)),y)
|
||||
STRIPCMD:=/bin/true -Not_stripping_since_we_are_debugging
|
||||
else
|
||||
CFLAGS+=$(WARNINGS) $(OPTIMIZATIONS) -D_GNU_SOURCE -DNDEBUG
|
||||
LDFLAGS += -s -Wl,-warn-common
|
||||
LDFLAGS += -Wl,-warn-common
|
||||
STRIPCMD:=$(STRIP) --remove-section=.note --remove-section=.comment
|
||||
endif
|
||||
ifeq ($(strip $(CONFIG_STATIC)),y)
|
||||
|
@ -246,68 +246,33 @@ have additions to this FAQ document, we would love to add them,
|
||||
trust PayPal...
|
||||
|
||||
<hr />
|
||||
<p>
|
||||
<h2><a name="optimize">I want to make busybox even smaller, how do I go about it?</a></h2>
|
||||
<p>
|
||||
To conserve bytes it's good to know where they're being used, and the
|
||||
size of the final executable isn't always a reliable indicator of
|
||||
the size of the components (since various structures are rounded up,
|
||||
so a small change may not even be visible by itself, but many small
|
||||
savings add up).
|
||||
</p>
|
||||
<p>
|
||||
To examine a busybox binary with an eye to saving bytes, build an
|
||||
optimized debug version and run the "nm" command against it, like so:
|
||||
</p>
|
||||
<p>
|
||||
make clean && make STRIPCMD=/bin/true && nm --size-sort busybox
|
||||
</p>
|
||||
<p>
|
||||
This gives a list of symbols and the amount of space allocated for
|
||||
each one, sorted by size. (Note: do not enable CONFIG_DEBUG for this,
|
||||
as that disables compiler optimization which is great for running gdb
|
||||
but misleading when trying to figure out how much space each component
|
||||
is really using under normal circumstances.)
|
||||
</p>
|
||||
<hr />
|
||||
|
||||
|
||||
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
|
Loading…
Reference in New Issue
Block a user