diff options
author | Pedro Alves <palves@redhat.com> | 2013-05-23 17:13:57 +0000 |
---|---|---|
committer | Pedro Alves <palves@redhat.com> | 2013-05-23 17:13:57 +0000 |
commit | d458bd84a8d3576fa7c2b4e3132ebe96e104e918 (patch) | |
tree | 12c71c872b0dc0beacb229c5954cc2b55651d7f1 /gdb/remote.c | |
parent | ce4c476a0f4f38e08bce87f4144aaa7550e9a79d (diff) | |
download | gdb-d458bd84a8d3576fa7c2b4e3132ebe96e104e918.zip gdb-d458bd84a8d3576fa7c2b4e3132ebe96e104e918.tar.gz gdb-d458bd84a8d3576fa7c2b4e3132ebe96e104e918.tar.bz2 |
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.
Diffstat (limited to 'gdb/remote.c')
-rw-r--r-- | gdb/remote.c | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/gdb/remote.c b/gdb/remote.c index 51bf025..eb58b94 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) |