]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blob - ld/testsuite/ld-vax-elf/vax-elf.exp
Copyright update for binutils
[thirdparty/binutils-gdb.git] / ld / testsuite / ld-vax-elf / vax-elf.exp
1 # Expect script for VAX ELF linker tests
2 # Copyright (C) 2012-2016 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 if { ![istarget vax-*-*] || ![is_elf_format] } {
23 return
24 }
25
26 run_ld_link_tests [list \
27 [list "PLT test (shared library)" \
28 "-shared -T plt-local-lib.ld" "" \
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)" \
34 "-r" "" \
35 "-k" \
36 { plt-local-hidden-pic.s } \
37 {} \
38 "plt-local-hidden-pic-r.o"] \
39 [list "PLT test (object 2)" \
40 "-r" "" \
41 "-k" \
42 { plt-local-rehidden-pic.s } \
43 {} \
44 "plt-local-rehidden-pic-r.o"] \
45 [list "PLT test (executable)" \
46 "-T plt-local.ld tmpdir/plt-local-hidden-pic-r.o tmpdir/plt-local-rehidden-pic-r.o tmpdir/plt-local-lib.so" "" \
47 "" \
48 { plt-local.s } \
49 { { objdump -d plt-local.dd } } \
50 "plt-local"]]
51
52 # Global offset table tests. Make sure hidden symbols do not get GOT
53 # assignments.
54 run_ld_link_tests [list \
55 [list "GOT test (auxiliary shared library)" \
56 "-shared" "" \
57 "-k" \
58 { got-local-aux.s } \
59 {} \
60 "got-local-aux.so"] \
61 [list "GOT test (object 1)" \
62 "-r" "" \
63 "-k" \
64 { got-local-ref.s } \
65 {} \
66 "got-local-ref-r.o"] \
67 [list "GOT test (object 2)" \
68 "-r" "" \
69 "-k" \
70 { got-local-def.s } \
71 {} \
72 "got-local-def-r.o"] \
73 [list "GOT test (executable)" \
74 "-e 0 tmpdir/got-local-aux.so tmpdir/got-local-ref-r.o tmpdir/got-local-def-r.o" "" \
75 "" \
76 {} \
77 { { readelf "-x .got" got-local-exe.xd } } \
78 "got-local-exe"] \
79 [list "GOT test (shared library)" \
80 "-shared tmpdir/got-local-aux.so tmpdir/got-local-ref-r.o tmpdir/got-local-def-r.o" "" \
81 "" \
82 {} \
83 { { readelf "-x .got" got-local-lib.xd } } \
84 "got-local-lib.so"]]
85
86 # Export class relocation tests.
87 run_ld_link_tests [list \
88 [list \
89 "VAX export class call relocation test" \
90 "-shared -Ttext 0x12340000 -T export-class.ld" "" \
91 "-k" \
92 [list export-class-call.s export-class-def.s] \
93 [list \
94 [list objdump -d export-class-call.dd] \
95 [list readelf -r export-class-call.rd] \
96 [list readelf "-x .got" export-class-call.xd]] \
97 "export-class-call.so"] \
98 [list \
99 "VAX export class data relocation test" \
100 "-shared -Ttext 0x12340000 -T export-class.ld" "" \
101 "-k" \
102 [list export-class-data.s export-class-def.s] \
103 [list \
104 [list objdump -d export-class-data.dd] \
105 [list readelf -r export-class-data.rd] \
106 [list readelf "-x .got" export-class-data.xd]] \
107 "export-class-data.so"]]