aboutsummaryrefslogtreecommitdiff
path: root/gdb/remote.c
diff options
context:
space:
mode:
authorStan Shebs <shebs@codesourcery.com>2010-04-09 03:00:58 +0000
committerStan Shebs <shebs@codesourcery.com>2010-04-09 03:00:58 +0000
commit33da3f1cb51cb8851ab5b12d1f5fa61e45232276 (patch)
tree811bbe4c9bccec66c21354ad77402caef2fb2b43 /gdb/remote.c
parent64e173680a7cb96b9357bc4fb6764fbe5733f9ea (diff)
downloadgdb-33da3f1cb51cb8851ab5b12d1f5fa61e45232276.zip
gdb-33da3f1cb51cb8851ab5b12d1f5fa61e45232276.tar.gz
gdb-33da3f1cb51cb8851ab5b12d1f5fa61e45232276.tar.bz2
2010-04-08 Stan Shebs <stan@codesourcery.com>
Pedro Alves <pedro@codesourcery.com> * tracepoint.h (struct trace_status): New fields disconnected_tracing and circular_buffer. (disconnect_tracing): Rename from disconnect_or_stop_tracing. * tracepoint.c (trace_status_command): Display target's status for disconnected tracing and circular buffer. (disconnect_tracing): Rename from disconnect_or_stop_tracing, add query for non-disconnected-tracing case, remove the stop_tracing call. (tfile_open): Clear disconnected and circular buffer status. (trace_save): Save disconnected and circular buffer status. (parse_trace_status): Parse disconnected and circular buffer status, also recognize disconnected as a stop reason. * remote.c (remote_set_disconnected_tracing): Only set QTDisconnected if the remote end supports disconnected tracing. Warn otherwise, if trying to enable disconnected tracing. * infcmd.c (detach_command): Update disconnect_tracing call. * cli/cli-cmds.c (quit_command): Ditto. * gdb.texinfo (Tracepoint Packets): Describe disconn and circular trace status fields.
Diffstat (limited to 'gdb/remote.c')
-rw-r--r--gdb/remote.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/gdb/remote.c b/gdb/remote.c
index 685be7a..0809260 100644
--- a/gdb/remote.c
+++ b/gdb/remote.c
@@ -9776,11 +9776,16 @@ remote_set_disconnected_tracing (int val)
{
struct remote_state *rs = get_remote_state ();
- sprintf (rs->buf, "QTDisconnected:%x", val);
- putpkt (rs->buf);
- remote_get_noisy_reply (&target_buf, &target_buf_size);
- if (strcmp (target_buf, "OK"))
- error (_("Target does not support this command."));
+ if (rs->disconnected_tracing)
+ {
+ sprintf (rs->buf, "QTDisconnected:%x", val);
+ putpkt (rs->buf);
+ remote_get_noisy_reply (&target_buf, &target_buf_size);
+ if (strcmp (target_buf, "OK"))
+ error (_("Target does not support this command."));
+ }
+ else if (val)
+ warning (_("Target does not support disconnected tracing."));
}
static int