summaryrefslogtreecommitdiff
path: root/release/src/router/busybox/scripts/objsizes
diff options
context:
space:
mode:
Diffstat (limited to 'release/src/router/busybox/scripts/objsizes')
-rwxr-xr-xrelease/src/router/busybox/scripts/objsizes19
1 files changed, 19 insertions, 0 deletions
diff --git a/release/src/router/busybox/scripts/objsizes b/release/src/router/busybox/scripts/objsizes
new file mode 100755
index 00000000..6df0c4fa
--- /dev/null
+++ b/release/src/router/busybox/scripts/objsizes
@@ -0,0 +1,19 @@
+#!/bin/sh
+
+t_text=0
+t_data=0
+t_bss=0
+
+printf "%9s %11s %9s %9s %s\n" "text+data" "text+rodata" rwdata bss filename
+
+find -name '*.o' | grep -v '^\./scripts/' | grep -vF built-in.o \
+| sed 's:^\./::' | xargs "${CROSS_COMPILE}size" | grep '^ *[0-9]' \
+| {
+while read text data bss dec hex filename; do
+ t_text=$((t_text+text))
+ t_data=$((t_data+data))
+ t_bss=$((t_bss+bss))
+ printf "%9d %11d %9d %9d %s\n" $((text+data)) $text $data $bss "$filename"
+done
+printf "%9d %11d %9d %9d %s\n" $((t_text+t_data)) $t_text $t_data $t_bss "TOTAL"
+} | env -uLANG -uLC_ALL sort -r