[8/8,GDBserver] Support vCont s and S actions with software single step
Commit Message
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-05-20 Yao Qi <yao.qi@linaro.org>
* server.c (handle_v_requests): Support s and S actions
if target_supports_software_single_step return true.
---
gdb/gdbserver/server.c | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
Comments
On 05/20/2016 04:12 PM, Yao Qi wrote:
> 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-05-20 Yao Qi <yao.qi@linaro.org>
>
> * server.c (handle_v_requests): Support s and S actions
> if target_supports_software_single_step return true.
LGTM, once the rest of the series is in.
Thanks,
Pedro Alves
@@ -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");
}