2005-12-12 Paul Brook <paul@codesourcery.com>
[deliverable/binutils-gdb.git] / ld / testsuite / ld-arm / arm-elf.exp
1 # Expect script for various ARM ELF tests.
2 # Copyright 2002, 2003, 2004 Free Software Foundation, Inc.
3 #
4 # This file is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
6 # the Free Software Foundation; either version 2 of the License, or
7 # (at your option) any later version.
8 #
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
13 #
14 # You should have received a copy of the GNU General Public License
15 # along with this program; if not, write to the Free Software
16 # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
17 #
18
19 # Exclude non-ARM-ELF targets.
20
21 if { ![is_elf_format] || ![istarget "arm*-*-*"] } {
22 return
23 }
24
25 # List contains test-items with 3 items followed by 2 lists:
26 # 0:name 1:ld options 2:assembler options
27 # 3:filenames of assembler files 4: action and options. 5: name of output file
28
29 # Actions:
30 # objdump: Apply objdump options on result. Compare with regex (last arg).
31 # nm: Apply nm options on result. Compare with regex (last arg).
32 # readelf: Apply readelf options on result. Compare with regex (last arg).
33
34 set armelftests {
35 {"Simple non-PIC shared library" "-shared" "" {arm-lib.s}
36 {{objdump -fdw arm-lib.d} {objdump -Rw arm-lib.r}}
37 "arm-lib.so"}
38 {"Simple PIC shared library" "-shared" "" {arm-lib-plt32.s}
39 {{objdump -fdw arm-lib-plt32.d} {objdump -Rw arm-lib-plt32.r}}
40 "arm-lib-plt32.so"}
41 {"Simple dynamic application" "tmpdir/arm-lib.so" "" {arm-app.s}
42 {{objdump -fdw arm-app.d} {objdump -Rw arm-app.r}}
43 "arm-app"}
44 {"Simple static application" "" "" {arm-static-app.s}
45 {{objdump -fdw arm-static-app.d} {objdump -rw arm-static-app.r}}
46 "arm-static-app"}
47 {"Non-pcrel function reference" "tmpdir/arm-lib.so" "" {arm-app-abs32.s}
48 {{objdump -fdw arm-app-abs32.d} {objdump -Rw arm-app-abs32.r}}
49 "arm-app-abs32"}
50 {"Mixed ARM/Thumb shared library" "-shared -T arm-lib.ld" ""
51 {mixed-lib.s}
52 {{objdump -fdw mixed-lib.d} {objdump -Rw mixed-lib.r}
53 {readelf -Ds mixed-lib.sym}}
54 "mixed-lib.so"}
55 {"Mixed ARM/Thumb dynamic application" "tmpdir/mixed-lib.so -T arm-dyn.ld" ""
56 {mixed-app.s}
57 {{objdump -fdw mixed-app.d} {objdump -Rw mixed-app.r}
58 {readelf -Ds mixed-app.sym}}
59 "mixed-app"}
60 {"Mixed ARM/Thumb arch5 dynamic application" "tmpdir/mixed-lib.so -T arm-dyn.ld --use-blx" ""
61 {mixed-app.s}
62 {{objdump -fdw mixed-app-v5.d} {objdump -Rw mixed-app.r}
63 {readelf -Ds mixed-app.sym}}
64 "mixed-app-v5"}
65 {"target1-abs" "-static --target1-abs -T arm.ld" "" {arm-target1.s}
66 {{objdump -s arm-target1-abs.d}}
67 "arm-target1-abs"}
68 {"target1-rel" "-static --target1-rel -T arm.ld" "" {arm-target1.s}
69 {{objdump -s arm-target1-rel.d}}
70 "arm-target1-rel"}
71 {"target2-rel" "-static --target2=rel -T arm.ld" "" {arm-target2.s}
72 {{objdump -s arm-target2-rel.d}}
73 "arm-target2-rel"}
74 {"target2-abs" "-static --target2=abs -T arm.ld" "" {arm-target2.s}
75 {{objdump -s arm-target2-abs.d}}
76 "arm-target2-abs"}
77 {"target2-got-rel" "-static --target2=got-rel -T arm.ld" "" {arm-target2.s}
78 {{objdump -s arm-target2-got-rel.d}}
79 "arm-target2-got-rel"}
80 {"arm-rel31" "-static -T arm.ld" "" {arm-rel31.s}
81 {{objdump -s arm-rel31.d}}
82 "arm-rel31"}
83 {"arm-call" "-static -T arm.ld" "-meabi=4" {arm-call1.s arm-call2.s}
84 {{objdump -d arm-call.d}}
85 "arm-call"}
86 {"TLS shared library" "-shared -T arm-lib.ld" "" {tls-lib.s}
87 {{objdump -fdw tls-lib.d} {objdump -Rw tls-lib.r}}
88 "tls-lib.so"}
89 {"TLS dynamic application" "-T arm-dyn.ld tmpdir/tls-lib.so" "" {tls-app.s}
90 {{objdump -fdw tls-app.d} {objdump -Rw tls-app.r}}
91 "tls-app"}
92 }
93
94 run_ld_link_tests $armelftests
This page took 0.033287 seconds and 5 git commands to generate.