aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/testsuite/gdb.base/sss-bp-on-user-bp.c4
-rw-r--r--gdb/testsuite/gdb.base/sss-bp-on-user-bp.exp20
2 files changed, 19 insertions, 5 deletions
diff --git a/gdb/testsuite/gdb.base/sss-bp-on-user-bp.c b/gdb/testsuite/gdb.base/sss-bp-on-user-bp.c
index ff82051..edc2e8c 100644
--- a/gdb/testsuite/gdb.base/sss-bp-on-user-bp.c
+++ b/gdb/testsuite/gdb.base/sss-bp-on-user-bp.c
@@ -21,10 +21,10 @@
int
main (void)
{
- /* Assume writes to integers compile to a single instruction. */
volatile int i = 0;
i = 1; /* set foo break here */
- i = 2; /* set bar break here */
+ i = 2;
+
return 0;
}
diff --git a/gdb/testsuite/gdb.base/sss-bp-on-user-bp.exp b/gdb/testsuite/gdb.base/sss-bp-on-user-bp.exp
index 2a12ad6..0b39fc1 100644
--- a/gdb/testsuite/gdb.base/sss-bp-on-user-bp.exp
+++ b/gdb/testsuite/gdb.base/sss-bp-on-user-bp.exp
@@ -32,7 +32,21 @@ if ![runto_main] then {
gdb_breakpoint [gdb_get_line_number "set foo break here"]
gdb_continue_to_breakpoint "first breakpoint" ".* set foo break here .*"
-gdb_breakpoint [gdb_get_line_number "set bar break here"]
+# Get the address of the next instruction and set a breakpoint there.
+set next_insn_addr ""
+set test "disassemble main"
+gdb_test_multiple $test $test {
+ -re ".*=> $hex <\\+$decimal>:\[^\r\n\]+\r\n ($hex) .*$gdb_prompt $" {
+ set next_insn_addr $expect_out(1,string)
+ pass $test
+ }
+}
+
+if { $next_insn_addr == "" } {
+ return -1
+}
+
+gdb_test "b *$next_insn_addr" "Breakpoint .*"
# So that GDB doesn't try to remove the regular breakpoint when the
# step finishes.
@@ -43,9 +57,9 @@ gdb_test_no_output "set breakpoint always-inserted on"
# remove it. But, a regular breakpoint is planted there already, and
# with always-inserted on, should remain planted when the step
# finishes.
-gdb_test "si" "Breakpoint .* bar break .*"
+gdb_test "si" "Breakpoint .*"
# If the breakpoint is still correctly inserted, then this jump should
# re-trigger it. Otherwise, GDB will lose control and the program
# will exit. See PR breakpoints/17000.
-gdb_test "jump *\$pc" "Breakpoint .* bar break .*"
+gdb_test "jump *\$pc" "Breakpoint .*"