* lib/ld-lib.exp (check_gc_sections_available): Fail more targets.
authorAlan Modra <amodra@gmail.com>
Sat, 18 Sep 2010 02:30:41 +0000 (02:30 +0000)
committerAlan Modra <amodra@gmail.com>
Sat, 18 Sep 2010 02:30:41 +0000 (02:30 +0000)
* ld-discard/discard.exp: Move xfails from here..
* ld-discard/extern.d: ..to here.
* ld-discard/start.d: ..and here.
* ld-discard/static.d: ..and here.
* ld-elf/binutils.exp: Don't run tbss1 and tbss2 tests on hppa64.
* ld-elf/empty2.d: Remove xfails.
* ld-elf/flags1.d: xfail hppa64.
* ld-elf/group1.d: Add comment.
* ld-elf/group2.d: xfail cr16 and crx.
* ld-elf/group3b.d: Correct xfail and add comment.
* ld-elf/group4.d: xfail cr16 and crx.
* ld-elf/group5.d: Likewise.
* ld-elf/group6.d: Likewise.
* ld-elf/group7.d: Likewise.
* ld-elf/group8a.d: Add more notarget and xfail entries.  Comment.
* ld-elf/group8b.d: Likewise.
* ld-elf/group9a.d: Likewise.
* ld-elf/group9b.d: Likewise.
* ld-elf/linkonce2.d: Correct notarget and comment.
* ld-elf/merge2.d: Remove iq2000 from xfail.
* ld-elf/multibss1.d: xfail hppa64.
* ld-elf/nobits-1.d: Likewise.
* ld-elf/note-1.d: Likewise.
* ld-elf/note-2.d: Likewise.
* ld-elf/orphan-region.d: Add xfails.
* ld-elf/orphan-region.ld: Discard some sections.
* ld-elf/orphan.d: Add xfails.
* ld-elf/orphan.ld: Discard some sections.
* ld-elf/orphan3.d: Replace xfail frv-*-* with frv-*-elf.  Remove
cr16, crx and d10v.
* ld-elf/pr349.d: Add xfails.
* ld-elf/warn2.d: Add xfails.  Tweak symbol section for hppa64.
* ld-scripts/rgn-at5.t: Discard .reginfo.

34 files changed:
ld/testsuite/ChangeLog
ld/testsuite/ld-discard/discard.exp
ld/testsuite/ld-discard/extern.d
ld/testsuite/ld-discard/start.d
ld/testsuite/ld-discard/static.d
ld/testsuite/ld-elf/binutils.exp
ld/testsuite/ld-elf/empty2.d
ld/testsuite/ld-elf/flags1.d
ld/testsuite/ld-elf/group1.d
ld/testsuite/ld-elf/group2.d
ld/testsuite/ld-elf/group3b.d
ld/testsuite/ld-elf/group4.d
ld/testsuite/ld-elf/group5.d
ld/testsuite/ld-elf/group6.d
ld/testsuite/ld-elf/group7.d
ld/testsuite/ld-elf/group8a.d
ld/testsuite/ld-elf/group8b.d
ld/testsuite/ld-elf/group9a.d
ld/testsuite/ld-elf/group9b.d
ld/testsuite/ld-elf/linkonce2.d
ld/testsuite/ld-elf/merge2.d
ld/testsuite/ld-elf/multibss1.d
ld/testsuite/ld-elf/nobits-1.d
ld/testsuite/ld-elf/note-1.d
ld/testsuite/ld-elf/note-2.d
ld/testsuite/ld-elf/orphan-region.d
ld/testsuite/ld-elf/orphan-region.ld
ld/testsuite/ld-elf/orphan.d
ld/testsuite/ld-elf/orphan.ld
ld/testsuite/ld-elf/orphan3.d
ld/testsuite/ld-elf/pr349.d
ld/testsuite/ld-elf/warn2.d
ld/testsuite/ld-scripts/rgn-at5.t
ld/testsuite/lib/ld-lib.exp

