mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-02-17 13:10:12 +08:00
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.
This commit is contained in:
parent
9158e49a70
commit
9dc7ab5c01
@ -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*-*-*
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user