aboutsummaryrefslogtreecommitdiff
path: root/binutils
diff options
context:
space:
mode:
authorMaciej W. Rozycki <macro@linux-mips.org>2020-07-26 14:43:21 +0100
committerMaciej W. Rozycki <macro@linux-mips.org>2020-07-26 14:43:21 +0100
commit3abf97582679343f1708252712e9254d3e0f132c (patch)
tree121245fd69b48bb39358006387274ca5c8289e54 /binutils
parenta237ab1af0c805298c319ca16004a606181c4bd2 (diff)
downloadgdb-3abf97582679343f1708252712e9254d3e0f132c.zip
gdb-3abf97582679343f1708252712e9254d3e0f132c.tar.gz
gdb-3abf97582679343f1708252712e9254d3e0f132c.tar.bz2
MIPS/binutils/testsuite: Correct mips.exp test ABI/emul/endian arrangement
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.
Diffstat (limited to 'binutils')
-rw-r--r--binutils/ChangeLog36
-rw-r--r--binutils/testsuite/binutils-all/mips/mips-ase-1.d1
-rw-r--r--binutils/testsuite/binutils-all/mips/mips-ase-2.d1
-rw-r--r--binutils/testsuite/binutils-all/mips/mips-ase-3.d1
-rw-r--r--binutils/testsuite/binutils-all/mips/mips-note-2-n32.d1
-rw-r--r--binutils/testsuite/binutils-all/mips/mips-note-2-n64.d1
-rw-r--r--binutils/testsuite/binutils-all/mips/mips-note-2.d1
-rw-r--r--binutils/testsuite/binutils-all/mips/mips-note-2r-n32.d1
-rw-r--r--binutils/testsuite/binutils-all/mips/mips-note-2r-n64.d1
-rw-r--r--binutils/testsuite/binutils-all/mips/mips-note-2r.d1
-rw-r--r--binutils/testsuite/binutils-all/mips/mips-reginfo-n32.d1
-rw-r--r--binutils/testsuite/binutils-all/mips/mips-reginfo.d1
-rw-r--r--binutils/testsuite/binutils-all/mips/mips.exp246
-rw-r--r--binutils/testsuite/binutils-all/mips/mips16-alias.d2
-rw-r--r--binutils/testsuite/binutils-all/mips/mips16-extend-insn.d2
-rw-r--r--binutils/testsuite/binutils-all/mips/mips16-extend-noinsn.d1
-rw-r--r--binutils/testsuite/binutils-all/mips/mips16-noalias.d2
-rw-r--r--binutils/testsuite/binutils-all/mips/mips16-pcrel.d1
-rw-r--r--binutils/testsuite/binutils-all/mips/mips16-undecoded.d2
-rw-r--r--binutils/testsuite/binutils-all/mips/mips16e2-extend-insn.d2
-rw-r--r--binutils/testsuite/binutils-all/mips/mips16e2-undecoded.d2
-rw-r--r--binutils/testsuite/binutils-all/mips/mixed-micromips.d2
-rw-r--r--binutils/testsuite/binutils-all/mips/mixed-mips16.d2
23 files changed, 258 insertions, 53 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index e708db7..c308d89 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,3 +1,39 @@
+2020-07-26 Maciej W. Rozycki <macro@linux-mips.org>
+
+ * 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.
+
2020-07-24 Aaron Merey <amerey@redhat.com>
* Makefile.am: Replace LIBDEBUGINFOD with DEBUGINFOD_LIBS.
diff --git a/binutils/testsuite/binutils-all/mips/mips-ase-1.d b/binutils/testsuite/binutils-all/mips/mips-ase-1.d
index d9d5839..cfcefdd 100644
--- a/binutils/testsuite/binutils-all/mips/mips-ase-1.d
+++ b/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.
diff --git a/binutils/testsuite/binutils-all/mips/mips-ase-2.d b/binutils/testsuite/binutils-all/mips/mips-ase-2.d
index baf80dd..ecc6344 100644
--- a/binutils/testsuite/binutils-all/mips/mips-ase-2.d
+++ b/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.
diff --git a/binutils/testsuite/binutils-all/mips/mips-ase-3.d b/binutils/testsuite/binutils-all/mips/mips-ase-3.d
index a52a647..0ae9d1b 100644
--- a/binutils/testsuite/binutils-all/mips/mips-ase-3.d
+++ b/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
diff --git a/binutils/testsuite/binutils-all/mips/mips-note-2-n32.d b/binutils/testsuite/binutils-all/mips/mips-note-2-n32.d
index fe2066c..c2a5818 100644
--- a/binutils/testsuite/binutils-all/mips/mips-note-2-n32.d
+++ b/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
diff --git a/binutils/testsuite/binutils-all/mips/mips-note-2-n64.d b/binutils/testsuite/binutils-all/mips/mips-note-2-n64.d
index e34b083..2a7ed7e 100644
--- a/binutils/testsuite/binutils-all/mips/mips-note-2-n64.d
+++ b/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
diff --git a/binutils/testsuite/binutils-all/mips/mips-note-2.d b/binutils/testsuite/binutils-all/mips/mips-note-2.d
index 4bb328b..195b372 100644
--- a/binutils/testsuite/binutils-all/mips/mips-note-2.d
+++ b/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
diff --git a/binutils/testsuite/binutils-all/mips/mips-note-2r-n32.d b/binutils/testsuite/binutils-all/mips/mips-note-2r-n32.d
index e76466e..7522c28 100644
--- a/binutils/testsuite/binutils-all/mips/mips-note-2r-n32.d
+++ b/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.
diff --git a/binutils/testsuite/binutils-all/mips/mips-note-2r-n64.d b/binutils/testsuite/binutils-all/mips/mips-note-2r-n64.d
index 033dd9b..8b3bd96 100644
--- a/binutils/testsuite/binutils-all/mips/mips-note-2r-n64.d
+++ b/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.
diff --git a/binutils/testsuite/binutils-all/mips/mips-note-2r.d b/binutils/testsuite/binutils-all/mips/mips-note-2r.d
index c130528..821b76c 100644
--- a/binutils/testsuite/binutils-all/mips/mips-note-2r.d
+++ b/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.
diff --git a/binutils/testsuite/binutils-all/mips/mips-reginfo-n32.d b/binutils/testsuite/binutils-all/mips/mips-reginfo-n32.d
index bb207d29..9ecaba2 100644
--- a/binutils/testsuite/binutils-all/mips/mips-reginfo-n32.d
+++ b/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
diff --git a/binutils/testsuite/binutils-all/mips/mips-reginfo.d b/binutils/testsuite/binutils-all/mips/mips-reginfo.d
index ff86a1e..656d02a 100644
--- a/binutils/testsuite/binutils-all/mips/mips-reginfo.d
+++ b/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
diff --git a/binutils/testsuite/binutils-all/mips/mips.exp b/binutils/testsuite/binutils-all/mips/mips.exp
index 1701171..ea06ee6 100644
--- a/binutils/testsuite/binutils-all/mips/mips.exp
+++ b/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 "mips-ase-1"
-run_dump_test "mips-ase-2"
-run_dump_test "mips-ase-3"
+# 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
+
+ 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 "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 "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-reginfo"
-if $has_newabi {
- run_dump_test "mips-reginfo-n32"
-}
+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_o32 "mips-reginfo"
+run_dump_test_n32 "mips-reginfo-n32"
diff --git a/binutils/testsuite/binutils-all/mips/mips16-alias.d b/binutils/testsuite/binutils-all/mips/mips16-alias.d
index 875615b..5878b68 100644
--- a/binutils/testsuite/binutils-all/mips/mips16-alias.d
+++ b/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.*
diff --git a/binutils/testsuite/binutils-all/mips/mips16-extend-insn.d b/binutils/testsuite/binutils-all/mips/mips16-extend-insn.d
index a962320..e3f3d20 100644
--- a/binutils/testsuite/binutils-all/mips/mips16-extend-insn.d
+++ b/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.
diff --git a/binutils/testsuite/binutils-all/mips/mips16-extend-noinsn.d b/binutils/testsuite/binutils-all/mips/mips16-extend-noinsn.d
index 398f5a5..5200efe 100644
--- a/binutils/testsuite/binutils-all/mips/mips16-extend-noinsn.d
+++ b/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.
diff --git a/binutils/testsuite/binutils-all/mips/mips16-noalias.d b/binutils/testsuite/binutils-all/mips/mips16-noalias.d
index 76f61bd..5af2db8 100644
--- a/binutils/testsuite/binutils-all/mips/mips16-noalias.d
+++ b/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.*
diff --git a/binutils/testsuite/binutils-all/mips/mips16-pcrel.d b/binutils/testsuite/binutils-all/mips/mips16-pcrel.d
index 6b8e96b..9ce5cb3 100644
--- a/binutils/testsuite/binutils-all/mips/mips16-pcrel.d
+++ b/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.
diff --git a/binutils/testsuite/binutils-all/mips/mips16-undecoded.d b/binutils/testsuite/binutils-all/mips/mips16-undecoded.d
index 123f2c5..a63bc17 100644
--- a/binutils/testsuite/binutils-all/mips/mips16-undecoded.d
+++ b/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.*
diff --git a/binutils/testsuite/binutils-all/mips/mips16e2-extend-insn.d b/binutils/testsuite/binutils-all/mips/mips16e2-extend-insn.d
index fbdddbb..c449cba 100644
--- a/binutils/testsuite/binutils-all/mips/mips16e2-extend-insn.d
+++ b/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
diff --git a/binutils/testsuite/binutils-all/mips/mips16e2-undecoded.d b/binutils/testsuite/binutils-all/mips/mips16e2-undecoded.d
index 2e9601f..f5e6c3a 100644
--- a/binutils/testsuite/binutils-all/mips/mips16e2-undecoded.d
+++ b/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.*
diff --git a/binutils/testsuite/binutils-all/mips/mixed-micromips.d b/binutils/testsuite/binutils-all/mips/mixed-micromips.d
index 0bc9e41..504ac9d 100644
--- a/binutils/testsuite/binutils-all/mips/mixed-micromips.d
+++ b/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.
diff --git a/binutils/testsuite/binutils-all/mips/mixed-mips16.d b/binutils/testsuite/binutils-all/mips/mixed-mips16.d
index 09e1821..f10fb51 100644
--- a/binutils/testsuite/binutils-all/mips/mixed-mips16.d
+++ b/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.