From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1062) id AA1A93857712; Fri, 26 May 2023 03:12:32 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org AA1A93857712 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: Alan Modra To: bfd-cvs@sourceware.org Subject: [binutils-gdb] PR22263 ld test X-Act-Checkin: binutils-gdb X-Git-Author: Alan Modra X-Git-Refname: refs/heads/master X-Git-Oldrev: 9158e49a70386c3e883ad429d93fe31aa59c0918 X-Git-Newrev: 9dc7ab5c01347b303c578e0a9221248dbe227b59 Message-Id: <20230526031232.AA1A93857712@sourceware.org> Date: Fri, 26 May 2023 03:12:32 +0000 (GMT) X-BeenThere: binutils-cvs@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 May 2023 03:12:32 -0000 https://sourceware.org/git/gitweb.cgi?p=3Dbinutils-gdb.git;h=3D9dc7ab5c0134= 7b303c578e0a9221248dbe227b59 commit 9dc7ab5c01347b303c578e0a9221248dbe227b59 Author: Alan Modra Date: Fri May 26 11:51:57 2023 +0930 PR22263 ld test =20 A number of targets that I test regularly fail the "Build pr22263-1" test for various reasons. =20 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 =20 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. =20 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=3D0" +} elseif [istarget m68*-*-*] { + append ldflags " --defsym __m68k_read_tp=3D0" +} elseif [istarget microblaze-*-*] { + append ldflags " --defsym __tls_get_addr=3D0" } =20 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*-*-* +}