diff options
Diffstat (limited to 'ld')
-rw-r--r-- | ld/testsuite/ChangeLog | 9 | ||||
-rw-r--r-- | ld/testsuite/ld-srec/.Sanitize | 34 | ||||
-rw-r--r-- | ld/testsuite/ld-srec/srec.exp | 49 |
3 files changed, 91 insertions, 1 deletions
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index 8e571e0..f178ae6 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,12 @@ +Wed Aug 19 11:59:19 1998 Nick Clifton <nickc@cygnus.com> + + * ld-srec/srec.exp: Add arm/thumb-elf expected failures. + +Thu Aug 13 12:41:58 1998 Ian Lance Taylor <ian@cygnus.com> + + * ld-bootstrap/bootstrap.exp: Don't run the --static bootstrap + test if we don't have a static libbfd.a. + Wed Aug 12 15:19:35 1998 Ian Lance Taylor <ian@cygnus.com> Based on patch from H.J. Lu <hjl@gnu.org>: diff --git a/ld/testsuite/ld-srec/.Sanitize b/ld/testsuite/ld-srec/.Sanitize index 19e17bf..954ac1a 100644 --- a/ld/testsuite/ld-srec/.Sanitize +++ b/ld/testsuite/ld-srec/.Sanitize @@ -36,4 +36,38 @@ Things-to-lose: Do-last: +armelf_files="srec.exp" +if ( echo $* | grep keep\-armelf > /dev/null ) ; then + for i in $armelf_files ; do + if test ! -d $i && (grep sanitize-armelf $i > /dev/null) ; then + if [ -n "${verbose}" ] ; then + echo Keeping armelf stuff in $i + fi + fi + done +else + for i in $armelf_files ; do + if test ! -d $i && (grep sanitize-armelf $i > /dev/null) ; then + if [ -n "${verbose}" ] ; then + echo Removing traces of \"armelf\" from $i... + fi + cp $i new + sed '/start\-sanitize\-armelf/,/end-\sanitize\-armelf/d' < $i > new + if [ -n "${safe}" -a ! -f .Recover/$i ] ; then + if [ -n "${verbose}" ] ; then + echo Caching $i in .Recover... + fi + mv $i .Recover + fi + mv new $i + fi + done +fi + +for i in * ; do + if test ! -d $i && (grep sanitize $i > /dev/null) ; then + echo '***' Some mentions of Sanitize are still left in $i! 1>&2 + fi +done + #eof diff --git a/ld/testsuite/ld-srec/srec.exp b/ld/testsuite/ld-srec/srec.exp index 7a52c89..f9436e6 100644 --- a/ld/testsuite/ld-srec/srec.exp +++ b/ld/testsuite/ld-srec/srec.exp @@ -235,7 +235,12 @@ proc run_srec_test { test objs } { if [istarget arm-*-pe] { set flags "$flags --defsym ___gccmain=0" } - + # start-sanitize-armelf + if [istarget arm-*-elf] { + set flags "$flags --defsym ___gccmain=0" + } + # end-sanitize-armelf + # Thumb targets call __gccmain if [istarget thumb-*-coff] { set flags "$flags --defsym ___gccmain=0" @@ -243,6 +248,11 @@ proc run_srec_test { test objs } { if [istarget thumb-*-pe] { set flags "$flags --defsym ___gccmain=0" } + # start-sanitize-armelf + if [istarget thumb-*-*] { + set flags "$flags --defsym ___gccmain=0" + } + # end-sanitize-armelf # PowerPC EABI code calls __eabi. if [istarget powerpc*-*-eabi*] { @@ -254,6 +264,11 @@ proc run_srec_test { test objs } { set flags "$flags --defsym __truncsipsi2_d0_d2=0" } + # V850 targets need libgcc.a + if [istarget v850*-*-elf] { + set objs "$objs -L ../gcc -lgcc" + } + if { ![ld_simple_link $ld tmpdir/sr1 "$flags $objs"] \ || ![ld_simple_link $ld tmpdir/sr2.sr "$flags -oformat srec $objs"] } { setup_xfail "hppa*-*-*elf*" @@ -322,11 +337,30 @@ setup_xfail "mips*-*-irix5*" "mips*-*-irix6*" setup_xfail "*-*-aix*" "*-*-xcoff*" # The S-record linker doesn't build ARM/Thumb stubs. +setup_xfail "arm-*-coff*" +setup_xfail "arm-*-pe*" +# start-sanitize-armelf +setup_xfail "arm-*elf*" +# end-sanitize-armelf setup_xfail "thumb-*-coff*" +setup_xfail "thumb-*-pe*" +# start-sanitize-armelf +setup_xfail "thumb-*-elf*" +# end-sanitize-armelf # The S-record linker doesn't build special EABI sections. setup_xfail "powerpc*-*-eabi*" +# The S-record linker doesn't include the .got section. +setup_xfail "powerpc*-*-linux*" + +# The S-record linker doesn't include the .{zda} sections. +setup_xfail "v850*-*-elf" + +# The S-record linker doesn't handle Alpha Elf relaxation. +setup_xfail "alpha*-*-elf*" "alpha*-*-linux-gnu*" "alpha*-*-gnu*" +setup_xfail "alpha*-*-netbsd*" + run_srec_test $test1 "tmpdir/sr1.o tmpdir/sr2.o" # Now try linking a C++ program with global constructors and @@ -347,7 +381,20 @@ if ![ld_compile "$CXX $CXXFLAGS -fgnu-linker" $srcdir/$subdir/sr3.cc tmpdir/sr3. setup_xfail "i*86-*-aout*" setup_xfail "mips*-*-irix5*" "mips*-*-irix6*" setup_xfail "*-*-aix*" "*-*-xcoff*" +setup_xfail "arm-*-coff*" +setup_xfail "arm-*-pe*" +# start-sanitize-armelf +setup_xfail "arm-*-elf*" +# end-sanitize-armelf setup_xfail "thumb-*-coff*" +setup_xfail "thumb-*-pe*" +# start-sanitize-armelf +setup_xfail "thumb-*-elf*" +# end-sanitize-armelf setup_xfail "powerpc*-*-eabi*" +setup_xfail "powerpc*-*-linux*" +setup_xfail "v850*-*-elf" +setup_xfail "alpha*-*-elf*" "alpha*-*-linux-gnu*" "alpha*-*-gnu*" +setup_xfail "alpha*-*-netbsd*" run_srec_test $test2 "tmpdir/sr3.o" |