[gdb/testsuite] Fix gdb.reverse/consecutive-{precsave,reverse}.exp with gcc-8

When running test-cases gdb.reverse/consecutive-precsave.exp and
gdb.reverse/consecutive-reverse.exp with gcc-8, we get:
...
FAIL: gdb.reverse/consecutive-precsave.exp: stopped at bp, 2nd instr
FAIL: gdb.reverse/consecutive-reverse.exp: stopped at bp, 2nd instr
...

These FAILs are duplicates of the FAILs fixed in commit 7c99e7e2b0
"[gdb/testsuite] Fix gdb.base/consecutive.exp with gcc-8".

Fix these in the same manner.

Tested on x86_64-linux.

gdb/testsuite/ChangeLog:

2020-05-06  Tom de Vries  <tdevries@suse.de>

	* gdb.reverse/consecutive-precsave.exp: Handle if instruction after
	breakpoint is at a "recommended breakpoint location".
	* gdb.reverse/consecutive-reverse.exp: Same.
This commit is contained in:
Tom de Vries
2020-05-06 14:48:50 +02:00
parent 0d8683a321
commit 24fe640b4d
3 changed files with 34 additions and 2 deletions

View File

@@ -1,3 +1,9 @@
2020-05-06 Tom de Vries <tdevries@suse.de>
* gdb.reverse/consecutive-precsave.exp: Handle if instruction after
breakpoint is at a "recommended breakpoint location".
* gdb.reverse/consecutive-reverse.exp: Same.
2020-05-06 Tom de Vries <tdevries@suse.de>
* gdb.base/watchpoint-reuse-slot.exp (stepi): Print $pc to get current

View File

@@ -35,6 +35,8 @@ if [supports_process_record] {
gdb_test_no_output "record" "turn on process record"
}
set is_stmt [is_stmt_addresses $srcfile]
set end_location [gdb_get_line_number "end of main" ]
gdb_test "break $end_location" \
"Breakpoint $decimal at .*$srcfile, line $end_location\." \
@@ -79,7 +81,7 @@ gdb_test "break \*$foo2_addr" "Breakpoint $decimal at $foo2_addr: file .*" \
set testmsg "stopped at bp, 2nd instr"
gdb_test_multiple "step" $testmsg {
-re "Breakpoint $decimal, ($hex) in foo.*$gdb_prompt $" {
-re -wrap "Breakpoint $decimal, ($hex) in foo.*" {
set stop_addr $expect_out(1,string)
if [eval expr "$foo2_addr == $stop_addr"] then {
pass "stopped at bp, 2nd instr"
@@ -87,6 +89,17 @@ gdb_test_multiple "step" $testmsg {
fail "stopped at bp, 2nd instr (wrong address)"
}
}
-re -wrap "Breakpoint $decimal, foo.*" {
set stop_addr [get_valueof "/x" "\$pc" "" "value of pc"]
set stop_addr_is_stmt [hex_in_list $stop_addr $is_stmt]
if { ! $stop_addr_is_stmt } {
fail "stopped at bp, 2nd instr (missing hex prefix)"
} elseif [eval expr "$foo2_addr == $stop_addr"] then {
pass "stopped at bp, 2nd instr"
} else {
fail "stopped at bp, 2nd instr (wrong address)"
}
}
}
###

View File

@@ -33,6 +33,8 @@ if [supports_process_record] {
gdb_test_no_output "record" "turn on process record"
}
set is_stmt [is_stmt_addresses $srcfile]
gdb_breakpoint foo
gdb_test "continue" "Breakpoint $decimal, foo .*" \
"continue to breakpoint in foo"
@@ -59,7 +61,7 @@ gdb_test "break \*$foo2_addr" "Breakpoint $decimal at $foo2_addr: file .*" \
set testmsg "stopped at bp, 2nd instr"
gdb_test_multiple "step" $testmsg {
-re "Breakpoint $decimal, ($hex) in foo.*$gdb_prompt $" {
-re -wrap "Breakpoint $decimal, ($hex) in foo.*" {
set stop_addr $expect_out(1,string)
if [eval expr "$foo2_addr == $stop_addr"] then {
pass "stopped at bp, 2nd instr"
@@ -67,6 +69,17 @@ gdb_test_multiple "step" $testmsg {
fail "stopped at bp, 2nd instr (wrong address)"
}
}
-re -wrap "Breakpoint $decimal, foo.*" {
set stop_addr [get_valueof "/x" "\$pc" "" "value of pc"]
set stop_addr_is_stmt [hex_in_list $stop_addr $is_stmt]
if { ! $stop_addr_is_stmt } {
fail "stopped at bp, 2nd instr (missing hex prefix)"
} elseif [eval expr "$foo2_addr == $stop_addr"] then {
pass "stopped at bp, 2nd instr"
} else {
fail "stopped at bp, 2nd instr (wrong address)"
}
}
}
###