* [binutils-gdb] PR22263 ld test
@ 2023-05-26 3:12 Alan Modra
0 siblings, 0 replies; only message in thread
From: Alan Modra @ 2023-05-26 3:12 UTC (permalink / raw)
To: bfd-cvs
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=9dc7ab5c01347b303c578e0a9221248dbe227b59
commit 9dc7ab5c01347b303c578e0a9221248dbe227b59
Author: Alan Modra <amodra@gmail.com>
Date: Fri May 26 11:51:57 2023 +0930
PR22263 ld test
A number of targets that I test regularly fail the "Build pr22263-1"
test for various reasons.
arm-linux-gnueabi: "undefined reference to `__aeabi_read_tp'"
ia64-linux-gnu: "Explicit stops are ignored in auto mode"
m68k-linux-gnu: "undefined reference to `__m68k_read_tp'"
microblaze-linux-gnu: "undefined reference to `__tls_get_addr'"
nios2-linux-gnu, s390-linux-gnu and sh4-linux-gnu have a tprel reloc in .got
riscv64-linux-gnu has a dynamic relocation in text
So only riscv really fails the pr. The rest fail due to test issues
or lack of a linker optimisation. Lack of an optimisation isn't
really a fail, but it's worth keeping the test to ensure those
optimisations don't regress. The xfail targets may not be an
exhaustive list. This just tidies test results for those for which I
have cross compilers installed.
PR 22263
* testsuite/ld-elf/tls.exp: Split pr22263 test into two parts,
one to check for -z text errors, the other to check tprel
linker optimisation. Supply needed symbols and assembler flags.
xfail the linker optimisation on targets known to fail.
Diff:
---
ld/testsuite/ld-elf/tls.exp | 32 +++++++++++++++++++++++++++++---
1 file changed, 29 insertions(+), 3 deletions(-)
diff --git a/ld/testsuite/ld-elf/tls.exp b/ld/testsuite/ld-elf/tls.exp
index 305eb5f68cd..31435128b2b 100644
--- a/ld/testsuite/ld-elf/tls.exp
+++ b/ld/testsuite/ld-elf/tls.exp
@@ -37,17 +37,43 @@ if { ![check_compiler_available] } {
set AFLAGS_PIC ""
if [istarget "sparc*-*-*"] {
append AFLAGS_PIC " -K PIC -Av9"
+} elseif [istarget ia64-*-*] {
+ append AFLAGS_PIC " -x"
+}
+
+set ldflags "-pie -e _start -z text"
+if [istarget arm*-*-*] {
+ append ldflags " --defsym __aeabi_read_tp=0"
+} elseif [istarget m68*-*-*] {
+ append ldflags " --defsym __m68k_read_tp=0"
+} elseif [istarget microblaze-*-*] {
+ append ldflags " --defsym __tls_get_addr=0"
}
run_ld_link_tests [list \
[list \
- "Build pr22263-1" \
- "-pie -e _start -z text" \
+ "pr22263-1 -z text" \
+ $ldflags \
"" \
"$AFLAGS_PIC" \
{ pr22263-1a.c pr22263-1b.c } \
- {{readelf -r pr22263-1.rd}} \
+ {} \
"pr22263-1" \
"-fPIE -O2 $NOSANITIZE_CFLAGS" \
] \
]
+
+if [file exists tmpdir/pr22263-1] {
+ run_ld_link_tests [list \
+ [list \
+ "pr22263-1 tprel optimisation" \
+ $ldflags \
+ "tmpdir/pr22263-1a.o tmpdir/pr22263-1b.o" \
+ "" \
+ {} \
+ {{readelf -r pr22263-1.rd}} \
+ "pr22263-1" \
+ "" \
+ ] \
+ ] ia64-*-* m68*-*-* nios2-*-* s390-*-* sh*-*-*
+}
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2023-05-26 3:12 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-05-26 3:12 [binutils-gdb] PR22263 ld test 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).