aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorYao Qi <yao.qi@linaro.org>2016-07-21 12:12:18 +0100
committerYao Qi <yao.qi@linaro.org>2016-07-21 12:12:18 +0100
commit21536b367ce73eed103e1389b5f45010f0c96bbb (patch)
tree54558eeac7d9fbd3d465e6beade08c437927b23a /gdb
parent8901d1936e4e691f0b3b976f5626ac5a8f27aa7f (diff)
downloadgdb-21536b367ce73eed103e1389b5f45010f0c96bbb.zip
gdb-21536b367ce73eed103e1389b5f45010f0c96bbb.tar.gz
gdb-21536b367ce73eed103e1389b5f45010f0c96bbb.tar.bz2
Support vCont s and S actions with software single step
GDBserver with software single step should be able to claim supporting vCont s and S actions, so that GDB knows the remote target can do single step. It doesn't matter to GDB that the single step in the remote target is done via hardware or software. gdb/gdbserver: 2016-07-21 Yao Qi <yao.qi@linaro.org> * server.c (handle_v_requests): Support s and S actions if target_supports_software_single_step return true.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/gdbserver/ChangeLog5
-rw-r--r--gdb/gdbserver/server.c13
2 files changed, 13 insertions, 5 deletions
diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog
index e55bae0..1592a11 100644
--- a/gdb/gdbserver/ChangeLog
+++ b/gdb/gdbserver/ChangeLog
@@ -1,5 +1,10 @@
2016-07-21 Yao Qi <yao.qi@linaro.org>
+ * server.c (handle_v_requests): Support s and S actions
+ if target_supports_software_single_step return true.
+
+2016-07-21 Yao Qi <yao.qi@linaro.org>
+
* linux-low.c (resume_stopped_resumed_lwps): If resume request
is resume_step, call maybe_hw_step.
(linux_wait_1): Stop all threads, remove reinsert breakpoints,
diff --git a/gdb/gdbserver/server.c b/gdb/gdbserver/server.c
index 18517bc..6d6cb09 100644
--- a/gdb/gdbserver/server.c
+++ b/gdb/gdbserver/server.c
@@ -2958,12 +2958,15 @@ handle_v_requests (char *own_buf, int packet_len, int *new_packet_len)
{
strcpy (own_buf, "vCont;c;C;t");
- if (target_supports_hardware_single_step () || !vCont_supported)
+ if (target_supports_hardware_single_step ()
+ || target_supports_software_single_step ()
+ || !vCont_supported)
{
- /* If target supports hardware single step, add actions s
- and S to the list of supported actions. On the other
- hand, if GDB doesn't request the supported vCont actions
- in qSupported packet, add s and S to the list too. */
+ /* If target supports single step either by hardware or by
+ software, add actions s and S to the list of supported
+ actions. On the other hand, if GDB doesn't request the
+ supported vCont actions in qSupported packet, add s and
+ S to the list too. */
own_buf = own_buf + strlen (own_buf);
strcpy (own_buf, ";s;S");
}