90 lines
1.3 KiB
Plaintext
90 lines
1.3 KiB
Plaintext
|
#!/bin/sh
|
||
|
# $Id: doobjcmp,v 1.1 1993/10/02 21:01:08 pk Exp $
|
||
|
# compare two object files, in depth.
|
||
|
|
||
|
x=$1
|
||
|
y=$2
|
||
|
BOTH="$1 $2"
|
||
|
|
||
|
|
||
|
# if they cmp, we're fine.
|
||
|
if (cmp $BOTH > /dev/null)
|
||
|
then
|
||
|
exit 0
|
||
|
fi
|
||
|
|
||
|
# otherwise, we must look closer.
|
||
|
if (doboth $BOTH size)
|
||
|
then
|
||
|
echo Sizes ok.
|
||
|
else
|
||
|
echo Sizes differ:
|
||
|
size $BOTH
|
||
|
# exit 1
|
||
|
fi
|
||
|
|
||
|
if (doboth $BOTH objdump +header)
|
||
|
then
|
||
|
echo Headers ok.
|
||
|
else
|
||
|
echo Header differences.
|
||
|
# exit 1
|
||
|
fi
|
||
|
|
||
|
if (doboth $BOTH objdump +text > /dev/null)
|
||
|
then
|
||
|
echo Text ok.
|
||
|
else
|
||
|
echo Text differences.
|
||
|
# doboth $BOTH objdump +text
|
||
|
# exit 1
|
||
|
fi
|
||
|
|
||
|
if (doboth $BOTH objdump +data > /dev/null)
|
||
|
then
|
||
|
echo Data ok.
|
||
|
else
|
||
|
echo Data differences.
|
||
|
# doboth $BOTH objdump +data
|
||
|
# exit 1
|
||
|
fi
|
||
|
|
||
|
if (doboth $BOTH objdump +symbols > /dev/null)
|
||
|
then
|
||
|
echo Symbols ok.
|
||
|
else
|
||
|
echo -n Symbol differences...
|
||
|
|
||
|
if (doboth $BOTH dounsortsymbols)
|
||
|
then
|
||
|
echo but symbols are simply ordered differently.
|
||
|
# echo Now what to do about relocs'?'
|
||
|
# exit 1
|
||
|
else
|
||
|
echo and symbols differ in content.
|
||
|
exit 1
|
||
|
fi
|
||
|
fi
|
||
|
|
||
|
# of course, if there were symbol diffs, then the reloc symbol indexes
|
||
|
# will be off.
|
||
|
|
||
|
if (doboth $BOTH objdump -r > /dev/null)
|
||
|
then
|
||
|
echo Reloc ok.
|
||
|
else
|
||
|
echo -n Reloc differences...
|
||
|
|
||
|
if (doboth $BOTH dounsortreloc)
|
||
|
then
|
||
|
echo but relocs are simply ordered differently.
|
||
|
else
|
||
|
echo and relocs differ in content.
|
||
|
exit 1
|
||
|
fi
|
||
|
fi
|
||
|
|
||
|
exit
|
||
|
|
||
|
# eof
|