diff options
author | Pedro Alves <palves@redhat.com> | 2013-05-23 17:13:56 +0000 |
---|---|---|
committer | Pedro Alves <palves@redhat.com> | 2013-05-23 17:13:56 +0000 |
commit | 7ac839d2ea970056e05eb9aabfa2925c6c9d6a13 (patch) | |
tree | 6990827b84a80ae3ee82c9bfcaf51384d447cd40 | |
parent | 34d2892f76ba085447dad2041ebace48815a45fc (diff) | |
download | gdb-7ac839d2ea970056e05eb9aabfa2925c6c9d6a13.tar.gz |
Convert rs->support_vCont_t to a struct.
Convert the 'support_vCont_t' int field to a struct, in preparation
for adding more fields to it.
gdb/
2013-05-23 Yao Qi <yao@codesourcery.com>
Pedro Alves <palves@redhat.com>
* remote.c (struct vCont_action_support): New struct.
(struct remote_state) <support_vCont_t>: Remove field.
<vCont_actions_support>: New field.
(remote_vcont_probe, remote_stop_ns): Update.
-rw-r--r-- | gdb/ChangeLog | 8 | ||||
-rw-r--r-- | gdb/remote.c | 21 |
2 files changed, 24 insertions, 5 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 3389c9fc644..c352fd29668 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,6 +1,14 @@ 2013-05-23 Yao Qi <yao@codesourcery.com> Pedro Alves <palves@redhat.com> + * remote.c (struct vCont_action_support): New struct. + (struct remote_state) <support_vCont_t>: Remove field. + <vCont_actions_support>: New field. + (remote_vcont_probe, remote_stop_ns): Update. + +2013-05-23 Yao Qi <yao@codesourcery.com> + Pedro Alves <palves@redhat.com> + * gdbthread.h (pc_in_thread_step_range): New declaration. * thread.c (pc_in_thread_step_range): New function. * infrun.c (handle_inferior_event): Use it. diff --git a/gdb/remote.c b/gdb/remote.c index 51bf025e7e2..eb58b9454e2 100644 --- a/gdb/remote.c +++ b/gdb/remote.c @@ -251,6 +251,17 @@ static struct cmd_list_element *remote_cmdlist; static struct cmd_list_element *remote_set_cmdlist; static struct cmd_list_element *remote_show_cmdlist; +/* Stub vCont actions support. + + Each field is a boolean flag indicating whether the stub reports + support for the corresponding action. */ + +struct vCont_action_support +{ + /* vCont;t */ + int t; +}; + /* Description of the remote protocol state for the currently connected target. This is per-target state, and independent of the selected architecture. */ @@ -308,8 +319,8 @@ struct remote_state /* True if the stub reports support for non-stop mode. */ int non_stop_aware; - /* True if the stub reports support for vCont;t. */ - int support_vCont_t; + /* The status of the stub support for the various vCont actions. */ + struct vCont_action_support supports_vCont; /* True if the stub reports support for conditional tracepoints. */ int cond_tracepoints; @@ -4641,7 +4652,7 @@ remote_vcont_probe (struct remote_state *rs) support_S = 0; support_c = 0; support_C = 0; - rs->support_vCont_t = 0; + rs->supports_vCont.t = 0; while (p && *p == ';') { p++; @@ -4654,7 +4665,7 @@ remote_vcont_probe (struct remote_state *rs) else if (*p == 'C' && (*(p + 1) == ';' || *(p + 1) == 0)) support_C = 1; else if (*p == 't' && (*(p + 1) == ';' || *(p + 1) == 0)) - rs->support_vCont_t = 1; + rs->supports_vCont.t = 1; p = strchr (p, ';'); } @@ -5003,7 +5014,7 @@ remote_stop_ns (ptid_t ptid) if (remote_protocol_packets[PACKET_vCont].support == PACKET_SUPPORT_UNKNOWN) remote_vcont_probe (rs); - if (!rs->support_vCont_t) + if (!rs->supports_vCont.t) error (_("Remote server does not support stopping threads")); if (ptid_equal (ptid, minus_one_ptid) |