]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blob - ld/testsuite/ld-loongarch-elf/ld-loongarch-elf.exp
Update year range in copyright notice of binutils files
[thirdparty/binutils-gdb.git] / ld / testsuite / ld-loongarch-elf / ld-loongarch-elf.exp
1 # Expect script for LoongArch ELF linker tests
2 # Copyright (C) 2021-2024 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 proc loongarch_choose_lp64_emul {} {
23 if { [istarget "loongarch64be-*"] } {
24 return "elf64bloongarch"
25 }
26 return "elf64lloongarch"
27 }
28
29 if [istarget "loongarch64-*-*"] {
30 run_dump_test "jmp_op"
31 run_dump_test "macro_op"
32 run_dump_test "syscall"
33 run_dump_test "disas-jirl"
34 run_dump_test "local-ifunc-reloc"
35 run_dump_test "anno-sym"
36 }
37
38 if [istarget "loongarch32-*-*"] {
39 run_dump_test "jmp_op"
40 run_dump_test "macro_op_32"
41 run_dump_test "syscall"
42 run_dump_test "disas-jirl-32"
43 }
44
45 if [istarget "loongarch64-*-*"] {
46 if [check_shared_lib_support] {
47 run_ld_link_tests \
48 [list \
49 [list \
50 "64_pcrel" \
51 "-e 0x0 -z relro" "" \
52 "" \
53 {64_pcrel.s} \
54 [list \
55 [list objdump -D 64_pcrel.d] \
56 ] \
57 "64_pcrel" \
58 ] \
59 ]
60 }
61
62 # loongarch*-elf target do not support -shared option
63 if [check_shared_lib_support] {
64 run_ld_link_tests \
65 [list \
66 [list \
67 "data plt" \
68 "-shared" "" \
69 "" \
70 {data-plt.s} \
71 {} \
72 "data-plt.so" \
73 ] \
74 ]
75
76 if [file exist "tmpdir/data-plt.so"] {
77 set objdump_output [run_host_cmd "objdump" "-d tmpdir/data-plt.so"]
78 if { [ regexp "<a@plt>" $objdump_output] } {
79 fail "data plt"
80 } {
81 pass "data plt"
82 }
83 }
84 }
85
86 run_ld_link_tests \
87 [list \
88 [list \
89 "medium code model call" \
90 "-e 0x0" "" \
91 "" \
92 {medium-call.s} \
93 {} \
94 "medium-call" \
95 ] \
96 ]
97 }
98
99 if [istarget "loongarch64-*-*"] {
100 if [check_shared_lib_support] {
101 run_dump_test "desc-ie"
102 run_dump_test "desc-le"
103 run_dump_test "ie-le"
104 run_dump_test "tlsdesc-dso"
105 run_dump_test "desc-norelax"
106 run_dump_test "desc-relax"
107 }
108 }