From c6ec5ab23a17b972c7c78ac66f3685b57db74946 Mon Sep 17 00:00:00 2001 From: Pedro Alves Date: Tue, 3 Jun 2014 14:04:48 +0100 Subject: [PATCH] Skip sss-bp-on-user-bp-2.exp on remote hardware step targets. gdb/testsuite/ 2014-06-03 Pedro Alves * gdb.base/sss-bp-on-user-bp-2.exp: Skip if testing with a remote target that doesn't use software single-stepping. --- gdb/testsuite/ChangeLog | 5 +++ .../gdb.base/sss-bp-on-user-bp-2.exp | 39 +++++++++++++++++++ 2 files changed, 44 insertions(+) diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 644f5ac9117..821740349f1 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2014-06-03 Pedro Alves + + * 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 PR breakpoints/17000 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 a129bb7b38d..b41f86e2b20 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 .*" -- 2.30.2