index 7092f9870414f1bf03fbf9c62449ec72aca66a67..0c0729a95af09b65fae21ec04739b7bfd9a93888 100644 (file)
@@ -1,3 +1,40 @@
+2010-09-18  Alan Modra  <amodra@gmail.com>
+
+       * lib/ld-lib.exp (check_gc_sections_available): Fail more targets.
+       * ld-discard/discard.exp: Move xfails from here..
+       * ld-discard/extern.d: ..to here.
+       * ld-discard/start.d: ..and here.
+       * ld-discard/static.d: ..and here.
+       * ld-elf/binutils.exp: Don't run tbss1 and tbss2 tests on hppa64.
+       * ld-elf/empty2.d: Remove xfails.
+       * ld-elf/flags1.d: xfail hppa64.
+       * ld-elf/group1.d: Add comment.
+       * ld-elf/group2.d: xfail cr16 and crx.
+       * ld-elf/group3b.d: Correct xfail and add comment.
+       * ld-elf/group4.d: xfail cr16 and crx.
+       * ld-elf/group5.d: Likewise.
+       * ld-elf/group6.d: Likewise.
+       * ld-elf/group7.d: Likewise.
+       * ld-elf/group8a.d: Add more notarget and xfail entries.  Comment.
+       * ld-elf/group8b.d: Likewise.
+       * ld-elf/group9a.d: Likewise.
+       * ld-elf/group9b.d: Likewise.
+       * ld-elf/linkonce2.d: Correct notarget and comment.
+       * ld-elf/merge2.d: Remove iq2000 from xfail.
+       * ld-elf/multibss1.d: xfail hppa64.
+       * ld-elf/nobits-1.d: Likewise.
+       * ld-elf/note-1.d: Likewise.
+       * ld-elf/note-2.d: Likewise.
+       * ld-elf/orphan-region.d: Add xfails.
+       * ld-elf/orphan-region.ld: Discard some sections.
+       * ld-elf/orphan.d: Add xfails.
+       * ld-elf/orphan.ld: Discard some sections.
+       * ld-elf/orphan3.d: Replace xfail frv-*-* with frv-*-elf.  Remove
+       cr16, crx and d10v.
+       * ld-elf/pr349.d: Add xfails.
+       * ld-elf/warn2.d: Add xfails.  Tweak symbol section for hppa64.
+       * ld-scripts/rgn-at5.t: Discard .reginfo.
+
 2010-09-16  Alan Modra  <amodra@gmail.com>
 
        * ld-elf/orphan-region.d: xfail for spu.
index 2131ffeb4d8e8dd3874debce68759d88bc27d172..deb5dfdefb38e80810cda8a22b5a5c826b90a23b 100644 (file)
@@ -43,8 +43,5 @@ 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]]
-    # These fail because they use the generic linker.
-    setup_xfail "arc-*" "d30v-*" "dlx-*" "i960-*" "m6812-*" "m68hc12-*"
-    setup_xfail "or32-*" "pj-*"
     run_dump_test [file rootname [lindex $test_list $i]]
 }
index 903379209bdc91556511ef0786eae201644a2ae4..bb596d5c6c3a8646e4196b326d7e77315c9c7335 100644 (file)
@@ -2,6 +2,8 @@
 #ld: -T discard.ld
 #error: .*data.* referenced in section `\.text' of tmpdir/dump0.o: defined in discarded section `\.data\.exit' of tmpdir/dump0.o
 #objdump: -p
+#xfail: arc-*-* d30v-*-* dlx-*-* i960-*-* or32-*-* pj*-*-*
+#xfail: m68hc12-*-* m6812-*-*
 #pass
 # The expected warning used to start with "`data' referenced..." but
 # this has two problems: 1) It does not include the name of the linker
index 5c685e810410fc54ee69103d35254c6b35b3af22..06207ee4050bd28854a35680f0457f08dafede63 100644 (file)
@@ -3,4 +3,6 @@
 #ld: -T discard.ld
 #error: `data' referenced in section `\.text' of tmpdir/dump0.o: defined in discarded section `\.data\.exit' of tmpdir/dump1.o
 #objdump: -p
