This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
ld-elf testsuite cleanup
- From: Alan Modra <amodra at gmail dot com>
- To: binutils at sourceware dot org
- Date: Sat, 18 Sep 2010 12:01:40 +0930
- Subject: ld-elf testsuite cleanup
Fixes a number of untidy tests, removing the following:
arc-elf -XPASS: ld-discard/zero-rel
arc-elf -FAIL: ld-elf/group3b
arc-elf -FAIL: ld-elf/linkonce2
arc-elf -FAIL: ld-elf/orphan-region
arc-elf -FAIL: ld-elf/orphan
arc-elf -FAIL: ld-elf/pr349
arc-elf -FAIL: --gc-sections on tls variable
avr-elf -FAIL: ld-elf/orphan-region
avr-elf -FAIL: ld-elf/orphan
cr16-elf -FAIL: ld-elf/group2
cr16-elf -FAIL: ld-elf/group4
cr16-elf -FAIL: ld-elf/group5
cr16-elf -FAIL: ld-elf/group6
cr16-elf -FAIL: ld-elf/group7
cr16-elf -FAIL: ld-elf/group8a
cr16-elf -FAIL: ld-elf/group8b
cr16-elf -FAIL: ld-elf/group9a
cr16-elf -FAIL: ld-elf/group9b
cr16-elf -XPASS: ld-elf/orphan3
crx-elf -FAIL: ld-elf/group2
crx-elf -FAIL: ld-elf/group4
crx-elf -FAIL: ld-elf/group5
crx-elf -FAIL: ld-elf/group6
crx-elf -FAIL: ld-elf/group7
crx-elf -FAIL: ld-elf/group8a
crx-elf -FAIL: ld-elf/group8b
crx-elf -FAIL: ld-elf/group9a
crx-elf -FAIL: ld-elf/group9b
crx-elf -XPASS: ld-elf/orphan3
d10v-elf -XPASS: ld-elf/orphan3
d30v-elf -XPASS: ld-discard/zero-rel
d30v-elf -XPASS: ld-elf/empty2
d30v-elf -FAIL: ld-elf/group3b
d30v-elf -FAIL: ld-elf/group8a
d30v-elf -FAIL: ld-elf/group8b
d30v-elf -FAIL: ld-elf/group9a
d30v-elf -FAIL: ld-elf/group9b
d30v-elf -FAIL: ld-elf/linkonce2
d30v-elf -FAIL: ld-elf/orphan-region
d30v-elf -FAIL: ld-elf/orphan
d30v-elf -FAIL: ld-elf/pr349
d30v-elf -FAIL: --gc-sections on tls variable
dlx-elf -XPASS: ld-discard/zero-rel
dlx-elf -XPASS: ld-elf/empty2
dlx-elf -FAIL: ld-elf/group3b
dlx-elf -FAIL: ld-elf/linkonce2
dlx-elf -FAIL: ld-elf/orphan-region
dlx-elf -FAIL: ld-elf/orphan
dlx-elf -FAIL: ld-elf/pr349
dlx-elf -FAIL: --gc-sections on tls variable
fr30-elf -FAIL: ld-elf/orphan-region
fr30-elf -FAIL: ld-elf/orphan
fr30-elf -FAIL: ld-elf/pr349
fr30-elf -FAIL: ld-elf/warn2
frv-elf -FAIL: ld-elf/orphan-region
frv-elf -FAIL: ld-elf/orphan
frv-elf -FAIL: ld-elf/pr349
frv-elf -FAIL: ld-elf/warn2
frv-linux -XPASS: ld-elf/orphan3
hppa64-hp-hpux11.11 -FAIL: ld-elf/group9a
hppa64-hp-hpux11.11 -FAIL: ld-elf/nobits-1
hppa64-hp-hpux11.11 -FAIL: ld-elf/note-1
hppa64-hp-hpux11.11 -FAIL: ld-elf/note-2
hppa64-hp-hpux11.11 -FAIL: ld-elf/orphan-region
hppa64-hp-hpux11.11 -FAIL: ld-elf/warn2
hppa64-hp-hpux11.11 -FAIL: --gc-sections on tls variable
hppa64-hp-hpux11.23 -FAIL: ld-elf/group9a
hppa64-hp-hpux11.23 -FAIL: ld-elf/nobits-1
hppa64-hp-hpux11.23 -FAIL: ld-elf/note-1
hppa64-hp-hpux11.23 -FAIL: ld-elf/note-2
hppa64-hp-hpux11.23 -FAIL: ld-elf/orphan-region
hppa64-hp-hpux11.23 -FAIL: ld-elf/warn2
hppa64-hp-hpux11.23 -FAIL: --gc-sections on tls variable
hppa64-linux -ERROR: /src/binutils-current/ld/testsuite/ld-elf/tbss1.s: assembly failed
hppa64-linux -ERROR: /src/binutils-current/ld/testsuite/ld-elf/tbss1.s: assembly failed
hppa64-linux -ERROR: /src/binutils-current/ld/testsuite/ld-elf/tbss1.s: assembly failed
hppa64-linux -ERROR: /src/binutils-current/ld/testsuite/ld-elf/tbss1.s: assembly failed
hppa64-linux -ERROR: /src/binutils-current/ld/testsuite/ld-elf/tbss1.s: assembly failed
hppa64-linux -ERROR: /src/binutils-current/ld/testsuite/ld-elf/tbss1.s: assembly failed
hppa64-linux -ERROR: /src/binutils-current/ld/testsuite/ld-elf/tbss2.s: assembly failed
hppa64-linux -ERROR: /src/binutils-current/ld/testsuite/ld-elf/tbss2.s: assembly failed
hppa64-linux -ERROR: /src/binutils-current/ld/testsuite/ld-elf/tbss2.s: assembly failed
hppa64-linux -ERROR: /src/binutils-current/ld/testsuite/ld-elf/tbss2.s: assembly failed
hppa64-linux -ERROR: /src/binutils-current/ld/testsuite/ld-elf/tbss2.s: assembly failed
hppa64-linux -ERROR: /src/binutils-current/ld/testsuite/ld-elf/tbss2.s: assembly failed
hppa64-linux -FAIL: --set-section-flags test 1 (sections)
hppa64-linux -FAIL: ld-elf/group9a
hppa64-linux -FAIL: ld-elf/multibss1
hppa64-linux -FAIL: ld-elf/nobits-1
hppa64-linux -FAIL: ld-elf/note-1
hppa64-linux -FAIL: ld-elf/note-2
hppa64-linux -FAIL: ld-elf/orphan-region
hppa64-linux -FAIL: ld-elf/warn2
hppa64-linux -FAIL: --gc-sections on tls variable
hppa64-linux -FAIL: --gc-sections with note section
hppa64-linux -FAIL: --gc-sections with __start_
hppa-linux -FAIL: relocatable with script
i370-linux -FAIL: ld-elf/group8a
i370-linux -FAIL: ld-elf/group8b
i370-linux -FAIL: ld-elf/group9a
i370-linux -FAIL: ld-elf/group9b
i370-linux -FAIL: --gc-sections on tls variable
i370-linux -FAIL: --gc-sections with note section
i370-linux -FAIL: --gc-sections with __start_
i860-stardent-elf -FAIL: ld-elf/group8a
i860-stardent-elf -FAIL: ld-elf/group8b
i860-stardent-elf -FAIL: ld-elf/group9a
i860-stardent-elf -FAIL: ld-elf/group9b
i860-stardent-elf -FAIL: ld-elf/orphan-region
i860-stardent-elf -FAIL: ld-elf/orphan
i860-stardent-elf -FAIL: ld-elf/pr349
i860-stardent-elf -FAIL: ld-elf/warn2
i860-stardent-elf -FAIL: --gc-sections on tls variable
i960-elf -XPASS: ld-discard/zero-rel
i960-elf -XPASS: ld-elf/empty2
i960-elf -FAIL: ld-elf/group3b
i960-elf -FAIL: ld-elf/group8a
i960-elf -FAIL: ld-elf/group8b
i960-elf -FAIL: ld-elf/group9a
i960-elf -FAIL: ld-elf/group9b
i960-elf -FAIL: ld-elf/linkonce2
i960-elf -FAIL: ld-elf/orphan-region
i960-elf -FAIL: ld-elf/orphan
i960-elf -FAIL: ld-elf/pr349
i960-elf -FAIL: --gc-sections on tls variable
iq2000-elf -XPASS: ld-elf/merge2
iq2000-elf -FAIL: ld-elf/orphan-region
iq2000-elf -FAIL: ld-elf/orphan
iq2000-elf -FAIL: ld-elf/pr349
iq2000-elf -FAIL: ld-elf/warn2
mips64-linux -FAIL: ld-elf/orphan-region
mips64-linux -FAIL: rgn-at5
mipsel-linux-gnu -FAIL: ld-elf/orphan-region
mipsel-linux-gnu -FAIL: rgn-at5
mipsisa32el-linux -FAIL: ld-elf/orphan-region
mipsisa32el-linux -FAIL: rgn-at5
mips-linux -FAIL: ld-elf/orphan-region
mips-linux -FAIL: rgn-at5
mn10200-elf -FAIL: ld-elf/group8a
mn10200-elf -FAIL: ld-elf/group8b
mn10200-elf -FAIL: ld-elf/group9a
mn10200-elf -FAIL: ld-elf/group9b
mn10200-elf -FAIL: ld-elf/orphan-region
mn10200-elf -FAIL: ld-elf/orphan
mn10200-elf -FAIL: ld-elf/pr349
mn10200-elf -FAIL: ld-elf/warn2
mn10200-elf -FAIL: --gc-sections on tls variable
moxie-elf -FAIL: ld-elf/orphan-region
moxie-elf -FAIL: ld-elf/orphan
moxie-elf -FAIL: ld-elf/pr349
moxie-elf -FAIL: ld-elf/warn2
ms1-elf -FAIL: ld-elf/orphan-region
ms1-elf -FAIL: ld-elf/orphan
ms1-elf -FAIL: ld-elf/pr349
ms1-elf -FAIL: ld-elf/warn2
msp430-elf -FAIL: ld-elf/orphan-region
msp430-elf -FAIL: ld-elf/orphan
msp430-elf -FAIL: ld-elf/pr349
msp430-elf -FAIL: ld-elf/warn2
or32-elf -XPASS: ld-discard/zero-rel
or32-elf -XPASS: ld-elf/empty2
or32-elf -FAIL: ld-elf/group3b
or32-elf -FAIL: ld-elf/linkonce2
or32-elf -FAIL: ld-elf/orphan-region
or32-elf -FAIL: ld-elf/orphan
or32-elf -FAIL: ld-elf/pr349
or32-elf -FAIL: --gc-sections on tls variable
pj-elf -XPASS: ld-discard/zero-rel
pj-elf -XPASS: ld-elf/empty2
pj-elf -FAIL: ld-elf/group3b
pj-elf -FAIL: ld-elf/group8a
pj-elf -FAIL: ld-elf/group8b
pj-elf -FAIL: ld-elf/group9a
pj-elf -FAIL: ld-elf/group9b
pj-elf -FAIL: ld-elf/linkonce2
pj-elf -FAIL: ld-elf/orphan-region
pj-elf -FAIL: ld-elf/orphan
pj-elf -FAIL: ld-elf/pr349
pj-elf -FAIL: --gc-sections on tls variable
spu-elf -FAIL: ld-elf/orphan-region
* 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.
Index: ld/testsuite/ld-discard/discard.exp
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-discard/discard.exp,v
retrieving revision 1.8
diff -u -p -r1.8 discard.exp
--- ld/testsuite/ld-discard/discard.exp 2 Sep 2009 07:25:39 -0000 1.8
+++ ld/testsuite/ld-discard/discard.exp 18 Sep 2010 00:29:48 -0000
@@ -43,8 +43,5 @@ set test_list [lsort [glob -nocomplain $
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: ld/testsuite/ld-discard/extern.d
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-discard/extern.d,v
retrieving revision 1.9
diff -u -p -r1.9 extern.d
--- ld/testsuite/ld-discard/extern.d 25 Apr 2005 14:59:02 -0000 1.9
+++ ld/testsuite/ld-discard/extern.d 18 Sep 2010 00:29:48 -0000
@@ -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: ld/testsuite/ld-discard/start.d
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-discard/start.d,v
retrieving revision 1.7
diff -u -p -r1.7 start.d
--- ld/testsuite/ld-discard/start.d 25 Apr 2005 14:59:02 -0000 1.7
+++ ld/testsuite/ld-discard/start.d 18 Sep 2010 00:29:48 -0000
@@ -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: ld/testsuite/ld-discard/static.d
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-discard/static.d,v
retrieving revision 1.8
diff -u -p -r1.8 static.d
--- ld/testsuite/ld-discard/static.d 25 Apr 2005 14:59:02 -0000 1.8
+++ ld/testsuite/ld-discard/static.d 18 Sep 2010 00:29:48 -0000
@@ -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: ld/testsuite/ld-elf/binutils.exp
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-elf/binutils.exp,v
retrieving revision 1.10
diff -u -p -r1.10 binutils.exp
--- ld/testsuite/ld-elf/binutils.exp 2 Sep 2009 07:25:39 -0000 1.10
+++ ld/testsuite/ld-elf/binutils.exp 18 Sep 2010 00:29:48 -0000
@@ -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: ld/testsuite/ld-elf/empty2.d
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-elf/empty2.d,v
retrieving revision 1.3
diff -u -p -r1.3 empty2.d
--- ld/testsuite/ld-elf/empty2.d 7 Mar 2009 23:42:28 -0000 1.3
+++ ld/testsuite/ld-elf/empty2.d 18 Sep 2010 00:29:48 -0000
@@ -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: ld/testsuite/ld-elf/flags1.d
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-elf/flags1.d,v
retrieving revision 1.5
diff -u -p -r1.5 flags1.d
--- ld/testsuite/ld-elf/flags1.d 25 Mar 2010 21:12:34 -0000 1.5
+++ ld/testsuite/ld-elf/flags1.d 18 Sep 2010 00:29:48 -0000
@@ -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: ld/testsuite/ld-elf/group1.d
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-elf/group1.d,v
retrieving revision 1.5
diff -u -p -r1.5 group1.d
--- ld/testsuite/ld-elf/group1.d 23 Sep 2009 03:12:25 -0000 1.5
+++ ld/testsuite/ld-elf/group1.d 18 Sep 2010 00:29:48 -0000
@@ -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: ld/testsuite/ld-elf/group2.d
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-elf/group2.d,v
retrieving revision 1.1
diff -u -p -r1.1 group2.d
--- ld/testsuite/ld-elf/group2.d 20 Oct 2005 17:06:41 -0000 1.1
+++ ld/testsuite/ld-elf/group2.d 18 Sep 2010 00:29:48 -0000
@@ -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: ld/testsuite/ld-elf/group3b.d
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-elf/group3b.d,v
retrieving revision 1.3
diff -u -p -r1.3 group3b.d
--- ld/testsuite/ld-elf/group3b.d 16 Sep 2010 00:28:57 -0000 1.3
+++ ld/testsuite/ld-elf/group3b.d 18 Sep 2010 00:29:48 -0000
@@ -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: ld/testsuite/ld-elf/group4.d
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-elf/group4.d,v
retrieving revision 1.1
diff -u -p -r1.1 group4.d
--- ld/testsuite/ld-elf/group4.d 3 Oct 2008 14:08:38 -0000 1.1
+++ ld/testsuite/ld-elf/group4.d 18 Sep 2010 00:29:48 -0000
@@ -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: ld/testsuite/ld-elf/group5.d
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-elf/group5.d,v
retrieving revision 1.2
diff -u -p -r1.2 group5.d
--- ld/testsuite/ld-elf/group5.d 3 Oct 2008 15:08:22 -0000 1.2
+++ ld/testsuite/ld-elf/group5.d 18 Sep 2010 00:29:48 -0000
@@ -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: ld/testsuite/ld-elf/group6.d
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-elf/group6.d,v
retrieving revision 1.2
diff -u -p -r1.2 group6.d
--- ld/testsuite/ld-elf/group6.d 3 Oct 2008 15:08:22 -0000 1.2
+++ ld/testsuite/ld-elf/group6.d 18 Sep 2010 00:29:48 -0000
@@ -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: ld/testsuite/ld-elf/group7.d
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-elf/group7.d,v
retrieving revision 1.1
diff -u -p -r1.1 group7.d
--- ld/testsuite/ld-elf/group7.d 4 Oct 2008 14:55:47 -0000 1.1
+++ ld/testsuite/ld-elf/group7.d 18 Sep 2010 00:29:48 -0000
@@ -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: ld/testsuite/ld-elf/group8a.d
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-elf/group8a.d,v
retrieving revision 1.3
diff -u -p -r1.3 group8a.d
--- ld/testsuite/ld-elf/group8a.d 2 Mar 2009 17:27:36 -0000 1.3
+++ ld/testsuite/ld-elf/group8a.d 18 Sep 2010 00:29:48 -0000
@@ -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: ld/testsuite/ld-elf/group8b.d
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-elf/group8b.d,v
retrieving revision 1.3
diff -u -p -r1.3 group8b.d
--- ld/testsuite/ld-elf/group8b.d 2 Mar 2009 17:27:36 -0000 1.3
+++ ld/testsuite/ld-elf/group8b.d 18 Sep 2010 00:29:48 -0000
@@ -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: ld/testsuite/ld-elf/group9a.d
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-elf/group9a.d,v
retrieving revision 1.3
diff -u -p -r1.3 group9a.d
--- ld/testsuite/ld-elf/group9a.d 2 Mar 2009 17:27:36 -0000 1.3
+++ ld/testsuite/ld-elf/group9a.d 18 Sep 2010 00:29:48 -0000
@@ -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: ld/testsuite/ld-elf/group9b.d
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-elf/group9b.d,v
retrieving revision 1.3
diff -u -p -r1.3 group9b.d
--- ld/testsuite/ld-elf/group9b.d 2 Mar 2009 17:27:36 -0000 1.3
+++ ld/testsuite/ld-elf/group9b.d 18 Sep 2010 00:29:48 -0000
@@ -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: ld/testsuite/ld-elf/linkonce2.d
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-elf/linkonce2.d,v
retrieving revision 1.3
diff -u -p -r1.3 linkonce2.d
--- ld/testsuite/ld-elf/linkonce2.d 16 Sep 2010 00:28:57 -0000 1.3
+++ ld/testsuite/ld-elf/linkonce2.d 18 Sep 2010 00:29:48 -0000
@@ -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: ld/testsuite/ld-elf/merge2.d
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-elf/merge2.d,v
retrieving revision 1.3
diff -u -p -r1.3 merge2.d
--- ld/testsuite/ld-elf/merge2.d 18 Aug 2005 07:51:07 -0000 1.3
+++ ld/testsuite/ld-elf/merge2.d 18 Sep 2010 00:29:49 -0000
@@ -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: ld/testsuite/ld-elf/multibss1.d
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-elf/multibss1.d,v
retrieving revision 1.1
diff -u -p -r1.1 multibss1.d
--- ld/testsuite/ld-elf/multibss1.d 10 May 2007 14:46:48 -0000 1.1
+++ ld/testsuite/ld-elf/multibss1.d 18 Sep 2010 00:29:49 -0000
@@ -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: ld/testsuite/ld-elf/nobits-1.d
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-elf/nobits-1.d,v
retrieving revision 1.1
diff -u -p -r1.1 nobits-1.d
--- ld/testsuite/ld-elf/nobits-1.d 7 Mar 2007 03:58:44 -0000 1.1
+++ ld/testsuite/ld-elf/nobits-1.d 18 Sep 2010 00:29:49 -0000
@@ -1,5 +1,7 @@
#ld: -Tnobits-1.t
#readelf: -l --wide
+#xfail: hppa64-*-*
+# hppa64 adds PHDR
#...
Section to Segment mapping:
Index: ld/testsuite/ld-elf/note-1.d
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-elf/note-1.d,v
retrieving revision 1.1
diff -u -p -r1.1 note-1.d
--- ld/testsuite/ld-elf/note-1.d 22 Mar 2007 15:50:38 -0000 1.1
+++ ld/testsuite/ld-elf/note-1.d 18 Sep 2010 00:29:49 -0000
@@ -1,5 +1,7 @@
#ld: -Tnote-1.t
#readelf: -l --wide
+#xfail: hppa64-*-*
+# hppa64 adds PHDR
#...
Section to Segment mapping:
Index: ld/testsuite/ld-elf/note-2.d
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-elf/note-2.d,v
retrieving revision 1.1
diff -u -p -r1.1 note-2.d
--- ld/testsuite/ld-elf/note-2.d 24 Dec 2007 16:58:23 -0000 1.1
+++ ld/testsuite/ld-elf/note-2.d 18 Sep 2010 00:29:49 -0000
@@ -1,6 +1,8 @@
#ld: -Tnote-2.t
#objcopy_linked_file: -R .foo
#readelf: -l --wide
+#xfail: hppa64-*-*
+# hppa64 adds PHDR
#...
Program Headers:
Index: ld/testsuite/ld-elf/orphan-region.d
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-elf/orphan-region.d,v
retrieving revision 1.3
diff -u -p -r1.3 orphan-region.d
--- ld/testsuite/ld-elf/orphan-region.d 16 Sep 2010 10:51:41 -0000 1.3
+++ ld/testsuite/ld-elf/orphan-region.d 18 Sep 2010 00:29:49 -0000
@@ -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: ld/testsuite/ld-elf/orphan-region.ld
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-elf/orphan-region.ld,v
retrieving revision 1.2
diff -u -p -r1.2 orphan-region.ld
--- ld/testsuite/ld-elf/orphan-region.ld 16 Mar 2010 14:18:06 -0000 1.2
+++ ld/testsuite/ld-elf/orphan-region.ld 18 Sep 2010 00:29:49 -0000
@@ -7,4 +7,5 @@ SECTIONS
{
.text : ALIGN (4) { *(.text) } > region
.rodata : ALIGN (4) { *(.rodata) } > region
+ /DISCARD/ : { *(.reginfo) *(.trampolines) }
}
Index: ld/testsuite/ld-elf/orphan.d
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-elf/orphan.d,v
retrieving revision 1.3
diff -u -p -r1.3 orphan.d
--- ld/testsuite/ld-elf/orphan.d 17 Oct 2006 13:41:48 -0000 1.3
+++ ld/testsuite/ld-elf/orphan.d 18 Sep 2010 00:29:49 -0000
@@ -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: ld/testsuite/ld-elf/orphan.ld
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-elf/orphan.ld,v
retrieving revision 1.2
diff -u -p -r1.2 orphan.ld
--- ld/testsuite/ld-elf/orphan.ld 16 May 2006 13:58:51 -0000 1.2
+++ ld/testsuite/ld-elf/orphan.ld 18 Sep 2010 00:29:49 -0000
@@ -4,5 +4,5 @@ SECTIONS
.data : { *(.data) }
.bss : { *(.bss) *(COMMON) }
.note : { *(.note) }
- .reginfo : { *(.reginfo) }
+ /DISCARD/ : { *(.reginfo) *(.trampolines) }
}
Index: ld/testsuite/ld-elf/orphan3.d
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-elf/orphan3.d,v
retrieving revision 1.4
diff -u -p -r1.4 orphan3.d
--- ld/testsuite/ld-elf/orphan3.d 16 Jun 2010 00:36:04 -0000 1.4
+++ ld/testsuite/ld-elf/orphan3.d 18 Sep 2010 00:29:49 -0000
@@ -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: ld/testsuite/ld-elf/pr349.d
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-elf/pr349.d,v
retrieving revision 1.1
diff -u -p -r1.1 pr349.d
--- ld/testsuite/ld-elf/pr349.d 14 Oct 2009 10:52:54 -0000 1.1
+++ ld/testsuite/ld-elf/pr349.d 18 Sep 2010 00:29:49 -0000
@@ -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: ld/testsuite/ld-elf/warn2.d
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-elf/warn2.d,v
retrieving revision 1.5
diff -u -p -r1.5 warn2.d
--- ld/testsuite/ld-elf/warn2.d 23 Sep 2009 03:12:25 -0000 1.5
+++ ld/testsuite/ld-elf/warn2.d 18 Sep 2010 00:29:49 -0000
@@ -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: ld/testsuite/ld-scripts/rgn-at5.t
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-scripts/rgn-at5.t,v
retrieving revision 1.1
diff -u -p -r1.1 rgn-at5.t
--- ld/testsuite/ld-scripts/rgn-at5.t 9 Sep 2010 19:22:29 -0000 1.1
+++ ld/testsuite/ld-scripts/rgn-at5.t 18 Sep 2010 00:29:49 -0000
@@ -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: ld/testsuite/lib/ld-lib.exp
===================================================================
RCS file: /cvs/src/src/ld/testsuite/lib/ld-lib.exp,v
retrieving revision 1.72
diff -u -p -r1.72 ld-lib.exp
--- ld/testsuite/lib/ld-lib.exp 1 Jul 2010 13:15:47 -0000 1.72
+++ ld/testsuite/lib/ld-lib.exp 18 Sep 2010 00:29:50 -0000
@@ -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
--
Alan Modra
Australia Development Lab, IBM