Fix PR ld/22263 on SPARC.
[external/binutils.git] / ld / testsuite / ld-elf / tls.exp
1 # Expect script for TLS tests.
2 #   Copyright (C) 2017-2018 Free Software Foundation, Inc.
3 #
4 # This file is part of the GNU Binutils.
5 #
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.
10 #
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.
15 #
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.
20 #
21
22 # Make sure that binutils can correctly handle TLS.
23
24 if { ![istarget *-*-linux*]
25      && ![istarget *-*-nacl*]
26      && ![istarget *-*-gnu*] } {
27     return
28 }
29
30 if { [istarget *-*-linux*aout*]
31      || [istarget *-*-linux*oldld*] } {
32     return
33 }
34
35 # Check to see if the C compiler works.
36 if { [which $CC] == 0 } {
37     return
38 }
39
40 # This target requires extra GAS options when building PIC/PIE code.
41 set AFLAGS_PIC ""
42 if [istarget "sparc*-*-*"] {
43     append AFLAGS_PIC " -K PIC"
44 }
45
46 run_ld_link_tests [list \
47     [list \
48         "Build pr22263-1" \
49         "-pie -e _start -z text" \
50         "" \
51         "$AFLAGS_PIC" \
52         { pr22263-1a.c pr22263-1b.c } \
53         {{readelf -r pr22263-1.rd}} \
54         "pr22263-1" \
55         "-fPIE -O2" \
56     ] \
57 ]