mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-07-24 01:51:54 +08:00
from gas/testscripts -- may be useful someday
This commit is contained in:
20
gas/testsuite/lib/doboth
Executable file
20
gas/testsuite/lib/doboth
Executable 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
89
gas/testsuite/lib/doobjcmp
Executable 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
15
gas/testsuite/lib/dostriptest
Executable 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
44
gas/testsuite/lib/dotest
Executable 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
9
gas/testsuite/lib/dounsreloc
Executable 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
9
gas/testsuite/lib/dounssym
Executable 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
|
Reference in New Issue
Block a user