aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/bloatcheck87
1 files changed, 45 insertions, 42 deletions
diff --git a/scripts/bloatcheck b/scripts/bloatcheck
index a5a28f1c..03606b2b 100755
--- a/scripts/bloatcheck
+++ b/scripts/bloatcheck
@@ -14,47 +14,50 @@ addline()
STUFF="$(printf "%s\n%s" "$STUFF" "$NEXT")"
}
+do_bloatcheck()
+{
+ LASTNAME=
+ DELTA=0
+ TOTAL=0
+ OLD=0
+ NEW=0
+ STUFF=
+
+ printf "name% 46s% 10s% 11s\n" old new delta
+ echo "-----------------------------------------------------------------------"
+ while read a b c d
+ do
+ THISNAME=$(echo " $d" | sed 's/[.][0-9]*$//')
+
+ if [ "$LASTNAME" != "$THISNAME" ]
+ then
+ TOTAL=$(($TOTAL+$DELTA))
+ [ $DELTA -ne 0 ] && addline
+ LASTNAME="$THISNAME"
+ DELTA=0
+ OLD=0
+ NEW=0
+ fi
+
+ SIZE=$(printf "%d" "0x$b")
+ if [ "$a" == "<" ]
+ then
+ OLD=$(($OLD+$SIZE))
+ SIZE=$((-1*$SIZE))
+ else
+ NEW=$(($NEW+$SIZE))
+ fi
+ DELTA=$(($DELTA+$SIZE))
+ done
+
+ TOTAL=$(($TOTAL+$DELTA))
+ [ $DELTA -ne 0 ] && addline
+
+ echo "$STUFF" | sort -k4,4nr
+ echo "-----------------------------------------------------------------------"
+ printf "% 71d total\n" "$TOTAL"
+}
+
diff <(nm --size-sort "$1" | sort -k3,3) \
<(nm --size-sort "$2" | sort -k3,3) | grep '^[<>]' | sort -k4,4 | \
-(
-LASTNAME=
-DELTA=0
-TOTAL=0
-OLD=0
-NEW=0
-STUFF=
-
-printf "name% 46s% 10s% 11s\n" old new delta
-echo "-----------------------------------------------------------------------"
-while read a b c d
-do
- THISNAME=$(echo " $d" | sed 's/[.][0-9]*$//')
-
- if [ "$LASTNAME" != "$THISNAME" ]
- then
- TOTAL=$(($TOTAL+$DELTA))
- [ $DELTA -ne 0 ] && addline
- LASTNAME="$THISNAME"
- DELTA=0
- OLD=0
- NEW=0
- fi
-
- SIZE=$(printf "%d" "0x$b")
- if [ "$a" == "<" ]
- then
- OLD=$(($OLD+$SIZE))
- SIZE=$((-1*$SIZE))
- else
- NEW=$(($NEW+$SIZE))
- fi
- DELTA=$(($DELTA+$SIZE))
-done
-
-TOTAL=$(($TOTAL+$DELTA))
-[ $DELTA -ne 0 ] && addline
-
-echo "$STUFF" | sort -k4,4nr
-echo "-----------------------------------------------------------------------"
-printf "% 71d total\n" "$TOTAL"
-)
+ do_bloatcheck