aboutsummaryrefslogtreecommitdiff
path: root/ld/testsuite/ld-mips-elf
diff options
context:
space:
mode:
authorYunQiang Su <yunqiang.su@cipunited.com>2023-07-28 06:00:36 +0100
committerMaciej W. Rozycki <macro@orcam.me.uk>2023-07-28 06:00:36 +0100
commit3c8ed624caf3317b2155a8c00a7af6a8bb6a3c10 (patch)
tree6ab2b428e1457bd24e077796f74562ecbc8013f7 /ld/testsuite/ld-mips-elf
parentce0077a2e724146285c282037a41c68de6c0608d (diff)
downloadfsf-binutils-gdb-3c8ed624caf3317b2155a8c00a7af6a8bb6a3c10.zip
fsf-binutils-gdb-3c8ed624caf3317b2155a8c00a7af6a8bb6a3c10.tar.gz
fsf-binutils-gdb-3c8ed624caf3317b2155a8c00a7af6a8bb6a3c10.tar.bz2
MIPS/LD/testsuite: Fix MIPS16 interlinking test n64 regressions
The MIPS16 interlinking test for local functions expects to be assembled with 32-bit addressing, otherwise causing assembly warnings: .../ld/testsuite/ld-mips-elf/mips16-local-stubs-1.s: Assembler messages: .../ld/testsuite/ld-mips-elf/mips16-local-stubs-1.s:16: Warning: la used to load 64-bit address; recommend using dla instead Use the per-ABI framework then to run the test explicitly for o32 and n32 ABIs only, replacing the `-mips4' option from the `as' tag with `.module mips4' pseudo-op within the source itself so as to avoid assembly errors: Assembler messages: Error: -mips4 conflicts with the other architecture options, which imply -mips3 with n32 testing for some targets, and ultimately removing these regressions: mips64-openbsd -FAIL: MIPS16 interlinking for local functions 1 mips64el-openbsd -FAIL: MIPS16 interlinking for local functions 1 Co-Authored-By: Maciej W. Rozycki <macro@orcam.me.uk> ld/ * testsuite/ld-mips-elf/mips16-local-stubs-1.d: Remove `-mips4' from the `as' tag. * testsuite/ld-mips-elf/mips16-local-stubs-1.s: Add `.module mips4'. * testsuite/ld-mips-elf/mips-elf.exp: Run `mips16-local-stubs-1' for o32 and n32 ABIs only.
Diffstat (limited to 'ld/testsuite/ld-mips-elf')
-rw-r--r--ld/testsuite/ld-mips-elf/mips-elf.exp3
-rw-r--r--ld/testsuite/ld-mips-elf/mips16-local-stubs-1.d1
-rw-r--r--ld/testsuite/ld-mips-elf/mips16-local-stubs-1.s2
3 files changed, 4 insertions, 2 deletions
diff --git a/ld/testsuite/ld-mips-elf/mips-elf.exp b/ld/testsuite/ld-mips-elf/mips-elf.exp
index 1c634ee..7d87ffd 100644
--- a/ld/testsuite/ld-mips-elf/mips-elf.exp
+++ b/ld/testsuite/ld-mips-elf/mips-elf.exp
@@ -1047,7 +1047,8 @@ if { $has_abi(o32) } {
run_ld_link_tests $mips16_intermix_test
}
-run_dump_test "mips16-local-stubs-1"
+run_dump_test_o32 "mips16-local-stubs-1"
+run_dump_test_n32 "mips16-local-stubs-1" [list [list name (n32)]]
set mips16_fp_stub_test [list \
[list "Floating-point stub for mips16 functions" \
diff --git a/ld/testsuite/ld-mips-elf/mips16-local-stubs-1.d b/ld/testsuite/ld-mips-elf/mips16-local-stubs-1.d
index 1ffa1d1..75ed92f 100644
--- a/ld/testsuite/ld-mips-elf/mips16-local-stubs-1.d
+++ b/ld/testsuite/ld-mips-elf/mips16-local-stubs-1.d
@@ -1,6 +1,5 @@
#name: MIPS16 interlinking for local functions 1
#source: mips16-local-stubs-1.s
-#as: -mips4
#ld: -Ttext 0x20000000 -e caller1
#objdump: -dr
#...
diff --git a/ld/testsuite/ld-mips-elf/mips16-local-stubs-1.s b/ld/testsuite/ld-mips-elf/mips16-local-stubs-1.s
index 9904402..35c9141 100644
--- a/ld/testsuite/ld-mips-elf/mips16-local-stubs-1.s
+++ b/ld/testsuite/ld-mips-elf/mips16-local-stubs-1.s
@@ -1,3 +1,5 @@
+ .module mips4
+
.macro makestub,type,func,section
.text
.set \type