From acf11ed1aaeca0ff9d12d415983f8eceff899884 Mon Sep 17 00:00:00 2001 From: Ken Raeburn Date: Mon, 5 Apr 1993 17:25:37 +0000 Subject: from gas/testscripts -- may be useful someday --- gas/testsuite/lib/doboth | 20 ++++++++++ gas/testsuite/lib/doobjcmp | 89 +++++++++++++++++++++++++++++++++++++++++++ gas/testsuite/lib/dostriptest | 15 ++++++++ gas/testsuite/lib/dotest | 44 +++++++++++++++++++++ gas/testsuite/lib/dounsreloc | 9 +++++ gas/testsuite/lib/dounssym | 9 +++++ 6 files changed, 186 insertions(+) create mode 100755 gas/testsuite/lib/doboth create mode 100755 gas/testsuite/lib/doobjcmp create mode 100755 gas/testsuite/lib/dostriptest create mode 100755 gas/testsuite/lib/dotest create mode 100755 gas/testsuite/lib/dounsreloc create mode 100755 gas/testsuite/lib/dounssym (limited to 'gas') diff --git a/gas/testsuite/lib/doboth b/gas/testsuite/lib/doboth new file mode 100755 index 0000000..a8c3358 --- /dev/null +++ b/gas/testsuite/lib/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/testsuite/lib/doobjcmp b/gas/testsuite/lib/doobjcmp new file mode 100755 index 0000000..9fbe46b --- /dev/null +++ b/gas/testsuite/lib/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/testsuite/lib/dostriptest b/gas/testsuite/lib/dostriptest new file mode 100755 index 0000000..4b89df8 --- /dev/null +++ b/gas/testsuite/lib/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/testsuite/lib/dotest b/gas/testsuite/lib/dotest new file mode 100755 index 0000000..8c7a28c --- /dev/null +++ b/gas/testsuite/lib/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/testsuite/lib/dounsreloc b/gas/testsuite/lib/dounsreloc new file mode 100755 index 0000000..d8da0a9 --- /dev/null +++ b/gas/testsuite/lib/dounsreloc @@ -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/testsuite/lib/dounssym b/gas/testsuite/lib/dounssym new file mode 100755 index 0000000..8fb6db3 --- /dev/null +++ b/gas/testsuite/lib/dounssym @@ -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 -- cgit v1.1