From 3c8ed624caf3317b2155a8c00a7af6a8bb6a3c10 Mon Sep 17 00:00:00 2001 From: YunQiang Su Date: Fri, 28 Jul 2023 06:00:36 +0100 Subject: [PATCH] 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 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. --- ld/testsuite/ld-mips-elf/mips-elf.exp | 3 ++- ld/testsuite/ld-mips-elf/mips16-local-stubs-1.d | 1 - ld/testsuite/ld-mips-elf/mips16-local-stubs-1.s | 2 ++ 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 1c634eec8ba..7d87ffde4a1 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 1ffa1d12453..75ed92f4000 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 99044025842..35c9141dc0d 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 -- 2.30.2