diff options
author | Rob Landley <rob@landley.net> | 2005-07-31 04:25:00 +0000 |
---|---|---|
committer | Rob Landley <rob@landley.net> | 2005-07-31 04:25:00 +0000 |
commit | c7a3e1be8fe22b271193840a5b6bdde93da147ae (patch) | |
tree | 4a4f40c2424b42f18e609bae3357adca2a31eac9 | |
parent | e70aa9de7ebd8674bfeed74e6cd5c3d6d377c721 (diff) | |
download | busybox-c7a3e1be8fe22b271193840a5b6bdde93da147ae.tar.gz |
Fix "nm --size-sort" on the busybox binary and document how to make it work.
-rw-r--r-- | Rules.mak | 2 | ||||
-rw-r--r-- | docs/busybox.net/FAQ.html | 87 |
2 files changed, 27 insertions, 62 deletions
@@ -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) diff --git a/docs/busybox.net/FAQ.html b/docs/busybox.net/FAQ.html index a2264f9fe..a2d20bf5c 100644 --- a/docs/busybox.net/FAQ.html +++ b/docs/busybox.net/FAQ.html @@ -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> |