merge from gcc
[binutils.git] / gas / testsuite / lib / doobjcmp
blob35c32da0de4e03f0ee02fecdf89123beda66d60f
1 #!/bin/sh
2 # compare two object files, in depth.
4 x=$1
5 y=$2
6 BOTH="$1 $2"
9 # if they cmp, we're fine.
10 if (cmp $BOTH > /dev/null)
11 then
12 exit 0
15 # otherwise, we must look closer.
16 if (doboth $BOTH size)
17 then
18 echo Sizes ok.
19 else
20 echo Sizes differ:
21 size $BOTH
22 # exit 1
25 if (doboth $BOTH objdump +header)
26 then
27 echo Headers ok.
28 else
29 echo Header differences.
30 # exit 1
33 if (doboth $BOTH objdump +text > /dev/null)
34 then
35 echo Text ok.
36 else
37 echo Text differences.
38 # doboth $BOTH objdump +text
39 # exit 1
42 if (doboth $BOTH objdump +data > /dev/null)
43 then
44 echo Data ok.
45 else
46 echo Data differences.
47 # doboth $BOTH objdump +data
48 # exit 1
51 if (doboth $BOTH objdump +symbols > /dev/null)
52 then
53 echo Symbols ok.
54 else
55 echo -n Symbol differences...
57 if (doboth $BOTH dounsortsymbols)
58 then
59 echo but symbols are simply ordered differently.
60 # echo Now what to do about relocs'?'
61 # exit 1
62 else
63 echo and symbols differ in content.
64 exit 1
68 # of course, if there were symbol diffs, then the reloc symbol indexes
69 # will be off.
71 if (doboth $BOTH objdump -r > /dev/null)
72 then
73 echo Reloc ok.
74 else
75 echo -n Reloc differences...
77 if (doboth $BOTH dounsortreloc)
78 then
79 echo but relocs are simply ordered differently.
80 else
81 echo and relocs differ in content.
82 exit 1
86 exit
88 # eof