diff options
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/testsuite/gdb.base/sss-bp-on-user-bp-2.exp | 39 |
2 files changed, 44 insertions, 0 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 644f5ac..8217403 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,5 +1,10 @@ 2014-06-03 Pedro Alves <palves@redhat.com> + * gdb.base/sss-bp-on-user-bp-2.exp: Skip if testing with a remote + target that doesn't use software single-stepping. + +2014-06-03 Pedro Alves <palves@redhat.com> + PR breakpoints/17000 * gdb.base/sss-bp-on-user-bp-2.c: New file. * gdb.base/sss-bp-on-user-bp-2.exp: New file. diff --git a/gdb/testsuite/gdb.base/sss-bp-on-user-bp-2.exp b/gdb/testsuite/gdb.base/sss-bp-on-user-bp-2.exp index a129bb7..b41f86e 100644 --- a/gdb/testsuite/gdb.base/sss-bp-on-user-bp-2.exp +++ b/gdb/testsuite/gdb.base/sss-bp-on-user-bp-2.exp @@ -42,6 +42,45 @@ if ![runto_main] { return 0 } +delete_breakpoints + +# With the all-stop RSP, we can't talk to the target while it's +# running, until we get back the stop reply. If not using single-step +# breakpoints, then the "del" in stepi_del_break below will try to +# delete the user breakpoint from the target, which will fail, with +# "Cannot execute this command while the target is running.". On +# software single-step targets, that del shouldn't trigger any RSP +# traffic. Just skip the test if testing against a remove target and +# not using software single-stepping. IOW, skip the test if we see a +# 'vCont;s' or 's' in the RSP traffic. + +gdb_test_no_output "set debug remote 1" + +set rsp_hardware_step 0 + +# Probe for software single-step breakpoint use. +set test "probe RSP hardware step" +gdb_test_multiple "si" $test { + -re "\\\$vCont;s.*$gdb_prompt $" { + set rsp_hardware_step 1 + pass $test + } + -re "\\\$s#.*$gdb_prompt $" { + set rsp_hardware_step 1 + pass $test + } + -re "$gdb_prompt $" { + pass $test + } +} + +if { $rsp_hardware_step } { + unsupported "remote target doesn't use software single-stepping" + return +} + +gdb_test_no_output "set debug remote 0" + set line_re "\[^\r\n\]*" gdb_test "b test:label" "Breakpoint .*" |