from gas/testscripts -- may be useful someday

This commit is contained in:
Ken Raeburn 1993-04-05 17:25:37 +00:00
parent d5bc321563
commit acf11ed1aa
6 changed files with 186 additions and 0 deletions

20
gas/testsuite/lib/doboth Executable file
View File

@ -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

89
gas/testsuite/lib/doobjcmp Executable file
View File

@ -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

15
gas/testsuite/lib/dostriptest Executable file
View File

@ -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

44
gas/testsuite/lib/dotest Executable file
View File

@ -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

9
gas/testsuite/lib/dounsreloc Executable file
View File

@ -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

9
gas/testsuite/lib/dounssym Executable file
View File

@ -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