* ld-srec/srec.exp: Add setup_xfails for XCOFF targets.
authorIan Lance Taylor <ian@airs.com>
Tue, 19 Dec 1995 23:00:26 +0000 (23:00 +0000)
committerIan Lance Taylor <ian@airs.com>
Tue, 19 Dec 1995 23:00:26 +0000 (23:00 +0000)
ld/testsuite/ChangeLog
ld/testsuite/ld-srec/srec.exp

index b80be4e93ed39251721d1bbdcc76d1a29dec9184..cd77df8d0d4b7fc8636fbeac2a178de2a42cc6bc 100644 (file)
@@ -1,5 +1,14 @@
+Tue Dec 19 18:01:01 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * ld-srec/srec.exp: Add setup_xfails for XCOFF targets.
+
 Fri Dec 15 16:36:17 1995  Ian Lance Taylor  <ian@cygnus.com>
 
+       * ld-srec/srec.exp: On a29k targets, use --defsym to define
+       V_SPILL and V_FILL.
+       * ld-srec/sr1.c (V_SPILL, V_FILL): Remove definitions.
+       * ld-srec/sr3.cc: Likewise.
+
        * ld-srec/srec.exp: Remove i960 COFF setup_xfail.
 
 Sat Dec  2 01:20:31 1995  Ian Lance Taylor  <ian@cygnus.com>
index 38b59eb509c6744cb04256678787f3218cc64190..ce1bda9b13a3f544221129fe6289284cd0d3829c 100644 (file)
@@ -210,19 +210,26 @@ proc run_srec_test { test objs } {
     global sizeof_headers
     global host_triplet
 
+    set flags ""
+
     # 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
     # poorly with a.out.
 
     if { $sizeof_headers } {
-       set targ "-Ttext 0x1000"
-    } else {
-       set targ ""
+       set flags "$flags -Ttext 0x1000"
     }
 
-    if { ![ld_simple_link $ld tmpdir/sr1 "$targ $objs"] \
-        || ![ld_simple_link $ld tmpdir/sr2.sr "$targ -oformat srec $objs"] } {
+    # The a29k compiled code calls V_SPILL and V_FILL.  Since we don't
+    # need to run this code, but we don't have definitions for those
+    # functions, we just define them out.
+    if [istarget a29k*-*-*] {
+       set flags "$flags --defsym V_SPILL=0 --defsym V_FILL=0"
+    }
+
+    if { ![ld_simple_link $ld tmpdir/sr1 "$flags $objs"] \
+        || ![ld_simple_link $ld tmpdir/sr2.sr "$flags -oformat srec $objs"] } {
        fail $test
        return
     }
@@ -283,6 +290,10 @@ setup_xfail "i*86-*-aout*"
 # out.
 setup_xfail "mips*-*-elf*" "mips*-*-irix5*" "mips*-*-irix6*"
 
+# The S-record linker doesn't do the magic TOC handling that XCOFF
+# linkers do.
+setup_xfail "*-*-aix*" "*-*-xcoff*"
+
 run_srec_test $test1 "tmpdir/sr1.o tmpdir/sr2.o"
 
 # Now try linking a C++ program with global constructors and
@@ -302,5 +313,6 @@ 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 "*-*-aix*" "*-*-xcoff*"
 
 run_srec_test $test2 "tmpdir/sr3.o"