* config/sh/tm-sh.h (BELIEVE_PCC_PROMOTION): Define, so that
[deliverable/binutils-gdb.git] / ld / testsuite / ld-srec / srec.exp
index 256e7b9616b90f2fa505e76d03924e96e54b0f63..19f58de56f79260a1af38df0aa0a85eb44b10d08 100644 (file)
@@ -212,20 +212,6 @@ proc run_srec_test { test objs } {
 
     set flags ""
 
-    # g++ sometimes generates references to __get_dynamic_handler_chain.
-    set flags "$flags --defsym __get_dynamic_handler_chain=0"
-    set flags "$flags --defsym ___get_dynamic_handler_chain=0"
-
-    # The mn10200 has out of line prologues and epilogues which the
-    # comiler uses when compiling the testcase.   Define them so that
-    # we don't need to bring in libgcc.a
-    if [istarget mn10200-*-*] {
-       set flags "$flags --defsym ___prologue=0"
-       set flags "$flags --defsym ___epilogue_noreturn=0"
-       set flags "$flags --defsym ___epilogue_d0=0"
-       set flags "$flags --defsym ___epilogue_a0=0"
-    }
-
     # If the linker script uses SIZEOF_HEADERS, use a -Ttext argument
     # to force both the normal link and the S-record link to be put in
     # the same place.  We don't always use -Ttext because it interacts
@@ -242,11 +228,43 @@ 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*"
@@ -313,7 +331,27 @@ 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*"
-setup_xfail "arm-*-coff"
+
+# 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"
 
@@ -335,6 +373,16 @@ 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-*-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.034713 seconds and 4 git commands to generate.