aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2014-06-03 14:04:48 +0100
committerPedro Alves <palves@redhat.com>2014-06-03 14:04:48 +0100
commitc6ec5ab23a17b972c7c78ac66f3685b57db74946 (patch)
tree01b755e066f7db0b0877da77c24b71116a79bb02 /gdb
parentd3448d85235386883085fedff90263881fc17b8f (diff)
downloadgdb-c6ec5ab23a17b972c7c78ac66f3685b57db74946.zip
gdb-c6ec5ab23a17b972c7c78ac66f3685b57db74946.tar.gz
gdb-c6ec5ab23a17b972c7c78ac66f3685b57db74946.tar.bz2
Skip sss-bp-on-user-bp-2.exp on remote hardware step targets.
gdb/testsuite/ 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.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/testsuite/ChangeLog5
-rw-r--r--gdb/testsuite/gdb.base/sss-bp-on-user-bp-2.exp39
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 .*"