[committed] MIPS/binutils/testsuite: Correct mips.exp test ABI/emul/endian arrangement

Maciej W. Rozycki macro@linux-mips.org
Sun Jul 26 13:44:46 GMT 2020


The binutils testsuite supports involving LD in processing test cases 
and with the MIPS target that has the same issues the LD testsuite does.

So to support LD in the MIPS part of the binutils testsuite similarly 
to commit 86b24e15c45b ("MIPS/LD/testsuite: Correct comm-data.exp test 
ABI/emul/endian arrangement") update the mips.exp test script to:

- correctly select emulations for targets using non-traditional MIPS 
  emulations,

- correctly select ABIs for targets that do not support all of them,

- use the default endianness selection where possible to benefit targets
  that support only one,

- simplify test invocation by providing ABI-specific `run_dump_test'
  wrappers, specifically `run_dump_test_o32', `run_dump_test_n32' and
  `run_dump_test_n64', which remove the need to use conditionals across 
  the Expect script or to repeat ABI-specific GAS and LD flags with each 
  invocation,

borrowing changes from commit 78da84f99405 ("MIPS/LD/testsuite: Correct 
mips-elf.exp test ABI/emul/endian arrangement").

As a side effect this disables o32 ABI testing for targets that are not 
supposed to support them and do not with LD, but still have such support
with BFD and GAS due to our inflexibility in configuration.  Ultimately 
we ought to support having o32 completely disabled.

	binutils/
	* testsuite/binutils-all/mips/mips.exp (run_dump_test_abi)
	(run_dump_test_o32, run_dump_test_n32, run_dump_test_n64): New 
	procedures.
	(has_newabi): Remove variable.
	(has_abi, abi_asflags, abi_ldflags): New associative array 
	variables.
	(irixemul): New variable.
	Replace `run_dump_test' calls where applicable throughout with
	`run_dump_test_o32', `run_dump_test_n32' and `run_dump_test_n64'
	as appropriate.  Use `noarch' for tests that require their own 
	architecture setting.
	* testsuite/binutils-all/mips/mips-ase-1.d: Remove GAS flags.
	* testsuite/binutils-all/mips/mips-ase-2.d: Likewise.
	* testsuite/binutils-all/mips/mips-ase-3.d: Likewise.
	* testsuite/binutils-all/mips/mips-note-2-n32.d: Likewise.
	* testsuite/binutils-all/mips/mips-note-2-n64.d: Likewise.
	* testsuite/binutils-all/mips/mips-note-2.d: Likewise.
	* testsuite/binutils-all/mips/mips-note-2r-n32.d: Likewise.
	* testsuite/binutils-all/mips/mips-note-2r-n64.d: Likewise.
	* testsuite/binutils-all/mips/mips-note-2r.d: Likewise.
	* testsuite/binutils-all/mips/mips-reginfo-n32.d: Likewise.
	* testsuite/binutils-all/mips/mips-reginfo.d: Likewise.
	* testsuite/binutils-all/mips/mips16-extend-noinsn.d: Likewise.
	* testsuite/binutils-all/mips/mips16-pcrel.d: Likewise.
	* testsuite/binutils-all/mips/mips16-alias.d: Remove `-32' from 
	GAS flags.
	* testsuite/binutils-all/mips/mips16-extend-insn.d: Likewise.
	* testsuite/binutils-all/mips/mips16-noalias.d: Likewise.
	* testsuite/binutils-all/mips/mips16-undecoded.d: Likewise.
	* testsuite/binutils-all/mips/mips16e2-extend-insn.d: Likewise.
	* testsuite/binutils-all/mips/mips16e2-undecoded.d: Likewise.
	* testsuite/binutils-all/mips/mixed-micromips.d: Likewise.
	* testsuite/binutils-all/mips/mixed-mips16.d: Likewise.
---
No regressions across my usual 55 MIPS targets.  Committed.
---
 binutils/testsuite/binutils-all/mips/mips-ase-1.d           |    1 
 binutils/testsuite/binutils-all/mips/mips-ase-2.d           |    1 
 binutils/testsuite/binutils-all/mips/mips-ase-3.d           |    1 
 binutils/testsuite/binutils-all/mips/mips-note-2-n32.d      |    1 
 binutils/testsuite/binutils-all/mips/mips-note-2-n64.d      |    1 
 binutils/testsuite/binutils-all/mips/mips-note-2.d          |    1 
 binutils/testsuite/binutils-all/mips/mips-note-2r-n32.d     |    1 
 binutils/testsuite/binutils-all/mips/mips-note-2r-n64.d     |    1 
 binutils/testsuite/binutils-all/mips/mips-note-2r.d         |    1 
 binutils/testsuite/binutils-all/mips/mips-reginfo-n32.d     |    1 
 binutils/testsuite/binutils-all/mips/mips-reginfo.d         |    1 
 binutils/testsuite/binutils-all/mips/mips.exp               |  242 ++++++++++--
 binutils/testsuite/binutils-all/mips/mips16-alias.d         |    2 
 binutils/testsuite/binutils-all/mips/mips16-extend-insn.d   |    2 
 binutils/testsuite/binutils-all/mips/mips16-extend-noinsn.d |    1 
 binutils/testsuite/binutils-all/mips/mips16-noalias.d       |    2 
 binutils/testsuite/binutils-all/mips/mips16-pcrel.d         |    1 
 binutils/testsuite/binutils-all/mips/mips16-undecoded.d     |    2 
 binutils/testsuite/binutils-all/mips/mips16e2-extend-insn.d |    2 
 binutils/testsuite/binutils-all/mips/mips16e2-undecoded.d   |    2 
 binutils/testsuite/binutils-all/mips/mixed-micromips.d      |    2 
 binutils/testsuite/binutils-all/mips/mixed-mips16.d         |    2 
 22 files changed, 220 insertions(+), 51 deletions(-)

binutils-mips-binutils-test-abi.diff
Index: binutils/binutils/testsuite/binutils-all/mips/mips-ase-1.d
===================================================================
--- binutils.orig/binutils/testsuite/binutils-all/mips/mips-ase-1.d
+++ binutils/binutils/testsuite/binutils-all/mips/mips-ase-1.d
@@ -1,7 +1,6 @@
 #PROG: objcopy
 #objdump: -dp --prefix-addresses --show-raw-insn
 #name: MIPS ELF file ASE information interpretation for disassembly 1
-#as: -32
 
 # Verify that in the absence of its ASE flag MDMX code is not disassembled
 # with MIPS64r2, where MDMX presence is not implied.
Index: binutils/binutils/testsuite/binutils-all/mips/mips-ase-2.d
===================================================================
--- binutils.orig/binutils/testsuite/binutils-all/mips/mips-ase-2.d
+++ binutils/binutils/testsuite/binutils-all/mips/mips-ase-2.d
@@ -1,7 +1,6 @@
 #PROG: objcopy
 #objdump: -dp --prefix-addresses --show-raw-insn
 #name: MIPS ELF file ASE information interpretation for disassembly 2
-#as: -32
 
 # Verify that in the presence of its ASE flag MDMX code is disassembled
 # with MIPS64r2, where MDMX presence is not implied.
Index: binutils/binutils/testsuite/binutils-all/mips/mips-ase-3.d
===================================================================
--- binutils.orig/binutils/testsuite/binutils-all/mips/mips-ase-3.d
+++ binutils/binutils/testsuite/binutils-all/mips/mips-ase-3.d
@@ -1,7 +1,6 @@
 #PROG: objcopy
 #objdump: -dp --prefix-addresses --show-raw-insn
 #name: MIPS ELF file ASE information interpretation for disassembly 3
-#as: -32
 #objcopy: -R .MIPS.abiflags
 #source: mips-ase-2.s
 
Index: binutils/binutils/testsuite/binutils-all/mips/mips-note-2-n32.d
===================================================================
--- binutils.orig/binutils/testsuite/binutils-all/mips/mips-note-2-n32.d
+++ binutils/binutils/testsuite/binutils-all/mips/mips-note-2-n32.d
@@ -2,6 +2,5 @@
 #readelf: --notes --wide
 #objcopy: --merge-notes
 #name: MIPS merge notes section (n32)
-#as: -n32 -mips3
 #source: ../note-2-32.s
 #dump: ../note-2-32.d
Index: binutils/binutils/testsuite/binutils-all/mips/mips-note-2-n64.d
===================================================================
--- binutils.orig/binutils/testsuite/binutils-all/mips/mips-note-2-n64.d
+++ binutils/binutils/testsuite/binutils-all/mips/mips-note-2-n64.d
@@ -2,6 +2,5 @@
 #readelf: --notes --wide
 #objcopy: --merge-notes
 #name: MIPS merge notes section (n64)
-#as: -64 -mips3
 #source: ../note-2-64.s
 #dump: ../note-2-64.d
Index: binutils/binutils/testsuite/binutils-all/mips/mips-note-2.d
===================================================================
--- binutils.orig/binutils/testsuite/binutils-all/mips/mips-note-2.d
+++ binutils/binutils/testsuite/binutils-all/mips/mips-note-2.d
@@ -2,6 +2,5 @@
 #readelf: --notes --wide
 #objcopy: --merge-notes
 #name: MIPS merge notes section (o32)
-#as: -32
 #source: ../note-2-32.s
 #dump: ../note-2-32.d
Index: binutils/binutils/testsuite/binutils-all/mips/mips-note-2r-n32.d
===================================================================
--- binutils.orig/binutils/testsuite/binutils-all/mips/mips-note-2r-n32.d
+++ binutils/binutils/testsuite/binutils-all/mips/mips-note-2r-n32.d
@@ -2,7 +2,6 @@
 #readelf: --relocs
 #objcopy: --merge-notes
 #name: MIPS merge notes section relocations (n32)
-#as: -n32 -mips3
 #source: ../note-2-32.s
 
 There are no relocations in this file.
Index: binutils/binutils/testsuite/binutils-all/mips/mips-note-2r-n64.d
===================================================================
--- binutils.orig/binutils/testsuite/binutils-all/mips/mips-note-2r-n64.d
+++ binutils/binutils/testsuite/binutils-all/mips/mips-note-2r-n64.d
@@ -2,7 +2,6 @@
 #readelf: --relocs
 #objcopy: --merge-notes
 #name: MIPS merge notes section relocations (n64)
-#as: -64 -mips3
 #source: ../note-2-64.s
 
 There are no relocations in this file.
Index: binutils/binutils/testsuite/binutils-all/mips/mips-note-2r.d
===================================================================
--- binutils.orig/binutils/testsuite/binutils-all/mips/mips-note-2r.d
+++ binutils/binutils/testsuite/binutils-all/mips/mips-note-2r.d
@@ -2,7 +2,6 @@
 #readelf: --relocs
 #objcopy: --merge-notes
 #name: MIPS merge notes section relocations (o32)
-#as: -32
 #source: ../note-2-32.s
 
 There are no relocations in this file.
Index: binutils/binutils/testsuite/binutils-all/mips/mips-reginfo-n32.d
===================================================================
--- binutils.orig/binutils/testsuite/binutils-all/mips/mips-reginfo-n32.d
+++ binutils/binutils/testsuite/binutils-all/mips/mips-reginfo-n32.d
@@ -1,6 +1,5 @@
 #PROG: objcopy
 #name: MIPS objcopy .reginfo section size (n32)
-#as: -n32 -mips3
 #objcopy: --rename-section .foo=.reginfo
 #source: mips-reginfo.s
 #error: \A[^\n]*: incorrect `\.reginfo' section size; expected 24, got 4\n
Index: binutils/binutils/testsuite/binutils-all/mips/mips-reginfo.d
===================================================================
--- binutils.orig/binutils/testsuite/binutils-all/mips/mips-reginfo.d
+++ binutils/binutils/testsuite/binutils-all/mips/mips-reginfo.d
@@ -1,6 +1,5 @@
 #PROG: objcopy
 #name: MIPS objcopy .reginfo section size
-#as: -32
 #objcopy: --rename-section .foo=.reginfo
 #error: \A[^\n]*: incorrect `\.reginfo' section size; expected 24, got 4\n
 #error:   [^\n]*: bad value\Z
Index: binutils/binutils/testsuite/binutils-all/mips/mips.exp
===================================================================
--- binutils.orig/binutils/testsuite/binutils-all/mips/mips.exp
+++ binutils/binutils/testsuite/binutils-all/mips/mips.exp
@@ -27,41 +27,223 @@ if [is_remote host] {
     set copyfile tmpdir/copy
 }
 
-set has_newabi [expr [istarget *-*-irix6*] \
-		     || [istarget mips*-*-linux*] \
-		     || [istarget mips*-sde-elf*] \
-		     || [istarget mips*-mti-elf*] \
-		     || [istarget mips*-img-elf*]]
+# run_dump_test_abi ABI NAME ARGS
+#
+# Invoke "run_dump_test" for test NAME using ABI if supported by the
+# target used, passing predefined ABI-specific arguments.  ARGS are
+# as with "run_dump_test" and are appended to ABI-specific arguments,
+# except for the special "noarch" keyword, which, if present, must
+# appear first and is consumed causing any "-march=" option to be
+# removed from ABI-specific GAS arguments, and likewise the special
+# "useld" keyword, which, if present, must be next and is consumed
+# causing LD arguments to be passed.
+proc run_dump_test_abi { abi name args } {
+    global abi_asflags
+    global abi_ldflags
+    global has_abi
 
-run_dump_test "mips-ase-1"
-run_dump_test "mips-ase-2"
-run_dump_test "mips-ase-3"
+    set args [lindex $args 0]
+    set asflags $abi_asflags($abi)
+    if { [lindex $args 0] == "noarch" } {
+	set asflags [regsub -- {-march=[^[:blank:]]*} $asflags {}]
+	set args [lreplace $args 0 0]
+    }
+    if { [lindex $args 0] == "useld" } {
+	set ldflags $abi_ldflags($abi)
+	set args [lreplace $args 0 0]
+    }
+    if !$has_abi($abi) {
+	lappend args {notarget *-*-*}
+    }
+
+    set testargs [list [list as $asflags]]
+    if { [info exists ldflags] } {
+	lappend testargs [list ld $ldflags]
+    }
+    if { [llength $args] > 0 } {
+	set testargs [concat $testargs $args]
+    }
+
+    run_dump_test $name $testargs
+}
+
+# run_dump_test_o32 NAME ARGS
+#
+# Invoke "run_dump_test_abi" for test NAME using the o32 ABI and
+# passing ARGS.
+proc run_dump_test_o32 { name args } {
+    run_dump_test_abi o32 $name [lindex $args 0]
+}
+
+# run_dump_test_n32 NAME ARGS
+#
+# Invoke "run_dump_test_abi" for test NAME using the n32 ABI and
+# passing ARGS.
+proc run_dump_test_n32 { name args } {
+    run_dump_test_abi n32 $name [lindex $args 0]
+}
+
+# run_dump_test_n64 NAME ARGS
+#
+# Invoke "run_dump_test_abi" for test NAME using the n64 ABI and
+# passing ARGS.
+proc run_dump_test_n64 { name args } {
+    run_dump_test_abi n64 $name [lindex $args 0]
+}
+
+set has_abi(o32) [expr ![istarget *-*-openbsd*] \
+		     && ![istarget mips64*el-ps2-elf*]]
+set has_abi(n32) [expr [istarget *-img-elf*] \
+		     || [istarget *-mti-elf*] \
+		     || [istarget mips64*el-ps2-elf*] \
+		     || [istarget *-sde-elf*] \
+		     || [istarget *-*-freebsd*] \
+		     || [istarget *-*-irix6*] \
+		     || [istarget *-*-kfreebsd*-gnu] \
+		     || [istarget *-*-linux*]]
+set has_abi(n64) [expr [istarget *-*-freebsd*] \
+		     || [istarget *-*-irix6*] \
+		     || [istarget *-*-kfreebsd*-gnu] \
+		     || [istarget *-*-linux*] \
+		     || [istarget *-*-netbsd*] \
+		     || [istarget *-*-openbsd*]]
+
+# Set defaults.
+set abi_asflags(o32) ""
+set abi_asflags(n32) ""
+set abi_asflags(n64) ""
+set abi_asflags(eabi) ""
+set abi_ldflags(o32) ""
+set abi_ldflags(n32) ""
+set abi_ldflags(n64) ""
+set abi_ldflags(eabi) ""
+
+# Override as needed.
+if {[istarget *-*-openbsd*] } {
+    set irixemul 0
+} elseif { [istarget mips64*-*-linux*] } {
+    if [istarget *el-*-*] {
+	set abi_asflags(o32) -32
+	set abi_ldflags(o32) -melf32ltsmip
+	set abi_asflags(n64) "-march=from-abi -64"
+	set abi_ldflags(n64) -melf64ltsmip
+    } else {
+	set abi_asflags(o32) -32
+	set abi_ldflags(o32) -melf32btsmip
+	set abi_asflags(n64) "-march=from-abi -64"
+	set abi_ldflags(n64) -melf64btsmip
+    }
+    set irixemul 0
+} elseif {[istarget *-*-linux*] } {
+    if [istarget *el-*-*] {
+	set abi_asflags(n32) "-march=from-abi -n32"
+	set abi_ldflags(n32) -melf32ltsmipn32
+	set abi_asflags(n64) "-march=from-abi -64"
+	set abi_ldflags(n64) -melf64ltsmip
+    } else {
+	set abi_asflags(n32) "-march=from-abi -n32"
+	set abi_ldflags(n32) -melf32btsmipn32
+	set abi_asflags(n64) "-march=from-abi -64"
+	set abi_ldflags(n64) -melf64btsmip
+    }
+    set irixemul 0
+} elseif {[istarget *-img-elf*] \
+     || [istarget *-mti-elf*] \
+     || [istarget *-sde-elf*] \
+     || [istarget *-*-netbsd*] \
+     || [istarget *-*-linux*] \
+     || [istarget *-*-sysv4*] } {
+    if [istarget *el-*-*] {
+	set abi_asflags(o32) -32
+	set abi_asflags(n32) "-march=from-abi -n32"
+	set abi_ldflags(n32) -melf32ltsmipn32
+	set abi_asflags(n64) "-march=from-abi -64"
+	set abi_ldflags(n64) -melf64ltsmip
+    } else {
+	set abi_asflags(o32) -32
+	set abi_asflags(n32) "-march=from-abi -n32"
+	set abi_ldflags(n32) -melf32btsmipn32
+	set abi_asflags(n64) "-march=from-abi -64"
+	set abi_ldflags(n64) -melf64btsmip
+    }
+    set irixemul 0
+} elseif { [istarget mips64*-*-freebsd*] \
+	   || [istarget mips64*-*-kfreebsd*-gnu] } {
+    if [istarget *el-*-*] {
+	set abi_asflags(o32) -32
+	set abi_ldflags(o32) -melf32ltsmip_fbsd
+	set abi_asflags(n64) "-march=from-abi -64"
+	set abi_ldflags(n64) -melf64ltsmip_fbsd
+    } else {
+	set abi_asflags(o32) -32
+	set abi_ldflags(o32) -melf32btsmip_fbsd
+	set abi_asflags(n64) "-march=from-abi -64"
+	set abi_ldflags(n64) -melf64btsmip_fbsd
+    }
+    set irixemul 0
+} elseif { [istarget *-*-freebsd*] \
+	   || [istarget *-*-kfreebsd*-gnu] } {
+    if [istarget *el-*-*] {
+	set abi_asflags(n32) "-march=from-abi -n32"
+	set abi_ldflags(n32) -melf32ltsmipn32_fbsd
+	set abi_asflags(n64) "-march=from-abi -64"
+	set abi_ldflags(n64) -melf64ltsmip_fbsd
+    } else {
+	set abi_asflags(n32) "-march=from-abi -n32"
+	set abi_ldflags(n32) -melf32btsmipn32_fbsd
+	set abi_asflags(n64) "-march=from-abi -64"
+	set abi_ldflags(n64) -melf64btsmip_fbsd
+    }
+    set irixemul 0
+} elseif { [istarget *vr4100*-*-elf*] \
+	   || [istarget *vr4300*-*-elf*] \
+	   || [istarget *vr5000*-*-elf*] } {
+    set abi_asflags(o32) -32
+    set irixemul 1
+} elseif { [istarget mips64*el-ps2-elf*] } {
+    set abi_asflags(o32) -32
+    set abi_ldflags(o32) -melf32lr5900
+    set irixemul 1
+} elseif { [istarget *-*-elf*] \
+	   || [istarget *-*-rtems*] } {
+    set abi_asflags(o32) -32
+    set irixemul 1
+} elseif { [istarget *-*-irix6*] } {
+    set abi_asflags(o32) -32
+    set abi_asflags(n64) "-march=from-abi -64"
+    set abi_ldflags(o32) -melf32bsmip
+    set abi_ldflags(n64) -melf64bmip
+    set irixemul 1
+} else {
+    set abi_asflags(o32) -32
+    set irixemul 1
+}
+
+run_dump_test_o32 "mips-ase-1"
+run_dump_test_o32 "mips-ase-2"
+run_dump_test_o32 "mips-ase-3"
 run_dump_test "mips-xpa-virt-1"
 run_dump_test "mips-xpa-virt-2"
 run_dump_test "mips-xpa-virt-3"
 run_dump_test "mips-xpa-virt-4"
-run_dump_test "mixed-mips16"
-run_dump_test "mixed-micromips"
+run_dump_test_o32 "mixed-mips16" noarch
+run_dump_test_o32 "mixed-micromips" noarch
 run_dump_test "mixed-mips16-micromips"
-run_dump_test "mips16-undecoded"
-run_dump_test "mips16e2-undecoded"
-run_dump_test "mips16-pcrel"
-run_dump_test "mips16-extend-noinsn"
-run_dump_test "mips16-extend-insn"
-run_dump_test "mips16e2-extend-insn"
-run_dump_test "mips16-alias"
-run_dump_test "mips16-noalias"
+run_dump_test_o32 "mips16-undecoded" noarch
+run_dump_test_o32 "mips16e2-undecoded" noarch
+run_dump_test_o32 "mips16-pcrel"
+run_dump_test_o32 "mips16-extend-noinsn"
+run_dump_test_o32 "mips16-extend-insn" noarch
+run_dump_test_o32 "mips16e2-extend-insn" noarch
+run_dump_test_o32 "mips16-alias" noarch
+run_dump_test_o32 "mips16-noalias" noarch
 
-run_dump_test "mips-note-2"
-run_dump_test "mips-note-2r"
-if $has_newabi {
-    run_dump_test "mips-note-2-n32"
-    run_dump_test "mips-note-2-n64"
-    run_dump_test "mips-note-2r-n32"
-    run_dump_test "mips-note-2r-n64"
-}
+run_dump_test_o32 "mips-note-2"
+run_dump_test_n32 "mips-note-2-n32"
+run_dump_test_n64 "mips-note-2-n64"
+run_dump_test_o32 "mips-note-2r"
+run_dump_test_n32 "mips-note-2r-n32"
+run_dump_test_n64 "mips-note-2r-n64"
 
-run_dump_test "mips-reginfo"
-if $has_newabi {
-    run_dump_test "mips-reginfo-n32"
-}
+run_dump_test_o32 "mips-reginfo"
+run_dump_test_n32 "mips-reginfo-n32"
Index: binutils/binutils/testsuite/binutils-all/mips/mips16-alias.d
===================================================================
--- binutils.orig/binutils/testsuite/binutils-all/mips/mips16-alias.d
+++ binutils/binutils/testsuite/binutils-all/mips/mips16-alias.d
@@ -1,7 +1,7 @@
 #PROG: objcopy
 #objdump: -d --prefix-addresses --show-raw-insn
 #name: MIPS16 instruction alias disassembly
-#as: -32 -mips3
+#as: -mips3
 
 .*: +file format .*mips.*
 
Index: binutils/binutils/testsuite/binutils-all/mips/mips16-extend-insn.d
===================================================================
--- binutils.orig/binutils/testsuite/binutils-all/mips/mips16-extend-insn.d
+++ binutils/binutils/testsuite/binutils-all/mips/mips16-extend-insn.d
@@ -1,7 +1,7 @@
 #PROG: objcopy
 #objdump: -d --prefix-addresses --show-raw-insn
 #name: MIPS16 extensible and non-extensible instruction disassembly
-#as: -32 -mips64
+#as: -mips64
 
 # Verify interpreted and separate respectively EXTEND prefix disassembly
 # for extensible and non-extensible instructions.
Index: binutils/binutils/testsuite/binutils-all/mips/mips16-extend-noinsn.d
===================================================================
--- binutils.orig/binutils/testsuite/binutils-all/mips/mips16-extend-noinsn.d
+++ binutils/binutils/testsuite/binutils-all/mips/mips16-extend-noinsn.d
@@ -1,7 +1,6 @@
 #PROG: objcopy
 #objdump: -d --prefix-addresses --show-raw-insn
 #name: MIPS16 unsupported EXTEND and undefined opcode disassembly
-#as: -32
 
 # Verify raw hexadecimal EXTEND and inexistent opcode disassembly.
 
Index: binutils/binutils/testsuite/binutils-all/mips/mips16-noalias.d
===================================================================
--- binutils.orig/binutils/testsuite/binutils-all/mips/mips16-noalias.d
+++ binutils/binutils/testsuite/binutils-all/mips/mips16-noalias.d
@@ -1,7 +1,7 @@
 #PROG: objcopy
 #objdump: -M no-aliases -d --prefix-addresses --show-raw-insn
 #name: MIPS16 canonical alias disassembly
-#as: -32 -mips3
+#as: -mips3
 #source: mips16-alias.s
 
 .*: +file format .*mips.*
Index: binutils/binutils/testsuite/binutils-all/mips/mips16-pcrel.d
===================================================================
--- binutils.orig/binutils/testsuite/binutils-all/mips/mips16-pcrel.d
+++ binutils/binutils/testsuite/binutils-all/mips/mips16-pcrel.d
@@ -1,7 +1,6 @@
 #PROG: objcopy
 #objdump: -d --prefix-addresses --show-raw-insn
 #name: MIPS16 PC-relative instruction disassembly
-#as: -32
 
 # Verify delay-slot adjustment for PC-relative operations.
 
Index: binutils/binutils/testsuite/binutils-all/mips/mips16-undecoded.d
===================================================================
--- binutils.orig/binutils/testsuite/binutils-all/mips/mips16-undecoded.d
+++ binutils/binutils/testsuite/binutils-all/mips/mips16-undecoded.d
@@ -1,7 +1,7 @@
 #PROG: objcopy
 #objdump: -dr --prefix-addresses --show-raw-insn
 #name: MIPS16 undecoded extended instruction field disassembly
-#as: -32 -mips3
+#as: -mips3
 
 .*: +file format .*mips.*
 
Index: binutils/binutils/testsuite/binutils-all/mips/mips16e2-extend-insn.d
===================================================================
--- binutils.orig/binutils/testsuite/binutils-all/mips/mips16e2-extend-insn.d
+++ binutils/binutils/testsuite/binutils-all/mips/mips16e2-extend-insn.d
@@ -1,7 +1,7 @@
 #PROG: objcopy
 #objdump: -d --prefix-addresses --show-raw-insn
 #name: MIPS16e2 extensible and non-extensible instruction disassembly
-#as: -32 -mips64r2 -mmips16e2
+#as: -mips64r2 -mmips16e2
 #source: mips16-extend-insn.s
 
 # Verify interpreted and separate respectively EXTEND prefix disassembly
Index: binutils/binutils/testsuite/binutils-all/mips/mips16e2-undecoded.d
===================================================================
--- binutils.orig/binutils/testsuite/binutils-all/mips/mips16e2-undecoded.d
+++ binutils/binutils/testsuite/binutils-all/mips/mips16e2-undecoded.d
@@ -1,7 +1,7 @@
 #PROG: objcopy
 #objdump: -dr --prefix-addresses --show-raw-insn
 #name: MIPS16e2 undecoded extended instruction field disassembly
-#as: -32 -mips64r2 -mmips16e2
+#as: -mips64r2 -mmips16e2
 #source: mips16-undecoded.s
 
 .*: +file format .*mips.*
Index: binutils/binutils/testsuite/binutils-all/mips/mixed-micromips.d
===================================================================
--- binutils.orig/binutils/testsuite/binutils-all/mips/mixed-micromips.d
+++ binutils/binutils/testsuite/binutils-all/mips/mixed-micromips.d
@@ -1,7 +1,7 @@
 #PROG: objcopy
 #objdump: -dr --prefix-addresses --show-raw-insn
 #name: Mixed MIPS and microMIPS disassembly
-#as: -32 -mips2
+#as: -mips2
 
 # Test mixed-mode disassembly in overlapping sections.
 
Index: binutils/binutils/testsuite/binutils-all/mips/mixed-mips16.d
===================================================================
--- binutils.orig/binutils/testsuite/binutils-all/mips/mixed-mips16.d
+++ binutils/binutils/testsuite/binutils-all/mips/mixed-mips16.d
@@ -1,7 +1,7 @@
 #PROG: objcopy
 #objdump: -dr --prefix-addresses --show-raw-insn
 #name: Mixed MIPS and MIPS16 disassembly
-#as: -32 -mips2
+#as: -mips2
 
 # Test mixed-mode disassembly in overlapping sections.
 


More information about the Binutils mailing list