]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - ld/testsuite/ld-vax-elf/vax-elf.exp
Update year range in copyright notice of binutils files
[thirdparty/binutils-gdb.git] / ld / testsuite / ld-vax-elf / vax-elf.exp
CommitLineData
a22a8039 1# Expect script for VAX ELF linker tests
d87bef3a 2# Copyright (C) 2012-2023 Free Software Foundation, Inc.
a22a8039
MR
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
22if { ![istarget vax-*-*] || ![is_elf_format] } {
23 return
24}
25
26run_ld_link_tests [list \
27 [list "PLT test (shared library)" \
bab55c05 28 "-shared -T plt-local-lib.ld --hash-style=sysv" "" \
a22a8039
MR
29 "-k" \
30 { plt-local-lib.s } \
31 { { objdump -d plt-local-lib.dd } } \
32 "plt-local-lib.so"] \
33 [list "PLT test (object 1)" \
897aea50 34 "-r" "" \
a22a8039
MR
35 "-k" \
36 { plt-local-hidden-pic.s } \
37 {} \
38 "plt-local-hidden-pic-r.o"] \
39 [list "PLT test (object 2)" \
897aea50 40 "-r" "" \
a22a8039
MR
41 "-k" \
42 { plt-local-rehidden-pic.s } \
43 {} \
44 "plt-local-rehidden-pic-r.o"] \
45 [list "PLT test (executable)" \
9a5c1ed8
MR
46 "-T plt-local.ld --hash-style=sysv tmpdir/plt-local-hidden-pic-r.o \
47 tmpdir/plt-local-rehidden-pic-r.o tmpdir/plt-local-lib.so" "" \
a22a8039
MR
48 "" \
49 { plt-local.s } \
50 { { objdump -d plt-local.dd } } \
51 "plt-local"]]
125b5bac
MR
52
53# Global offset table tests. Make sure hidden symbols do not get GOT
0fcf331b 54# assignments. Also verify offset references.
125b5bac
MR
55run_ld_link_tests [list \
56 [list "GOT test (auxiliary shared library)" \
57 "-shared" "" \
58 "-k" \
59 { got-local-aux.s } \
60 {} \
61 "got-local-aux.so"] \
0fcf331b
MR
62 [list "GOT test (auxiliary shared library for offsets)" \
63 "-shared" "" \
64 "-k" \
65 { got-local-aux-off.s } \
66 {} \
67 "got-local-aux-off.so"] \
125b5bac
MR
68 [list "GOT test (object 1)" \
69 "-r" "" \
70 "-k" \
71 { got-local-ref.s } \
72 {} \
73 "got-local-ref-r.o"] \
0fcf331b
MR
74 [list "GOT test (object 1 hidden reference with offset)" \
75 "-r" "" \
76 "-k" \
77 { got-local-ref-off-hidden.s } \
78 {} \
79 "got-local-ref-off-hidden-r.o"] \
80 [list "GOT test (object 1 visible reference with offset)" \
81 "-r" "" \
82 "-k" \
83 { got-local-ref-off-visible.s } \
84 {} \
85 "got-local-ref-off-visible-r.o"] \
86 [list "GOT test (object 1 external reference with offset)" \
87 "-r" "" \
88 "-k" \
89 { got-local-ref-off-external.s } \
90 {} \
91 "got-local-ref-off-external-r.o"] \
125b5bac
MR
92 [list "GOT test (object 2)" \
93 "-r" "" \
94 "-k" \
95 { got-local-def.s } \
96 {} \
97 "got-local-def-r.o"] \
0fcf331b
MR
98 [list "GOT test (object 2 for offsets)" \
99 "-r" "" \
100 "-k" \
101 { got-local-def-off.s } \
102 {} \
103 "got-local-def-off-r.o"] \
125b5bac 104 [list "GOT test (executable)" \
9a5c1ed8
MR
105 "-e 0 tmpdir/got-local-aux.so tmpdir/got-local-ref-r.o \
106 tmpdir/got-local-def-r.o" "" \
125b5bac
MR
107 "" \
108 {} \
109 { { readelf "-x .got" got-local-exe.xd } } \
110 "got-local-exe"] \
111 [list "GOT test (shared library)" \
9a5c1ed8
MR
112 "-shared tmpdir/got-local-aux.so tmpdir/got-local-ref-r.o \
113 tmpdir/got-local-def-r.o" "" \
125b5bac
MR
114 "" \
115 {} \
116 { { readelf "-x .got" got-local-lib.xd } } \
0fcf331b
MR
117 "got-local-lib.so"] \
118 [list "GOT test (executable hidden reference with offset)" \
119 "-e 0 -T got-local.ld tmpdir/got-local-aux-off.so \
120 tmpdir/got-local-ref-off-hidden-r.o \
121 tmpdir/got-local-def-off-r.o" "" \
122 "" \
123 {} \
124 { { readelf "-x .got" got-local-exe-off.xd } \
125 { objdump -d got-local-exe-off-hidden.dd } } \
126 "got-local-exe-off-hidden"] \
127 [list "GOT test (shared library hidden reference with offset)" \
128 "-shared -T got-local.ld tmpdir/got-local-aux-off.so \
129 tmpdir/got-local-ref-off-hidden-r.o \
130 tmpdir/got-local-def-off-r.o" "" \
131 "" \
132 {} \
133 { { readelf "-x .got" got-local-lib-off.xd } \
134 { objdump -d got-local-lib-off-hidden.dd } } \
135 "got-local-lib-off-hidden.so"] \
136 [list "GOT test (executable visible reference with offset)" \
137 "-e 0 -T got-local.ld tmpdir/got-local-aux-off.so \
138 tmpdir/got-local-ref-off-visible-r.o \
139 tmpdir/got-local-def-off-r.o" "" \
140 "" \
141 {} \
142 { { readelf "-x .got" got-local-exe-off.xd } \
143 { objdump -d got-local-exe-off-visible.dd } } \
144 "got-local-exe-off-visible"] \
145 [list "GOT test (shared library visible reference with offset)" \
146 "-shared -T got-local.ld tmpdir/got-local-aux-off.so \
147 tmpdir/got-local-ref-off-visible-r.o \
148 tmpdir/got-local-def-off-r.o" "" \
149 "" \
150 {} \
151 { { ld got-local-lib-off-visible.ed } } \
152 "got-local-lib-off-visible.so"] \
153 [list "GOT test (executable external reference with offset)" \
154 "-e 0 -T got-local.ld tmpdir/got-local-aux-off.so \
155 tmpdir/got-local-ref-off-external-r.o \
156 tmpdir/got-local-def-off-r.o" "" \
157 "" \
158 {} \
159 { { ld got-local-off-external.ed } } \
160 "got-local-exe-off-external"] \
161 [list "GOT test (shared library external reference with offset)" \
162 "-shared -T got-local.ld tmpdir/got-local-aux-off.so \
163 tmpdir/got-local-ref-off-external-r.o \
164 tmpdir/got-local-def-off-r.o" "" \
165 "" \
166 {} \
167 { { ld got-local-off-external.ed } } \
168 "got-local-lib-off-external.so"]]
1581972d
MR
169
170# Export class relocation tests.
171run_ld_link_tests [list \
172 [list \
173 "VAX export class call relocation test" \
bab55c05 174 "-shared -Ttext 0x12340000 -T export-class.ld --hash-style=sysv" "" \
1581972d
MR
175 "-k" \
176 [list export-class-call.s export-class-def.s] \
177 [list \
178 [list objdump -d export-class-call.dd] \
179 [list readelf -r export-class-call.rd] \
180 [list readelf "-x .got" export-class-call.xd]] \
181 "export-class-call.so"] \
182 [list \
183 "VAX export class data relocation test" \
bab55c05 184 "-shared -Ttext 0x12340000 -T export-class.ld --hash-style=sysv" "" \
1581972d
MR
185 "-k" \
186 [list export-class-data.s export-class-def.s] \
187 [list \
188 [list objdump -d export-class-data.dd] \
189 [list readelf -r export-class-data.rd] \
190 [list readelf "-x .got" export-class-data.xd]] \
191 "export-class-data.so"]]