1 # Expect script for LoongArch ELF linker tests
2 # Copyright (C) 2021-2024 Free Software Foundation, Inc.
4 # This file is part of the GNU Binutils.
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.
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.
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,
22 proc loongarch_choose_lp64_emul {} {
23 if { [istarget "loongarch64be-*"] } {
24 return "elf64bloongarch"
26 return "elf64lloongarch"
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"
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"
45 if [istarget "loongarch64-*-*"] {
46 if [check_shared_lib_support] {
51 "-e 0x0 -z relro" "" \
55 [list objdump -D 64_pcrel.d] \
62 # loongarch*-elf target do not support -shared option
63 if [check_shared_lib_support] {
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] } {
89 "medium code model call" \
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"