+#xfail: arc-*-* d30v-*-* dlx-*-* i960-*-* or32-*-* pj*-*-*
+#xfail: m68hc12-*-* m6812-*-*
 #pass
index 3b5255bce3a29a00b388123542b8620a63b5ad43..b001d72b8f5b53d8aafb8d1048ea66e8f9bb9a61 100644 (file)
@@ -2,4 +2,6 @@
 #ld: -T discard.ld
 #error: `(\.data\.exit|data)' referenced in section `\.text' of tmpdir/dump0.o: defined in discarded section `\.data\.exit' of tmpdir/dump0.o
 #objdump: -p
+#xfail: arc-*-* d30v-*-* dlx-*-* i960-*-* or32-*-* pj*-*-*
+#xfail: m68hc12-*-* m6812-*-*
 #pass
index 8eba578f3087e246b7f57353a80f3af47a0513a3..422c5d71ba923ea3e82252048755815a8f29dbc1 100644 (file)
@@ -120,24 +120,31 @@ if { ([istarget "i?86-*-elf*"]
 
 binutils_test strip "-T ${srcdir}/${subdir}/lma.lnk" lma
 
-binutils_test objcopy "" tbss1
-binutils_test objcopy "-z relro" tbss1
-binutils_test objcopy "-shared" tbss1
-binutils_test objcopy "-shared -z relro" tbss1
-binutils_test objcopy "-z max-page-size=0x100000" tbss1
-binutils_test objcopy "-z max-page-size=0x100000 -z common-page-size=0x1000" tbss1
+# hppa64 has its own .tbss section, with different flags.
+if { ![istarget "hppa64-*-*"] } {
+    binutils_test objcopy "" tbss1
+    binutils_test objcopy "-z relro" tbss1
+    binutils_test objcopy "-shared" tbss1
+    binutils_test objcopy "-shared -z relro" tbss1
+    binutils_test objcopy "-z max-page-size=0x100000" tbss1
+    binutils_test objcopy "-z max-page-size=0x100000 -z common-page-size=0x1000" tbss1
+}
+
 binutils_test objcopy "" tdata1
 binutils_test objcopy "-z relro" tdata1
 binutils_test objcopy "-shared" tdata1
 binutils_test objcopy "-shared -z relro" tdata1
 binutils_test objcopy "-z max-page-size=0x100000" tdata1
 binutils_test objcopy "-z max-page-size=0x100000 -z common-page-size=0x1000" tdata1
-binutils_test objcopy "" tbss2
-binutils_test objcopy "-z relro" tbss2
-binutils_test objcopy "-shared" tbss2
-binutils_test objcopy "-shared -z relro" tbss2
-binutils_test objcopy "-z max-page-size=0x100000" tbss2
-binutils_test objcopy "-z max-page-size=0x100000 -z common-page-size=0x1000" tbss2
+
+if { ![istarget "hppa64-*-*"] } {
+    binutils_test objcopy "" tbss2
+    binutils_test objcopy "-z relro" tbss2
+    binutils_test objcopy "-shared" tbss2
+    binutils_test objcopy "-shared -z relro" tbss2
+    binutils_test objcopy "-z max-page-size=0x100000" tbss2
+    binutils_test objcopy "-z max-page-size=0x100000 -z common-page-size=0x1000" tbss2
+}
 
 binutils_test objcopy "" tdata2
 binutils_test objcopy "-z relro" tdata2
index bf6e3438d3e529b21ac61b3dce4ccd186b01f8cf..d91569ec6fd47365b340f1274da215d329f52497 100644 (file)
@@ -1,7 +1,6 @@
 #source: empty2.s
 #ld:
 #readelf: -s
-#xfail: "d30v-*-*" "dlx-*-*" "i960-*-*" "or32-*-*" "pj-*-*"
 
 #...
 [      ]+[0-9]+:[      ]+0+[   ]+0[    ]+FILE[  ]+LOCAL[       ]+DEFAULT[      ]+ABS empty2.s
index 35ad981cbad322622986eb25139965b58b649f10..502a42d20942963c12451a1b151273dd9bbfdf01 100644 (file)
@@ -4,12 +4,13 @@
 #readelf: -l --wide
 #xfail: "arm*-*-*" "xscale-*-*"
 #xfail: "avr-*-*" "dlx-*-*" "h8300-*-*" "m32r-*-*" "msp430-*-*" "tic6x-*-*"
-#xfail: "*-*-hpux*"
+#xfail: "*-*-hpux*" "hppa*64*-*-*"
 # Fails on the ARM because the .section type character is % rather than @.
 # Fails on the AVR, DLX, H8300, M32R, MSP430 and TI C6X because the two
 #  sections are not merged into one segment.  (There is no good reason why
 #  they have to be).
 # Fails on HPUX systems because the .type pseudo-op behaves differently.
+# Fails on hppa64 because a PHDR is always added.
 
 #...
 Program Headers:
index 4c9558b4baae9c455a65351716a258472cb46576..6ee74cb4041b631abd1670a2802e330cb53a3cfb 100644 (file)
@@ -2,7 +2,9 @@
 #source: group1b.s
 #ld: -T group.ld
 #readelf: -s
-#xfail: "arc-*-*" "d30v-*-*" "dlx-*-*" "i960-*-*" "or32-*-*" "pj-*-*"
+#xfail: arc-*-* d30v-*-* dlx-*-* i960-*-* or32-*-* pj*-*-*
+# generic linker targets don't comply with all symbol merging rules
+
 Symbol table '.symtab' contains .* entries:
 #...
 .*: 0+1000 +0 +(NOTYPE|OBJECT) +WEAK +DEFAULT +. foo
index b4d0b819a23cf1957acacfe2260ebeda2464250e..f914930c3a9bdd49f5f6b88ae80b54cb03842f03 100644 (file)
@@ -1,6 +1,9 @@
 #source: ../../../binutils/testsuite/binutils-all/group.s
 #ld: -r
 #readelf: -Sg --wide
+#xfail: cr16-*-* crx-*-*
+# cr16 and crx use non-standard scripts with memory regions, which don't play
+# well with unique group sections under ld -r.
 
 #...
   \[[ 0-9]+\] foo_group[ \t]+GROUP[ \t]+.*
index f2f663c472ed61a3e29c7cdabb8c9a8957b4bf4b..1b8a2a2d486970d5ecbecb086d7c5dbdb544a279 100644 (file)
@@ -2,7 +2,8 @@
 #source: group3a.s
 #ld: -T group.ld
 #readelf: -s
-#notarget arc-*-* d30v-*-* dlx-*-* i960-*-* or32-*-* pj*-*-*
+#xfail: arc-*-* d30v-*-* dlx-*-* i960-*-* or32-*-* pj*-*-*
+# generic linker targets don't comply with all symbol merging rules
 
 Symbol table '.symtab' contains .* entries:
 #...
index 92a54bd91542b20b68f76ff3741e65ad932ded16..068279663e8b05afcf25deada1d8b262ac1c2739 100644 (file)
@@ -1,6 +1,9 @@
 #source: ../../../binutils/testsuite/binutils-all/group-2.s
 #ld: -r
 #readelf: -Sg --wide
+#xfail: cr16-*-* crx-*-*
+# cr16 and crx use non-standard scripts with memory regions, which don't play
+# well with unique group sections under ld -r.
 
 #...
   \[[ 0-9]+\] .group[ \t]+GROUP[ \t]+.*
index 7d6eff61d09e6e6e4a54b7ea36c7d80072ac90d2..773fda69e9c794f76826692548763499ad4fc3e8 100644 (file)
@@ -1,6 +1,9 @@
 #source: ../../../binutils/testsuite/binutils-all/group-3.s
 #ld: -r
 #readelf: -Sg --wide
+#xfail: cr16-*-* crx-*-*
+# cr16 and crx use non-standard scripts with memory regions, which don't play
+# well with unique group sections under ld -r.
 
 #...
   \[[ 0-9]+\] .group[ \t]+GROUP[ \t]+.*
index b1134146e6ad40fb5912cbfaed3121510ba6ba00..56601930fa3f94e7d9d260ccfe58601429bfe34e 100644 (file)
@@ -1,6 +1,9 @@
 #source: ../../../binutils/testsuite/binutils-all/group-4.s
 #ld: -r
 #readelf: -Sg --wide
+#xfail: cr16-*-* crx-*-*
+# cr16 and crx use non-standard scripts with memory regions, which don't play
+# well with unique group sections under ld -r.
 
 #...
   \[[ 0-9]+\] .group[ \t]+GROUP[ \t]+.*
index bfd1f3fbbb860eae556340e28790d29dee8511a1..401836aaa6bc35342104606992c6abc140c1e04d 100644 (file)
@@ -4,6 +4,9 @@
 #source: ../../../binutils/testsuite/binutils-all/group-4.s
 #ld: -r
 #readelf: -g --wide
+#xfail: cr16-*-* crx-*-*
+# cr16 and crx use non-standard scripts with memory regions, which don't play
+# well with unique group sections under ld -r.
 
 #...
 COMDAT group section \[[ 0-9]+\] `foo_group' \[foo_group\] contains 2 sections:
index 455e02ff87ac3d6fa409b9a354e72a3053a8274b..ce40a383dbdeac6e662801f608574d95b218c730 100644 (file)
@@ -1,8 +1,12 @@
 #source: group8.s
 #ld: -r --gc-sections --entry foo
 #readelf: -g --wide
-#notarget: ia64-*-* mep-*-*
-#xfail: dlx-*-* openrisc-*-* or32-*-* alpha-*-* arc-*-* hppa64-*-*
+#notarget: arc-*-* d30v-*-* dlx-*-* i960-*-* or32-*-* pj*-*-*
+#notarget: alpha-*-* hppa64-*-* i370-*-* i860-*-* ia64-*-* mep-*-* mn10200-*-*
+#xfail: cr16-*-* crx-*-*
+# generic linker targets don't support --gc-sections, nor do a bunch of others
+# cr16 and crx use non-standard scripts with memory regions, which don't play
+# well with unique group sections under ld -r.
 
 COMDAT group section \[[ 0-9]+\] `.group' \[foo\] contains 1 sections:
    \[Index\]    Name
index 6e88454c088c4619b0dba6641ae0b59eaf2f12cd..bb928c58cf7717c5d35a427db7d664ccf02a5515 100644 (file)
@@ -1,8 +1,12 @@
 #source: group8.s
 #ld: -r --gc-sections --entry bar
 #readelf: -g --wide
-#notarget: ia64-*-* mep-*-*
-#xfail: dlx-*-* openrisc-*-* or32-*-* alpha-*-* arc-*-* hppa64-*-*
+#notarget: arc-*-* d30v-*-* dlx-*-* i960-*-* or32-*-* pj*-*-*
+#notarget: alpha-*-* hppa64-*-* i370-*-* i860-*-* ia64-*-* mep-*-* mn10200-*-*
+#xfail: cr16-*-* crx-*-*
+# generic linker targets don't support --gc-sections, nor do a bunch of others
+# cr16 and crx use non-standard scripts with memory regions, which don't play
+# well with unique group sections under ld -r.
 
 COMDAT group section \[[ 0-9]+\] `.group' \[bar\] contains 1 sections:
    \[Index\]    Name
index 1410ea5daef87232ee33637301bb31634382f896..fd04c480c75639ec0a9352c99bb652bab653147d 100644 (file)
@@ -1,8 +1,12 @@
 #source: group9.s
 #ld: -r --gc-sections --entry foo
 #readelf: -g --wide
-#notarget: ia64-*-* mep-*-*
-#xfail: dlx-*-* openrisc-*-* or32-*-* alpha-*-* arc-*-*
+#notarget: arc-*-* d30v-*-* dlx-*-* i960-*-* or32-*-* pj*-*-*
+#notarget: alpha-*-* hppa64-*-* i370-*-* i860-*-* ia64-*-* mep-*-* mn10200-*-*
+#xfail: cr16-*-* crx-*-*
+# generic linker targets don't support --gc-sections, nor do a bunch of others
+# cr16 and crx use non-standard scripts with memory regions, which don't play
+# well with unique group sections under ld -r.
 
 COMDAT group section \[[ 0-9]+\] `.group' \[foo\] contains 2 sections:
    \[Index\]    Name
index 89418dd71f3a64a0726741185e14e136c5c28ab5..3f19fd6ebd86e855c7d22ab3cd8bcd9dae6f1be8 100644 (file)
@@ -1,8 +1,12 @@
 #source: group9.s
 #ld: -r --gc-sections --entry bar
 #readelf: -g --wide
-#notarget: ia64-*-* mep-*-*
-#xfail: dlx-*-* openrisc-*-* or32-*-* alpha-*-* hppa64-*-* arc-*-*
+#notarget: arc-*-* d30v-*-* dlx-*-* i960-*-* or32-*-* pj*-*-*
+#notarget: alpha-*-* hppa64-*-* i370-*-* i860-*-* ia64-*-* mep-*-* mn10200-*-*
+#xfail: cr16-*-* crx-*-*
+# generic linker targets don't support --gc-sections, nor do a bunch of others
+# cr16 and crx use non-standard scripts with memory regions, which don't play
+# well with unique group sections under ld -r.
 
 COMDAT group section \[[ 0-9]+\] `.group' \[foo\] contains 2 sections:
    \[Index\]    Name
index c8dcf64231fe744cd6766332ac7b50342ade1a96..0cbb3ad6164e250dfe602075e20494460b780199 100644 (file)
@@ -2,7 +2,8 @@
 #source: linkonce1b.s
 #ld: -emit-relocs
 #objdump: -r
-#notarget arc-*-* d30v-*-* dlx-*-* i960-*-* or32-*-* pj*-*-*
+#notarget: arc-*-* d30v-*-* dlx-*-* i960-*-* or32-*-* pj*-*-*
+# generic elf targets don't emit relocs
 
 .*:     file format .*
 
index 40884a3981880fdebafdcd698cc7ab81592c509c..47706218d7be16a91f2d938ec5f7753411519505 100644 (file)
@@ -2,7 +2,7 @@
 #ld: -T merge.ld
 #objdump: -s
 #xfail: "arc-*-*" "d30v-*-*" "dlx-*-*" "hppa64-*-*"
-#xfail: "i960-*-*" "ip2k-*-*" "iq2000-*-*" "or32-*-*" "pj-*-*"
+#xfail: "i960-*-*" "ip2k-*-*" "or32-*-*" "pj-*-*"
 
 .*:     file format .*elf.*
 
index 8074fe3347f126a005d14565d673eec177a93896..a6fd9b3ed2b4c282cdba0176dddd10a827ab8ec3 100644 (file)
@@ -2,6 +2,8 @@
 #ld: -e 0
 #readelf: -l --wide
 #target: *-*-linux*
+#xfail: hppa64-*-*
+# hppa64 default script add 16 bytes at start of .data giving 0x500010 p_memsz
 
 #...
  +LOAD +0x[^ ]+ +0x[^ ]+ +0x[^ ]+ +0x[^ ]+ +0x500000 .*
index 9b90b6f76afba9f54f327f2b1d3e655e814f59e8..89f0e10f6fe3774dc6863252c8f1966d7fdc00d6 100644 (file)
@@ -1,5 +1,7 @@
 #ld: -Tnobits-1.t
 #readelf: -l --wide
+#xfail: hppa64-*-*
+# hppa64 adds PHDR
 
 #...
  Section to Segment mapping:
index a5fc40f2e697083c4f15ea6b9d4359e339b6d2a0..345a2bb8b323efaa6cb55b87c452b2d7bbd07c0f 100644 (file)
@@ -1,5 +1,7 @@
 #ld: -Tnote-1.t
 #readelf: -l --wide
+#xfail: hppa64-*-*
+# hppa64 adds PHDR
 
 #...
  Section to Segment mapping:
index aff32406de20e0b6585b5f7b9675f454fe99ebc8..289134e3eb875ee84ad4dc0923e1556d44ab67f6 100644 (file)
@@ -1,6 +1,8 @@
 #ld: -Tnote-2.t
 #objcopy_linked_file: -R .foo 
 #readelf: -l --wide
+#xfail: hppa64-*-*
+# hppa64 adds PHDR
 
 #...
 Program Headers:
index 8e79953776037ed54f3b4e613975bf87f429dcd6..7b0d83a7da60c2701481c9deebbeb901c6b68285 100644 (file)
@@ -1,7 +1,11 @@
 #source: orphan-region.s
 #ld: -T orphan-region.ld -N
 #readelf: -S -l --wide
-#xfail: spu-*-*
+#xfail: arc-*-* d30v-*-* dlx-*-* fr30-*-* frv-*-elf i860-*-* i960-*-*
+#xfail: iq*-*-* mn10200-*-* moxie-*-* msp*-*-* mt-*-* or32-*-* pj*-*-*
+#xfail: spu-*-* hppa*64*-*-*
+# if not using elf32.em, you don't get fancy orphan handling
+# spu twiddles LOAD range, hppa64 adds PHDR
 
 #...
   \[[ 0-9]+\] \.text[ \t]+PROGBITS[ \t]+0*40000000[ \t]+.*
index 3951fcbf720fe1f60003bbd9ed26e451ca5baf79..b7dfdba266b8c386281bb5192686c9881efabb05 100644 (file)
@@ -7,4 +7,5 @@ SECTIONS
 {
        .text : ALIGN (4) { *(.text) } > region
        .rodata : ALIGN (4) { *(.rodata) } > region
+       /DISCARD/ : { *(.reginfo) *(.trampolines) }
 }
index 54d10df4cdaa3a4abde7fb547c324b4b12d8cdc8..7955c8b6bf09ad6d8ba9f364b8ac1bdfdc36d909 100644 (file)
@@ -1,6 +1,9 @@
 #source: orphan.s
 #ld: -T orphan.ld
 #readelf: -S --wide
+#xfail: arc-*-* d30v-*-* dlx-*-* fr30-*-* frv-*-elf i860-*-* i960-*-*
+#xfail: iq*-*-* mn10200-*-* moxie-*-* msp*-*-* mt-*-* or32-*-* pj*-*-*
+# if not using elf32.em, you don't get fancy orphan handling
 
 #...
   \[[ 0-9]+\] \.(text|notbad)[ \t]+PROGBITS[ \t0-9a-f]+AX?.*
index 8ce83f16e8456a837d5c9e739e650508a04003ca..d23222b49acc10b309849c20af09d0873f74b6a0 100644 (file)
@@ -4,5 +4,5 @@ SECTIONS
   .data : { *(.data) }
   .bss : { *(.bss) *(COMMON) }
   .note : { *(.note) }
-  .reginfo : { *(.reginfo) }
+  /DISCARD/ : { *(.reginfo) *(.trampolines) }
 }
index 493ba584fc1d4ad7bc02ece70a1486fddf682bb7..ea600d32837dbac15d1656fef7b65ecf6a173781 100644 (file)
@@ -6,10 +6,10 @@
 #source: orphan3f.s
 #ld:
 #readelf: -S --wide
-#xfail: "arc-*-*" "d30v-*-*" "dlx-*-*" "fr30-*-*" "frv-*-*"
+#xfail: "arc-*-*" "d30v-*-*" "dlx-*-*" "fr30-*-*" "frv-*-elf"
 #xfail: "i860-*-*" "i960-*-*" "iq2000-*-*" "mn10200-*-*" "msp430-*-*" "mt-*-*"
 #xfail: "or32-*-*" "pj-*-*"
-#xfail: "cr16-*-*" "crx-*-*" "d10v-*-*" "xstormy16-*-*"
+#xfail: "xstormy16-*-*"
 
 #...
   \[[ 0-9]+\] \.foo +PROGBITS +[0-9a-f]+ +[0-9a-f]+ +0+20 +0+ +A +0 +0 +[0-9]+
index 62bbb425425b715a40cdc5c1613bc6175015146e..48e3256980052a2909951f5b8715aa1e097ee1a0 100644 (file)
@@ -2,6 +2,9 @@
 #source: pr349-2.s
 #ld: -r
 #readelf: -S
+#xfail: arc-*-* d30v-*-* dlx-*-* fr30-*-* frv-*-elf i860-*-* i960-*-*
+#xfail: iq*-*-* mn10200-*-* moxie-*-* msp*-*-* mt-*-* or32-*-* pj*-*-*
+# if not using elf32.em, you don't get fancy section handling
 
 #...
 .* .abcxyz .*
index c2ff12ada2755fcd44b5a39f9c2782eb94524d57..95b7ef499981cd53f3102d206f3cb1276e2c7346 100644 (file)
@@ -5,11 +5,13 @@
 #warning: ^[^\\n]*\.[obj]+: warning: function 'Foo' used$
 #readelf: -s
 #notarget: "sparc64-*-solaris2*" "sparcv9-*-solaris2*"
-#xfail: "arc-*-*" "d30v-*-*" "dlx-*-*" "i960-*-*" "or32-*-*" "pj-*-*"
+#xfail: arc-*-* d30v-*-* dlx-*-* fr30-*-* frv-*-elf i860-*-* i960-*-*
+#xfail: iq*-*-* mn10200-*-* moxie-*-* msp*-*-* mt-*-* or32-*-* pj*-*-*
+# if not using elf32.em, you don't get fancy section handling
 
 # Check that warnings are generated for the symbols in .gnu.warning
 # construct and that the symbol still appears as expected.
 
 #...
- +[0-9]+: +[0-9a-f]+ +20 +OBJECT +GLOBAL +DEFAULT +[1-3] Foo
+ +[0-9]+: +[0-9a-f]+ +20 +OBJECT +GLOBAL +DEFAULT +[1-9] Foo
 #pass
index 7bcb877e523ec00ec14b6e9a7b9eb17b4b5ba9fe..53ad2422cc996d38a33597b7dc8713f75758fe35 100644 (file)
@@ -18,12 +18,5 @@ SECTIONS
 
   .sec3 0x5000 : { *(*.sec3) }
 
-  /* In theory we could put:
-
-     /DISCARD/ : { *(*) }
-
-     here as we do not need any other sections for this test.
-     In practice however doing so breaks GOLD as it relies upon
-     being able to create/find various other sections such as
-     .dynamic, .dynsym and .gnu.hash.  */
+  /DISCARD/ : { *(.reginfo) }
 }
index 709702a5b68d42475a99d7a65d3ea180982062cc..9f2e249c901a9a6898096a972067c6be5e85a042 100644 (file)
@@ -1656,9 +1656,19 @@ proc check_gc_sections_available { } {
     if {![info exists gc_sections_available_saved]} {
        # Some targets don't support gc-sections despite whatever's
        # advertised by ld's options.
-       if { [istarget alpha*-*-*]
-            || [istarget mep-*-*]
+       if {[istarget arc-*-*]
+            || [istarget d30v-*-*]
+            || [istarget dlx-*-*]
+            || [istarget i960-*-*]
+            || [istarget or32-*-*]
+            || [istarget pj*-*-*]
+            || [istarget alpha-*-*]
+            || [istarget hppa64-*-*]
+            || [istarget i370-*-*]
+            || [istarget i860-*-*]
             || [istarget ia64-*-*]
+            || [istarget mep-*-*]
+            || [istarget mn10200-*-*]
             || [istarget *-*-cygwin]
             || [istarget *-*-mingw*] } {
            set gc_sections_available_saved 0