[committed 05/16] MIPS/LD/testsuite: Fix JALR relaxation test failure with IRIX 6

Maciej W. Rozycki macro@orcam.me.uk
Fri Jul 28 05:06:51 GMT 2023


The `mips-sgi-irix6' target only supports IRIX linker emulations, but 
most JALR relaxation tests request the relevant traditional emulation 
instead, causing a link failure:

./ld-new: unrecognised emulation mode: elf32btsmipn32
Supported emulations: elf32bmipn32 elf32bsmip elf64bmip

This is clearly an omission from the conversion to use the per-ABI 
framework made with commit 78da84f99405 ("MIPS/LD/testsuite: Correct 
mips-elf.exp test ABI/emul/endian arrangement").  These tests are also 
endianness agnostic, which was missed in the conversion as well.

Remove the unnecessary explicit ABI and endianness options then and rely 
on the per-ABI framework to get things right, removing this regression:

mips-sgi-irix6  -FAIL: MIPS relax-jalr-shared n32

	ld/
	* testsuite/ld-mips-elf/relax-jalr-n32-shared.d: Remove flags 
	related to ABI and endianness selection from the `as' and `ld' 
	tags.
	* testsuite/ld-mips-elf/relax-jalr-n64.d: Likewise.
	* testsuite/ld-mips-elf/relax-jalr-n64-shared.d: Likewise.
	* testsuite/ld-mips-elf/mips-elf.exp: Remove `as' and `ld' tag 
	additions from the invocation of JALR relaxation tests.
---
 ld/testsuite/ld-mips-elf/mips-elf.exp            |    8 ++++----
 ld/testsuite/ld-mips-elf/relax-jalr-n32-shared.d |    4 ++--
 ld/testsuite/ld-mips-elf/relax-jalr-n64-shared.d |    4 ++--
 ld/testsuite/ld-mips-elf/relax-jalr-n64.d        |    3 +--
 4 files changed, 9 insertions(+), 10 deletions(-)

binutils-mips-ld-test-relax-jalr.diff
Index: binutils-gdb/ld/testsuite/ld-mips-elf/mips-elf.exp
===================================================================
--- binutils-gdb.orig/ld/testsuite/ld-mips-elf/mips-elf.exp
+++ binutils-gdb/ld/testsuite/ld-mips-elf/mips-elf.exp
@@ -499,10 +499,10 @@ if { $irix } {
     run_dump_test_n64 "elf-rel-xgot-n64" {{as -EB} {ld -EB}}
 }
 
-run_dump_test_n32 "relax-jalr-n32" {{as -EB} {ld -EB}}
-run_dump_test_n32 "relax-jalr-n32-shared" {{as -EB} {ld -EB}}
-run_dump_test_n64 "relax-jalr-n64" {{as -EB} {ld -EB}}
-run_dump_test_n64 "relax-jalr-n64-shared" {{as -EB} {ld -EB}}
+run_dump_test_n32 "relax-jalr-n32"
+run_dump_test_n32 "relax-jalr-n32-shared"
+run_dump_test_n64 "relax-jalr-n64"
+run_dump_test_n64 "relax-jalr-n64-shared"
 
 if { $linux_gnu } {
     run_dump_test_o32 "rel32-o32" {{as -EB} {ld -EB}}
Index: binutils-gdb/ld/testsuite/ld-mips-elf/relax-jalr-n32-shared.d
===================================================================
--- binutils-gdb.orig/ld/testsuite/ld-mips-elf/relax-jalr-n32-shared.d
+++ binutils-gdb/ld/testsuite/ld-mips-elf/relax-jalr-n32-shared.d
@@ -1,8 +1,8 @@
 #name: MIPS relax-jalr-shared n32
 #source: relax-jalr.s
-#as: -march=from-abi -KPIC -n32 -EB
+#as: -KPIC
 #objdump: --prefix-addresses -d --show-raw-insn
-#ld: -shared -melf32btsmipn32
+#ld: -shared
 #target: [check_shared_lib_support]
 
 .*:     file format elf.*mips.*
Index: binutils-gdb/ld/testsuite/ld-mips-elf/relax-jalr-n64-shared.d
===================================================================
--- binutils-gdb.orig/ld/testsuite/ld-mips-elf/relax-jalr-n64-shared.d
+++ binutils-gdb/ld/testsuite/ld-mips-elf/relax-jalr-n64-shared.d
@@ -1,8 +1,8 @@
 #name: MIPS relax-jalr-shared n64
 #source: relax-jalr.s
-#as: -march=from-abi -KPIC -64 -EB
+#as: -KPIC
 #objdump: --prefix-addresses -d --show-raw-insn
-#ld: -shared -melf64btsmip
+#ld: -shared
 #target: [check_shared_lib_support]
 
 .*:     file format elf.*mips.*
Index: binutils-gdb/ld/testsuite/ld-mips-elf/relax-jalr-n64.d
===================================================================
--- binutils-gdb.orig/ld/testsuite/ld-mips-elf/relax-jalr-n64.d
+++ binutils-gdb/ld/testsuite/ld-mips-elf/relax-jalr-n64.d
@@ -1,8 +1,7 @@
 #name: MIPS relax-jalr n64
 #source: relax-jalr.s
-#as: -march=from-abi -KPIC -64 -EB
+#as: -KPIC
 #objdump: --prefix-addresses -d --show-raw-insn
-#ld: -melf64btsmip
 
 .*:     file format elf.*mips.*
 


More information about the Binutils mailing list