Consistently use fprintf_filtered when displaying MIPS registers.
[deliverable/binutils-gdb.git] / ld / testsuite / ld-i386 / tls.exp
CommitLineData
6eaa7fb5 1# Expect script for i386 TLS tests.
2571583a 2# Copyright (C) 2016-2017 Free Software Foundation, Inc.
6eaa7fb5
L
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# The following tests require running the executable generated by ld,
23# or enough of a build environment to create a fully linked executable.
24# This is not commonly available when testing a cross-built linker.
25if ![isnative] {
26 return
27}
28
29# Only on Linux for now.
30if ![istarget "i?86-*-linux*"] {
31 return
32}
33
34# Check to see if the C compiler works
35if { [which $CC] == 0 } {
36 return
37}
38
39run_cc_link_tests [list \
40 [list \
41 "Build tls-def1.o tls-main1.o" \
42 "" \
43 "-fPIE" \
44 {tls-def1.c tls-main1.c} \
45 ] \
46 [list \
47 "Build tls-gd1.o tls-ld1.o" \
48 "" \
49 "-fPIC -Wa,-mrelax-relocations=yes" \
50 {tls-gd1.S tls-ld1.S} \
51 ] \
52 [list \
53 "Build libtls-1a.so" \
54 "-shared tmpdir/tls-def1.o" \
55 "" \
56 {dummy.s} \
57 {} \
58 "libtls-1a.so" \
59 ] \
60 [list \
61 "Build libtls-1b.so" \
62 "-shared tmpdir/tls-gd1.o tmpdir/tls-ld1.o" \
63 "" \
64 {dummy.s} \
65 {} \
66 "libtls-1b.so" \
67 ] \
68]
69
982c6f26 70run_ld_link_exec_tests [list \
6eaa7fb5
L
71 [list \
72 "TLS GD/LD -> LE transition without PLT (dynamic)" \
73 "tmpdir/tls-def1.o tmpdir/tls-main1.o tmpdir/tls-gd1.o \
74 tmpdir/tls-ld1.o" \
75 "" \
76 { dummy.s } \
77 "tls-1a" \
78 "pass.out" \
79 ] \
80 [list \
81 "TLS GD/LD -> LE transition without PLT (PIE)" \
82 "-pie tmpdir/tls-def1.o tmpdir/tls-main1.o tmpdir/tls-gd1.o \
83 tmpdir/tls-ld1.o" \
84 "" \
85 { dummy.s } \
86 "tls-1b" \
87 "pass.out" \
88 ] \
89 [list \
90 "TLS GD/LD -> LE transition without PLT (static)" \
91 "-static tmpdir/tls-def1.o tmpdir/tls-main1.o tmpdir/tls-gd1.o \
92 tmpdir/tls-ld1.o" \
93 "" \
94 { dummy.s } \
95 "tls-1c" \
96 "pass.out" \
97 ] \
98 [list \
99 "TLS GD/LD -> IE transition without PLT" \
100 "tmpdir/tls-main1.o tmpdir/tls-gd1.o tmpdir/tls-ld1.o \
e9237227 101 tmpdir/libtls-1a.so -Wl,-R,tmpdir" \
6eaa7fb5
L
102 "" \
103 { dummy.s } \
104 "tls-1d" \
105 "pass.out" \
106 ] \
107 [list \
108 "TLS without PLT (1)" \
109 "tmpdir/tls-main1.o \
e9237227 110 tmpdir/libtls-1a.so tmpdir/libtls-1b.so -Wl,-R,tmpdir" \
6eaa7fb5
L
111 "" \
112 { dummy.s } \
113 "tls-1e" \
114 "pass.out" \
115 ] \
116 [list \
117 "TLS without PLT (2)" \
118 "tmpdir/tls-main1.o tmpdir/tls-def1.o \
e9237227 119 tmpdir/libtls-1b.so -Wl,-R,tmpdir" \
6eaa7fb5
L
120 "" \
121 { dummy.s } \
122 "tls-1f" \
123 "pass.out" \
124 ] \
125]
This page took 0.06153 seconds and 4 git commands to generate.