forked from Imagelibrary/binutils-gdb
[gdb/testsuite] Fix gdb.dwarf2/shortpiece.exp on s390x
On s390x-linux, I run into:
...
(gdb) p (short []) s1^M
$3 = {0, 1, 0, <optimized out>}^M
(gdb) FAIL: gdb.dwarf2/shortpiece.exp: p (short []) s1
...
while this is expected:
...
(gdb) p (short []) s1^M
$3 = {1, 0, 0, <optimized out>}^M
(gdb) PASS: gdb.dwarf2/shortpiece.exp: p (short []) s1
...
The type of s1 is:
...
(gdb) ptype s1
type = struct S {
myint a;
myushort b;
}
...
so the difference is due the fact that viewing an int as two shorts gives
different results depending on the endianness.
Fix this by allowing both results.
Tested on x86_64-linux and s390x-linux.
Approved-By: Tom Tromey <tom@tromey.com>
This commit is contained in:
@@ -138,7 +138,9 @@ gdb_test "p s2" \
|
||||
# This test verifies that GDB can print a pieced value casted to a
|
||||
# different type.
|
||||
gdb_test "p (int \[\]) s1" " = \\{1, <optimized out>\\}"
|
||||
gdb_test "p (short \[\]) s1" " = \\{1, 0, 0, <optimized out>\\}"
|
||||
set re_little [string_to_regexp "{1, 0, 0, <optimized out>}"]
|
||||
set re_big [string_to_regexp "{0, 1, 0, <optimized out>}"]
|
||||
gdb_test {p (short []) s1} " = ($re_little|$re_big)"
|
||||
|
||||
# Test for correct output if the size of the original object is not a
|
||||
# multiple of the array's element size.
|
||||
|
||||
Reference in New Issue
Block a user