[PATCH][gdb/testsuite] Skip gdb.rust/*.exp for target board unix/-m32

Tom de Vries tdevries@suse.de
Mon Jan 18 08:49:44 GMT 2021


Hi,

When running gdb.rust/*.exp with target board unix/-m32, we see:
...
Running src/gdb/testsuite/gdb.rust/union.exp ...
gdb compile failed, error: Unrecognized option: 'm'
Running src/gdb/testsuite/gdb.rust/modules.exp ...
gdb compile failed, error: Unrecognized option: 'm'
Running src/gdb/testsuite/gdb.rust/unsized.exp ...
gdb compile failed, error: Unrecognized option: 'm'
Running src/gdb/testsuite/gdb.rust/simple.exp ...
gdb compile failed, error: Unrecognized option: 'm'
Running src/gdb/testsuite/gdb.rust/watch.exp ...
gdb compile failed, error: Unrecognized option: 'm'
Running src/gdb/testsuite/gdb.rust/traits.exp ...
gdb compile failed, error: Unrecognized option: 'm'
Running src/gdb/testsuite/gdb.rust/expr.exp ...
Running src/gdb/testsuite/gdb.rust/rust-style.exp ...
gdb compile failed, error: Unrecognized option: 'm'
Running src/gdb/testsuite/gdb.rust/methods.exp ...
gdb compile failed, error: Unrecognized option: 'm'
Running src/gdb/testsuite/gdb.rust/generics.exp ...
gdb compile failed, error: Unrecognized option: 'm'
                === gdb Summary ===

nr of expected passes            95
nr of untested testcases         9
...

Fix this by testing for -m32 in the target board multilib_flags in
skip_rust_tests.

Tested on x86_64-linux.

Any comments?

Thanks,
- Tom

[gdb/testsuite] Skip gdb.rust/*.exp for target board unix/-m32

gdb/testsuite/ChangeLog:

2021-01-18  Tom de Vries  <tdevries@suse.de>

	* lib/gdb.exp (skip_rust_tests): Skip if multilib_flags contains -m32.

---
 gdb/testsuite/lib/gdb.exp | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
index ae24fe2f49c..23792e04c70 100644
--- a/gdb/testsuite/lib/gdb.exp
+++ b/gdb/testsuite/lib/gdb.exp
@@ -2185,7 +2185,22 @@ proc skip_d_tests {} {
 
 # Return 1 to skip Rust tests, 0 to try them.
 proc skip_rust_tests {} {
-    return [expr {![isnative]}]
+    if { ![isnative] } {
+	return 1
+    }
+
+    # The rust compiler does not support "-m32", skip.
+    global board board_info
+    set board [target_info name]
+    if {[board_info $board exists multilib_flags]} {
+	foreach flag [board_info $board multilib_flags] {
+	    if { $flag == "-m32" } {
+		return 1
+	    }
+	}
+    }
+
+    return 0
 }
 
 # Return a 1 for configurations that do not support Python scripting.


More information about the Gdb-patches mailing list