public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
* ld-gc tests on underscore targets
@ 2021-03-03  7:13 Alan Modra
  0 siblings, 0 replies; only message in thread
From: Alan Modra @ 2021-03-03  7:13 UTC (permalink / raw)
  To: binutils

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 --git a/ld/testsuite/ld-gc/abi-note.d b/ld/testsuite/ld-gc/abi-note.d
index 12391e198a..1f78ceaa35 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 ad3bc2e641..ba528d000b 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 9555cc8105..f652dd018f 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 7dc16e263f..73a0a27680 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 85b0612722..0998ecfcc6 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 a417a97b22..505122d520 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 480dc74d9f..b893ba2372 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 b0084a188a..920feb2693 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 ebd3597d6e..140d1d2f27 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
 #...

-- 
Alan Modra
Australia Development Lab, IBM

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-03-03  7:14 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-03  7:13 ld-gc tests on underscore targets Alan Modra

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).