Patch: add gc-sections warning and H8 support

Alan Modra amodra@bigpond.net.au
Fri Jan 2 08:35:00 GMT 2004


Adding the warning caused ld testsuite failures on some targets that
don't support --gc-sections.

ld/testsuite/ChangeLog
	* ld-selective/sel-dump.exp: Use is_elf_format, xfail assorted targets.
	* ld-selective/selective.exp: Likewise.

Index: ld/testsuite/ld-selective/sel-dump.exp
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-selective/sel-dump.exp,v
retrieving revision 1.3
diff -u -p -r1.3 sel-dump.exp
--- ld/testsuite/ld-selective/sel-dump.exp	10 Aug 2002 12:48:52 -0000	1.3
+++ ld/testsuite/ld-selective/sel-dump.exp	2 Jan 2004 07:57:24 -0000
@@ -17,24 +17,15 @@
 
 # Test for ELF here, so we don't have to qualify on ELF specifically
 # in every .d-file.
-
-if { ![istarget *-*-linux*]
-     && ![istarget *-*-gnu]
-     && ![istarget hppa*64*-*-hpux*]
-     && ![istarget *-*-elf] } {
+if ![is_elf_format] {
     return
 }
 
-if { [istarget *-*-linux*aout*] \
-     || [istarget *-*-linux*oldld*] } {
-    return
-}
-
-load_lib ld-lib.exp
-
 set test_list [lsort [glob -nocomplain $srcdir/$subdir/*.d]]
 for { set i 0 } { $i < [llength $test_list] } { incr i } {
     # We need to strip the ".d", but can leave the dirname.
     verbose [file rootname [lindex $test_list $i]]
+    setup_xfail "alpha*-*" "arc*-*" "d30v*-*" "dlx*-*" "i370*-*" "i860*-*"
+    setup_xfail "i960*-*" "ia64*-*" "mn10200-*" "or32-*" "pj-*" "sparc64*-*"
     run_dump_test [file rootname [lindex $test_list $i]]
 }
Index: ld/testsuite/ld-selective/selective.exp
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-selective/selective.exp,v
retrieving revision 1.28
diff -u -p -r1.28 selective.exp
--- ld/testsuite/ld-selective/selective.exp	22 Jul 2003 14:58:35 -0000	1.28
+++ ld/testsuite/ld-selective/selective.exp	2 Jan 2004 07:57:24 -0000
@@ -18,34 +18,8 @@
 # Written by Catherine Moore (clm@cygnus.com)
 # Make sure that constructors are handled correctly.
 
-
-# AOUT based ports do not support selective linking
-if {[istarget "*-*-*aout*"] \
-    || [istarget "*-*-*bout*"] \
-    || [istarget "vax-*-ultrix*"]} {
-    return
-}
-
-# COFF based ports do not support selective linking
-if {[istarget "*-*-coff"]} {
-    return
-}
-if {[istarget "*-*-pe"]} {
-    return
-}
-
-# Alpha does not support selective linking
-if {[istarget "alpha*-*-*"]} {
-    return
-}
-
-# IA64 does not support selective linking
-if {[istarget "ia64-*-*"]} {
-    return
-}
-
-# s390 does not support selective linking
-if {[istarget "s390*-*-*"]} {
+# Only ELF based ports support selective linking
+if ![is_elf_format] {
     return
 }
 
@@ -60,11 +34,11 @@ if {[istarget "s390*-*-*"]} {
 #
 # FIXME: Instead of table, read settings from each source-file.
 set seltests {
-  {selective1 C   1.c  {}       {}    {dropme1 dropme2} {alpha*-*}}
-  {selective2 C   2.c  {}       {}    {foo} {alpha*-* mips*-*}}
+  {selective1 C   1.c  {}       {}    {dropme1 dropme2} {}}
+  {selective2 C   2.c  {}       {}    {foo} {mips*-*}}
   {selective3 C   2.c  {-u foo} {foo} {{foo 0}} {mips*-*}}
-  {selective4 C++ 3.cc {}       {start a A::foo() B::foo()} {A::bar()} {alpha*-*  mips*-*}}
-  {selective5 C++ 4.cc {}       {start a A::bar()} {A::foo() B::foo()} {alpha*-*  mips*-*}}
+  {selective4 C++ 3.cc {}       {start a A::foo() B::foo()} {A::bar()} {mips*-*}}
+  {selective5 C++ 4.cc {}       {start a A::bar()} {A::foo() B::foo()} {mips*-*}}
   {selective6 C++ 5.cc {}       {start a A::bar()}
     {A::foo() B::foo() dropme1() dropme2()} {*-*-*}}
 }
@@ -104,6 +78,8 @@ foreach testitem $seltests {
     foreach xfail_target $xfails {
 	setup_xfail $xfail_target
     }
+    setup_xfail "alpha*-*" "arc*-*" "d30v*-*" "dlx*-*" "i370*-*" "i860*-*"
+    setup_xfail "i960*-*" "ia64*-*" "mn10200-*" "or32-*" "pj-*" "sparc64*-*"
 
     # It's either C or C++ at the moment.
     if { $testtype == "C++" } {

-- 
Alan Modra
IBM OzLabs - Linux Technology Centre



More information about the Binutils mailing list