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
7c99e7e2b08
"[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.
+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
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\." \
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"
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)"
+ }
+ }
}
###
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"
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"
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)"
+ }
+ }
}
###