* config/sh/tm-sh.h (BELIEVE_PCC_PROMOTION): Define, so that
[deliverable/binutils-gdb.git] / ld / testsuite / ld-srec / srec.exp
index ce1bda9b13a3f544221129fe6289284cd0d3829c..19f58de56f79260a1af38df0aa0a85eb44b10d08 100644 (file)
@@ -228,8 +228,46 @@ proc run_srec_test { test objs } {
        set flags "$flags --defsym V_SPILL=0 --defsym V_FILL=0"
     }
 
+    # ARM targets call __gccmain
+    if [istarget arm-*-coff] {
+       set flags "$flags --defsym ___gccmain=0"
+    }
+    if [istarget arm-*-pe] {
+       set flags "$flags --defsym ___gccmain=0"
+    }
+    if [istarget arm-*-elf] {
+       set flags "$flags --defsym ___gccmain=0"
+    }
+    
+    # Thumb targets call __gccmain
+    if [istarget thumb-*-coff] {
+       set flags "$flags --defsym ___gccmain=0"
+    }
+    if [istarget thumb-*-pe] {
+       set flags "$flags --defsym ___gccmain=0"
+    }
+    if [istarget thumb-*-*] {
+       set flags "$flags --defsym ___gccmain=0"
+    }
+
+    # PowerPC EABI code calls __eabi.
+    if [istarget powerpc*-*-eabi*] {
+       set flags "$flags --defsym __eabi=0"
+    }
+
+    # mn10200 code calls __truncsipsi2_d0_d2.
+    if {[istarget mn10200*-*-*]} then {
+       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*"
        fail $test
        return
     }
@@ -237,7 +275,7 @@ proc run_srec_test { test objs } {
     send_log "$objcopy -O srec tmpdir/sr1 tmpdir/sr1.sr\n"
     verbose "$objcopy -O srec tmpdir/sr1 tmpdir/sr1.sr"
     catch "exec $objcopy -O srec tmpdir/sr1 tmpdir/sr1.sr" exec_output
-    set exec_output [prune_system_crud $host_triplet $exec_output]
+    set exec_output [prune_warnings $exec_output]
     if ![string match "" $exec_output] {
        send_log "$exec_output\n"
        verbose "$exec_output"
@@ -285,15 +323,36 @@ if { ![ld_compile $CC $srcdir/$subdir/sr1.c tmpdir/sr1.o] \
 # sections where objdump finds them.  I don't know which is wrong.
 setup_xfail "i*86-*-aout*"
 
-# These tests fail on the MIPS ELF target because the GP value in the
-# .reginfo section is not updated when the S-record version is written
-# out.
-setup_xfail "mips*-*-elf*" "mips*-*-irix5*" "mips*-*-irix6*"
+# These tests fail on the native MIPS ELF targets because the GP value
+# in the .reginfo section is not updated when the S-record version is
+# written out.  The mips-elf target itself does not use a .reginfo section.
+setup_xfail "mips*-*-irix5*" "mips*-*-irix6*"
 
 # The S-record linker doesn't do the magic TOC handling that XCOFF
 # linkers do.
 setup_xfail "*-*-aix*" "*-*-xcoff*"
 
+# The S-record linker doesn't build ARM/Thumb stubs.
+setup_xfail "arm-*-coff*"
+setup_xfail "arm-*-pe*"
+setup_xfail "arm-*elf*"
+setup_xfail "thumb-*-coff*"
+setup_xfail "thumb-*-pe*"
+setup_xfail "thumb-*-elf*"
+
+# 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
@@ -312,7 +371,18 @@ if ![ld_compile "$CXX $CXXFLAGS -fgnu-linker" $srcdir/$subdir/sr3.cc tmpdir/sr3.
 
 # See above.
 setup_xfail "i*86-*-aout*"
-setup_xfail "mips*-*-elf*" "mips*-*-irix5*" "mips*-*-irix6*"
+setup_xfail "mips*-*-irix5*" "mips*-*-irix6*"
 setup_xfail "*-*-aix*" "*-*-xcoff*"
+setup_xfail "arm-*-coff*"
+setup_xfail "arm-*-pe*"
+setup_xfail "arm-*-elf*"
+setup_xfail "thumb-*-coff*"
+setup_xfail "thumb-*-pe*"
+setup_xfail "thumb-*-elf*"
+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"
This page took 0.025966 seconds and 4 git commands to generate.