[binutils-gdb] ld-gc tests on underscore targets
Alan Modra
amodra@sourceware.org
Wed Mar 3 07:17:31 GMT 2021
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=270f32fc50b465e84c214a17d4ad3aebc3161bae
commit 270f32fc50b465e84c214a17d4ad3aebc3161bae
Author: Alan Modra <amodra@gmail.com>
Date: Wed Mar 3 17:25:28 2021 +1030
ld-gc tests on underscore targets
Adjust tests to reference __start and __stop syms with an extra
leading underscore when appropriate, and run tests on more targets.
* testsuite/ld-gc/gc.exp: Define UNDERSCORE in ASFLAGS.
Move tests with ELF section directives to is_elf_format block.
* testsuite/ld-gc/abi-note.d: Run on more targets.
* testsuite/ld-gc/pr19167.d: Likewise and adjust xfails.
* testsuite/ld-gc/start.d: Likewise.
* testsuite/ld-gc/start2.d: Likewise.
* testsuite/ld-gc/stop.d: Likewise.
* testsuite/ld-gc/pr19167a.s: Add support for underscore targets.
* testsuite/ld-gc/start.s: Likewise.
* testsuite/ld-gc/start2.s: Likewise.
Diff:
---
ld/ChangeLog | 13 +++++++++++++
ld/testsuite/ld-gc/abi-note.d | 1 -
ld/testsuite/ld-gc/gc.exp | 18 +++++++++++++-----
ld/testsuite/ld-gc/pr19167.d | 3 +--
ld/testsuite/ld-gc/pr19167a.s | 4 ++++
ld/testsuite/ld-gc/start.d | 5 ++---
ld/testsuite/ld-gc/start.s | 6 +++++-
ld/testsuite/ld-gc/start2.d | 6 +++---
ld/testsuite/ld-gc/start2.s | 7 ++++++-
ld/testsuite/ld-gc/stop.d | 3 +--
10 files changed, 48 insertions(+), 18 deletions(-)
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 9116ee01170..bf1d226b809 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,16 @@
+2021-03-03 Alan Modra <amodra@gmail.com>
+
+ * testsuite/ld-gc/gc.exp: Define UNDERSCORE in ASFLAGS.
+ Move tests with ELF section directives to is_elf_format block.
+ * testsuite/ld-gc/abi-note.d: Run on more targets.
+ * testsuite/ld-gc/pr19167.d: Likewise and adjust xfails.
+ * testsuite/ld-gc/start.d: Likewise.
+ * testsuite/ld-gc/start2.d: Likewise.
+ * testsuite/ld-gc/stop.d: Likewise.
+ * testsuite/ld-gc/pr19167a.s: Add support for underscore targets.
+ * testsuite/ld-gc/start.s: Likewise.
+ * testsuite/ld-gc/start2.s: Likewise.
+
2021-03-02 Nick Alcock <nick.alcock@oracle.com>
* ldelfgen.c (ldelf_ctf_strtab_iter_cb): Skip zero-refcount strings.
diff --git a/ld/testsuite/ld-gc/abi-note.d b/ld/testsuite/ld-gc/abi-note.d
index 12391e198a0..1f78ceaa351 100644
--- a/ld/testsuite/ld-gc/abi-note.d
+++ b/ld/testsuite/ld-gc/abi-note.d
@@ -1,7 +1,6 @@
#name: --gc-sections with note section
#ld: --gc-sections -e _start
#readelf: -S --wide
-#target: *-*-linux* *-*-gnu* arm*-*-uclinuxfdpiceabi
#...
.* .note.ABI-tag[ ]+NOTE.*
diff --git a/ld/testsuite/ld-gc/gc.exp b/ld/testsuite/ld-gc/gc.exp
index ad3bc2e641e..ba528d000bf 100644
--- a/ld/testsuite/ld-gc/gc.exp
+++ b/ld/testsuite/ld-gc/gc.exp
@@ -86,15 +86,21 @@ test_gc "Check --gc-section/-q" "gcrexe" $ld "--gc-sections -q -e main"
test_gc "Check --gc-section/-r/-e" "gcrel" $ld "-r --gc-sections -e main"
test_gc "Check --gc-section/-r/-u" "gcrel" $ld "-r --gc-sections -u used_func"
+set old_asflags $ASFLAGS
+if [is_underscore_target] {
+ set ASFLAGS "$ASFLAGS --defsym UNDERSCORE=1"
+}
+
run_dump_test "noent"
-run_dump_test "abi-note"
-run_dump_test "start"
-run_dump_test "start2"
-run_dump_test "stop"
-run_dump_test "pr19167"
+
if { [is_elf_format] } then {
+ run_dump_test "abi-note"
run_dump_test "all-debug-sections"
+ run_dump_test "pr19167"
run_dump_test "pr20882"
+ run_dump_test "stop"
+ run_dump_test "start"
+ run_dump_test "start2"
}
if { [is_elf_format] && [check_shared_lib_support] } then {
@@ -175,3 +181,5 @@ if { [is_elf_format] && [check_shared_lib_support] \
if { [is_elf_format] } then {
run_dump_test "skip-map-discarded"
}
+
+set ASFLAGS $old_asflags
diff --git a/ld/testsuite/ld-gc/pr19167.d b/ld/testsuite/ld-gc/pr19167.d
index 9555cc8105a..f652dd018f4 100644
--- a/ld/testsuite/ld-gc/pr19167.d
+++ b/ld/testsuite/ld-gc/pr19167.d
@@ -2,8 +2,7 @@
#source: pr19167b.s
#ld: --gc-sections -e _start
#objdump: -s -j _foo
-#target: *-*-linux* *-*-gnu* arm*-*-uclinuxfdpiceabi
-#xfail: frv-*-* metag-*-*
+#xfail: bfin-*-*linux* frv-*-*linux* lm32-*-*linux*
#...
Contents of section _foo:
diff --git a/ld/testsuite/ld-gc/pr19167a.s b/ld/testsuite/ld-gc/pr19167a.s
index 7dc16e263f6..73a0a276809 100644
--- a/ld/testsuite/ld-gc/pr19167a.s
+++ b/ld/testsuite/ld-gc/pr19167a.s
@@ -1,6 +1,10 @@
.globl _start
_start:
+ .ifdef UNDERSCORE
+ .dc.a ___start__foo
+ .else
.dc.a __start__foo
+ .endif
.section _foo,"aw",%progbits
foo:
.ascii "This is "
diff --git a/ld/testsuite/ld-gc/start.d b/ld/testsuite/ld-gc/start.d
index 85b06127226..0998ecfcc68 100644
--- a/ld/testsuite/ld-gc/start.d
+++ b/ld/testsuite/ld-gc/start.d
@@ -1,9 +1,8 @@
#name: --gc-sections with __start_
#ld: --gc-sections -e _start
#nm: -n
-#target: *-*-linux* *-*-gnu* arm*-*-uclinuxfdpiceabi
-#xfail: frv-*-* metag-*-*
+#xfail: bfin-*-*linux* frv-*-*linux* lm32-*-*linux*
#...
-[0-9a-f]+ D +__start__foo
+[0-9a-f]+ D +_?__start__foo
#...
diff --git a/ld/testsuite/ld-gc/start.s b/ld/testsuite/ld-gc/start.s
index a417a97b22c..505122d5204 100644
--- a/ld/testsuite/ld-gc/start.s
+++ b/ld/testsuite/ld-gc/start.s
@@ -1,6 +1,10 @@
-.globl _start
+ .globl _start
_start:
+ .ifdef UNDERSCORE
+ .dc.a ___start__foo
+ .else
.dc.a __start__foo
+ .endif
.section _foo,"aw",%progbits
foo:
.long 1
diff --git a/ld/testsuite/ld-gc/start2.d b/ld/testsuite/ld-gc/start2.d
index 480dc74d9f3..b893ba23729 100644
--- a/ld/testsuite/ld-gc/start2.d
+++ b/ld/testsuite/ld-gc/start2.d
@@ -1,10 +1,10 @@
#name: --gc-sections with -z start-stop-gc
#ld: --gc-sections -e _start -z start-stop-gc
#nm: -n
-#target: *-*-linux* *-*-gnu* arm*-*-uclinuxfdpiceabi
-#xfail: bfin-*-*linux* frv-*-*
+#notarget: [uses_genelf]
+#xfail: bfin-*-*linux* frv-*-*linux*
#failif
#...
-[0-9a-f]+ D +__start__foo
+[0-9a-f]+ D +_?__start__foo
#...
diff --git a/ld/testsuite/ld-gc/start2.s b/ld/testsuite/ld-gc/start2.s
index b0084a188ae..920feb26936 100644
--- a/ld/testsuite/ld-gc/start2.s
+++ b/ld/testsuite/ld-gc/start2.s
@@ -1,7 +1,12 @@
-.globl _start
+ .globl _start
_start:
+ .ifdef UNDERSCORE
+ .weak ___start__foo
+ .dc.a ___start__foo
+ .else
.weak __start__foo
.dc.a __start__foo
+ .endif
.section _foo,"aw",%progbits
foo:
.long 1
diff --git a/ld/testsuite/ld-gc/stop.d b/ld/testsuite/ld-gc/stop.d
index ebd3597d6e1..140d1d2f27e 100644
--- a/ld/testsuite/ld-gc/stop.d
+++ b/ld/testsuite/ld-gc/stop.d
@@ -1,9 +1,8 @@
#name: --gc-sections removing __stop_
#ld: --gc-sections -e _start
#nm: -n
-#target: *-*-linux* *-*-gnu* arm*-*-uclinuxfdpiceabi
#failif
#...
-[0-9a-f]+ D +__stop__foo
+[0-9a-f]+ D +_?__stop__foo
#...
More information about the Binutils-cvs
mailing list