forked from Imagelibrary/binutils-gdb
[gdb/testsuite] Make gdb.arch/amd64-gs_base.exp unsupported for i386
With target board unix/-m32 I run into: ... (gdb) print /x $fs_base^M $1 = void^M (gdb) FAIL: gdb.arch/amd64-gs_base.exp: print fs_base ... The problem is that the fs_base register is not supported for i386. Fix this by making the test unsupported if fs_base/gs_base don't show up in info register sys output. Tested on x86_64-linux. gdb/testsuite/ChangeLog: 2020-12-04 Tom de Vries <tdevries@suse.de> PR testsuite/26990 * gdb.arch/amd64-gs_base.exp: Handle -m32 where fs_base and gs_base are unsupported.
This commit is contained in:
@@ -1,3 +1,9 @@
|
||||
2020-12-04 Tom de Vries <tdevries@suse.de>
|
||||
|
||||
PR testsuite/26990
|
||||
* gdb.arch/amd64-gs_base.exp: Handle -m32 where fs_base and gs_base
|
||||
are unsupported.
|
||||
|
||||
2020-12-04 Tom de Vries <tdevries@suse.de>
|
||||
|
||||
* gdb.reverse/insn-reverse.exp: Don't break inside gdb_test_multiple
|
||||
|
||||
@@ -30,6 +30,31 @@ if ![runto_main] {
|
||||
return -1
|
||||
}
|
||||
|
||||
# Test the presence of fs_base and gs_base on the system
|
||||
# register group and values.
|
||||
#
|
||||
set ws "\[\t \]+"
|
||||
set info_reg_out [multi_line "info register sys" \
|
||||
"fs_base${ws}$hex${ws}$decimal"\
|
||||
"gs_base${ws}$hex${ws}$decimal"\
|
||||
"orig_rax${ws}$hex${ws}\[-\]$decimal" ]
|
||||
set info_reg_out_m32 [multi_line "info register sys" \
|
||||
"orig_eax${ws}$hex${ws}\[-\]$decimal" ]
|
||||
|
||||
set supported 0
|
||||
gdb_test_multiple "info register sys" "" {
|
||||
-re -wrap $info_reg_out {
|
||||
set supported 1
|
||||
}
|
||||
-re -wrap $info_reg_out_m32 {
|
||||
}
|
||||
}
|
||||
|
||||
if { ! $supported } {
|
||||
unsupported "target does not support fs_base and gs_base"
|
||||
return -1
|
||||
}
|
||||
|
||||
gdb_test "print /x \$fs_base" "= $hex" "print fs_base"
|
||||
gdb_test "print /x \$gs_base" "= $hex" "print gs_base"
|
||||
|
||||
@@ -39,7 +64,6 @@ gdb_test "print \$gs_base = 3" "= 3" "set gs_base"
|
||||
# Test the presence of fs_base and gs_base on the system
|
||||
# register group and values.
|
||||
#
|
||||
set ws "\[\t \]+"
|
||||
set info_reg_out [multi_line "info register sys" \
|
||||
"fs_base${ws}0x2${ws}2"\
|
||||
"gs_base${ws}0x3${ws}3"\
|
||||
|
||||
Reference in New Issue
Block a user