aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile6
-rwxr-xr-xscripts/objsizes8
2 files changed, 14 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index 977df5d4e..bcf25fe6d 100644
--- a/Makefile
+++ b/Makefile
@@ -136,6 +136,7 @@ help:
@echo ' randconfig - generate a random configuration'
@echo ' release - create a distribution tarball'
@echo ' sizes - show size of all enabled busybox symbols'
+ @echo ' objsizes - show size of each .o object built'
@echo
@@ -349,9 +350,14 @@ check test: busybox
bindir=$(top_builddir) srcdir=$(top_srcdir)/testsuite \
$(top_srcdir)/testsuite/runtest $(CHECK_VERBOSE)
+.PHONY: sizes
sizes: busybox_unstripped
$(NM) --size-sort $(<)
+.PHONY: objsizes
+objsizes: busybox_unstripped
+ $(SHELL) $(top_srcdir)/scripts/objsizes
+
# Documentation Targets
doc: docs/busybox.pod docs/BusyBox.txt docs/BusyBox.1 docs/BusyBox.html
diff --git a/scripts/objsizes b/scripts/objsizes
new file mode 100755
index 000000000..291285f03
--- /dev/null
+++ b/scripts/objsizes
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+printf "%9s %11s %9s %9s %s\n" "text+data" text+rodata rwdata bss filename
+find -name '*.o' | sed 's:^\./::' | xargs size | grep '^ *[0-9]' \
+| while read text data bss dec hex filename; do
+ printf "%9d %11d %9d %9d %s\n" $((text+data)) $text $data $bss "$filename"
+done \
+| sort