65 lines
1.9 KiB
Diff
65 lines
1.9 KiB
Diff
From 1398f45a2641e0e9e0e331681655404ae1d4ed97 Mon Sep 17 00:00:00 2001
|
|
From: Tom de Vries <tdevries@suse.de>
|
|
Date: Tue, 4 Feb 2025 14:06:20 +0100
|
|
Subject: [PATCH] [gdb/testsuite] Fix gdb.ada/big_packed_array.exp on
|
|
s390x-linux
|
|
|
|
When running test-case gdb.ada/big_packed_array.exp on s390x-linux, I run
|
|
into:
|
|
...
|
|
(gdb) print bad^M
|
|
$2 = (0 => 0 <repeats 24 times>, 1)^M
|
|
(gdb) FAIL: gdb.ada/big_packed_array.exp: scenario=minimal: print bad
|
|
...
|
|
|
|
This is with gcc 7.5.0, and this xfail should trigger:
|
|
...
|
|
if { $have_xfail && [string is integer $last] \
|
|
&& [expr ($last & 0xf) == 0] } {
|
|
# gcc/101643
|
|
setup_xfail *-*-*
|
|
}
|
|
...
|
|
but it doesn't because $last is '1'.
|
|
|
|
Fix this by using 0xf0 as mask for big endian.
|
|
|
|
Tested on s390x-linux.
|
|
---
|
|
gdb/testsuite/gdb.ada/big_packed_array.exp | 9 ++++++++-
|
|
1 file changed, 8 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/gdb/testsuite/gdb.ada/big_packed_array.exp b/gdb/testsuite/gdb.ada/big_packed_array.exp
|
|
index 33b1dfd7634..6f030f368d8 100644
|
|
--- a/gdb/testsuite/gdb.ada/big_packed_array.exp
|
|
+++ b/gdb/testsuite/gdb.ada/big_packed_array.exp
|
|
@@ -21,6 +21,8 @@ standard_ada_testfile foo_ra24_010
|
|
|
|
set old_gcc [gnat_version_compare < 9]
|
|
|
|
+set endian [target_endianness]
|
|
+
|
|
foreach_gnat_encoding scenario flags {all minimal} {
|
|
lappend flags debug
|
|
|
|
@@ -54,8 +56,13 @@ foreach_gnat_encoding scenario flags {all minimal} {
|
|
}
|
|
-re -wrap $re_xfail2 {
|
|
set last $expect_out(1,string)
|
|
+ if { $endian == "little" } {
|
|
+ set mask 0x0f
|
|
+ } else {
|
|
+ set mask 0xf0
|
|
+ }
|
|
if { $have_xfail && [string is integer $last] \
|
|
- && [expr ($last & 0xf) == 0] } {
|
|
+ && [expr ($last & $mask) == 0] } {
|
|
# gcc/101643
|
|
setup_xfail *-*-*
|
|
}
|
|
|
|
base-commit: 60f9e60b8d92e20277026ee4ad5fdc71b2bbe09d
|
|
--
|
|
2.43.0
|
|
|