ld: Update function prototypes for compilers defaulting to -std=gnu23
[binutils-gdb.git] / ld / testsuite / ld-elf / tls.exp
blobe53762d2f0c34252a01b5bb480ecf891575bb73a
1 # Expect script for TLS tests.
2 # Copyright (C) 2017-2025 Free Software Foundation, Inc.
4 # This file is part of the GNU Binutils.
6 # This program is free software; you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 3 of the License, or
9 # (at your option) any later version.
11 # This program is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 # GNU General Public License for more details.
16 # You should have received a copy of the GNU General Public License
17 # along with this program; if not, write to the Free Software
18 # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
19 # MA 02110-1301, USA.
22 # Make sure that binutils can correctly handle TLS.
24 if { !([istarget *-*-linux*]
25 || [istarget arm*-*-uclinuxfdpiceabi]
26 || [istarget *-*-nacl*]
27 || [istarget *-*-gnu*]) || [istarget *ecoff] } then {
28 return
31 # Check to see if the C compiler works.
32 if { ![check_compiler_available] } {
33 return
36 # This target requires extra GAS options when building PIC/PIE code.
37 set AFLAGS_PIC ""
38 if [istarget "sparc*-*-*"] {
39 append AFLAGS_PIC " -K PIC -Av9"
40 } elseif [istarget ia64-*-*] {
41 append AFLAGS_PIC " -x"
44 set ldflags "-pie -e _start -z text"
45 if [istarget arm*-*-*] {
46 append ldflags " --defsym __aeabi_read_tp=0"
47 } elseif [istarget m68*-*-*] {
48 append ldflags " --defsym __m68k_read_tp=0"
49 } elseif [istarget microblaze-*-*] {
50 append ldflags " --defsym __tls_get_addr=0"
53 run_ld_link_tests [list \
54 [list \
55 "pr22263-1 -z text" \
56 $ldflags \
57 "" \
58 "$AFLAGS_PIC" \
59 { pr22263-1a.c pr22263-1b.c } \
60 {} \
61 "pr22263-1" \
62 "-fPIE -O2 $NOSANITIZE_CFLAGS" \
63 ] \
66 if [file exists tmpdir/pr22263-1] {
67 run_ld_link_tests [list \
68 [list \
69 "pr22263-1 tprel optimisation" \
70 $ldflags \
71 "tmpdir/pr22263-1a.o tmpdir/pr22263-1b.o" \
72 "" \
73 {} \
74 {{readelf -r pr22263-1.rd}} \
75 "pr22263-1" \
76 "" \
77 ] \
78 ] ia64-*-* m68*-*-* s390-*-* sh*-*-*