diff options
Diffstat (limited to 'gas/testscripts')
-rwxr-xr-x | gas/testscripts/doboth | 20 | ||||
-rwxr-xr-x | gas/testscripts/doobjcmp | 89 | ||||
-rwxr-xr-x | gas/testscripts/dostriptest | 15 | ||||
-rwxr-xr-x | gas/testscripts/dotest | 44 | ||||
-rwxr-xr-x | gas/testscripts/dounsortreloc | 9 | ||||
-rwxr-xr-x | gas/testscripts/dounsortsymbols | 9 |
6 files changed, 186 insertions, 0 deletions
diff --git a/gas/testscripts/doboth b/gas/testscripts/doboth new file mode 100755 index 0000000000..a8c33580bb --- /dev/null +++ b/gas/testscripts/doboth @@ -0,0 +1,20 @@ +#!/bin/sh +# $Id$ + +x=$1 ; shift +y=$1 ; shift + +rm tmp.0 > /dev/null 2>&1 +ln -s $x tmp.0 +$* tmp.0 > tmp.1 + +rm tmp.0 +ln -s $y tmp.0 +$* tmp.0 > tmp.2 + +rm tmp.0 + +diff -c tmp.1 tmp.2 +exit + +#eof diff --git a/gas/testscripts/doobjcmp b/gas/testscripts/doobjcmp new file mode 100755 index 0000000000..9fbe46b13f --- /dev/null +++ b/gas/testscripts/doobjcmp @@ -0,0 +1,89 @@ +#!/bin/sh +# $Id$ +# 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 diff --git a/gas/testscripts/dostriptest b/gas/testscripts/dostriptest new file mode 100755 index 0000000000..4b89df8d2d --- /dev/null +++ b/gas/testscripts/dostriptest @@ -0,0 +1,15 @@ +#!/bin/sh +# $Id$ + +x=striptest.xx.$$ +y=striptest.yy.$$ + +cp $1 $x +strip $x +cp $2 $y +strip $y + +doobjcmp $x $y +exit + +#eof diff --git a/gas/testscripts/dotest b/gas/testscripts/dotest new file mode 100755 index 0000000000..8c7a28c687 --- /dev/null +++ b/gas/testscripts/dotest @@ -0,0 +1,44 @@ +#!/bin/sh +# ad hoc debug tool +# $Id$ + +x=$1 +y=$2 + +xout=`basename $x`.xxx.$$ +yout=`basename $x`.yyy.$$ + +mkdir $xout +mkdir $yout + +for i in *.s +do + echo Testing $i... + object=`basename $i .s`.o + $x $i -o $xout/$object + $y $i -o $yout/$object + +# if they cmp, we're ok. Otherwise we have to look closer. + + if (cmp $xout/$object $yout/$object) + then + echo $i is ok. + else + if (doobjcmp $xout/$object $yout/$object) + then + echo Not the same but objcmp ok. + else + exit 1 + fi + fi + + echo +done + +rm -rf $xout $yout + +exit 0 + +# EOF + + diff --git a/gas/testscripts/dounsortreloc b/gas/testscripts/dounsortreloc new file mode 100755 index 0000000000..d8da0a9d63 --- /dev/null +++ b/gas/testscripts/dounsortreloc @@ -0,0 +1,9 @@ +#!/bin/sh +# $Id$ +# objdump the reloc table, but strip off the headings and reloc +# numbers and sort the result. Intended for use in comparing reloc +# tables that may not be in the same order. + +objdump +reloc +omit-relocation-numbers +omit-symbol-numbers $1 \ + | sort +#eof diff --git a/gas/testscripts/dounsortsymbols b/gas/testscripts/dounsortsymbols new file mode 100755 index 0000000000..8fb6db3f87 --- /dev/null +++ b/gas/testscripts/dounsortsymbols @@ -0,0 +1,9 @@ +#!/bin/sh +# $Id$ +# objdump the symbol table, but strip off the headings and symbol +# numbers and sort the result. Intended for use in comparing symbol +# tables that may not be in the same order. + +objdump +symbols +omit-symbol-numbers $1 \ + | sort +#eof |