[v3,2/2] GAS/MIPS: Add module-defer-warn2-r2 testcase for r2+ triples

Message ID 20230929150526.3149431-3-yunqiang.su@cipunited.com
State New
Headers
Series GAS/MIPS: Fix testcase module-defer-warn2 for r2+ triples |

Checks

Context Check Description
linaro-tcwg-bot/tcwg_binutils_build--master-arm success Testing passed
linaro-tcwg-bot/tcwg_binutils_build--master-aarch64 success Testing passed
linaro-tcwg-bot/tcwg_binutils_check--master-aarch64 success Testing passed
linaro-tcwg-bot/tcwg_binutils_check--master-arm success Testing passed

Commit Message

YunQiang Su Sept. 29, 2023, 3:05 p.m. UTC
  When gas is configured with --target=mipsisa32r2el-elf, module-defer-warn2
will fail:

/binutils-gdb/gas/testsuite/gas/mips/module-defer-warn2.s: Assembler messages:
/binutils-gdb/gas/testsuite/gas/mips/module-defer-warn2.s:2: Error: `gp=64' used with a 32-bit processor
extra regexps in /binutils-gdb/gas/testsuite/gas/mips/module-defer-warn2.l starting with "^.*:2: .*: `fp=64' used with a 32-bit.*$"
EOF from dump.out
FAIL: mips module-defer-warn2

The reason is that fp64 is allowed for mips32r2 and onward, so
the error message `Error: `fp=64' used with a 32-bit fpu` won't emit.

We also add `#skip` tag to module-defer-warn2.d, to skip r2+ triples;
and use `#noskip` in module-defer-warn2-r2.d for r2+ triples.
---
 gas/testsuite/gas/mips/mips.exp                | 1 +
 gas/testsuite/gas/mips/module-defer-warn2-r2.d | 5 +++++
 gas/testsuite/gas/mips/module-defer-warn2-r2.l | 2 ++
 gas/testsuite/gas/mips/module-defer-warn2.d    | 3 ++-
 4 files changed, 10 insertions(+), 1 deletion(-)
 create mode 100644 gas/testsuite/gas/mips/module-defer-warn2-r2.d
 create mode 100644 gas/testsuite/gas/mips/module-defer-warn2-r2.l
  

Patch

diff --git a/gas/testsuite/gas/mips/mips.exp b/gas/testsuite/gas/mips/mips.exp
index 13c48cd9400..e2f33197117 100644
--- a/gas/testsuite/gas/mips/mips.exp
+++ b/gas/testsuite/gas/mips/mips.exp
@@ -2060,6 +2060,7 @@  if { [istarget mips*-*-vxworks*] } {
     run_dump_test "module-override"
     run_dump_test "module-defer-warn1"
     run_dump_test "module-defer-warn2"
+    run_dump_test "module-defer-warn2-r2"
 
     foreach testopt [list -mfp32 -mfpxx -mfp64 "-mfp64-noodd" \
 			  -msingle-float -msoft-float] {
diff --git a/gas/testsuite/gas/mips/module-defer-warn2-r2.d b/gas/testsuite/gas/mips/module-defer-warn2-r2.d
new file mode 100644
index 00000000000..ddaa2a9508e
--- /dev/null
+++ b/gas/testsuite/gas/mips/module-defer-warn2-r2.d
@@ -0,0 +1,5 @@ 
+#name: .module deferred warnings 2 (R2+)
+#source: module-defer-warn2.s
+#as: -32
+#noskip: mipsisa32r?* mipsisa64r?*
+#error_output: module-defer-warn2-r2.l
diff --git a/gas/testsuite/gas/mips/module-defer-warn2-r2.l b/gas/testsuite/gas/mips/module-defer-warn2-r2.l
new file mode 100644
index 00000000000..5f22ef4d413
--- /dev/null
+++ b/gas/testsuite/gas/mips/module-defer-warn2-r2.l
@@ -0,0 +1,2 @@ 
+.*: Assembler messages:
+.*:2: Error: `gp=64' used with a 32-bit.*
diff --git a/gas/testsuite/gas/mips/module-defer-warn2.d b/gas/testsuite/gas/mips/module-defer-warn2.d
index afe086f84b0..5c2d1d7fa8e 100644
--- a/gas/testsuite/gas/mips/module-defer-warn2.d
+++ b/gas/testsuite/gas/mips/module-defer-warn2.d
@@ -1,4 +1,5 @@ 
-#name: .module deferred warnings 2
+#name: .module deferred warnings 2 (pre-R2)
 #source: module-defer-warn2.s
 #as: -32
+#skip: mipsisa32r?* mipsisa64r?*
 #error_output: module-defer-warn2.l