21 lines
406 B
Bash
Executable File
21 lines
406 B
Bash
Executable File
#!/bin/bash
|
|
|
|
obj=$1
|
|
dir=/tmp/ctfdwdiff
|
|
mkdir $dir 2> /dev/null
|
|
diff=$dir/$obj.diff
|
|
ctf=$dir/$obj.ctf.c
|
|
dwarf=$dir/$obj.dwarf.c
|
|
pahole -Z $obj
|
|
pahole -F ctf $obj > $ctf
|
|
pahole --flat_arrays \
|
|
--show_private_classes \
|
|
--fixup_silly_bitfields -F dwarf $obj > $dwarf
|
|
diff -up $ctf $dwarf > $diff
|
|
if [ -s $diff ] ; then
|
|
[ $# -gt 1 ] && vim $dir/$obj.diff
|
|
exit 0
|
|
else
|
|
rm -f $diff $ctf $dwarf
|
|
fi
|