dwz/testsuite/scripts/smaller-than.sh

49 lines
625 B
Bash
Executable File

#!/bin/bash
f1=$1
f2=$2
section_size ()
{
local f="$1"
local section="$2"
local s
s=$(readelf -S -W $f \
| grep "\.debug_$section" \
| sed 's/.*\.debug_//' \
| awk '{print $5}')
if [ "$s" = "" ]; then
echo 0
return
fi
# Convert hex to decimal.
s=$(printf "%d" $((16#$s)))
echo $s
}
size ()
{
local f="$1"
local total=0
local section
for section in info abbrev str macro types; do
total=$(($total + $(section_size $f $section)))
done
echo $total
}
s1=$(size $f1)
s2=$(size $f2)
if [ $s1 -ge $s2 ]; then
exit 1
fi
exit 0