12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- #!/bin/sh
- # 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
|