diff options
author | Hafiz Abid Qadeer <abidh@codesourcery.com> | 2013-03-08 15:06:39 +0000 |
---|---|---|
committer | Hafiz Abid Qadeer <abidh@codesourcery.com> | 2013-03-08 15:06:39 +0000 |
commit | f6f899bfc53faa15406ba58f491760ad07563c47 (patch) | |
tree | 87a405d8290d1bb8308653168ac151be81aedf7c /gdb/tracepoint.c | |
parent | 7da3ab792088f01bb2d2453e08ef7d5a4458982b (diff) | |
download | gdb-f6f899bfc53faa15406ba58f491760ad07563c47.zip gdb-f6f899bfc53faa15406ba58f491760ad07563c47.tar.gz gdb-f6f899bfc53faa15406ba58f491760ad07563c47.tar.bz2 |
2012-03-08 Stan Shebs <stan@codesourcery.com>
Hafiz Abid Qadeer <abidh@codesourcery.com>
gdb/
* NEWS: Mention set and show trace-buffer-size commands.
Mention new packet.
* target.h (struct target_ops): New method
to_set_trace_buffer_size.
(target_set_trace_buffer_size): New macro.
* target.c (update_current_target): Set up new method.
* tracepoint.c (trace_buffer_size): New global.
(start_tracing): Send it to the target.
(set_trace_buffer_size): New function.
(_initialize_tracepoint): Add new setshow for trace-buffer-size.
* remote.c (remote_set_trace_buffer_size): New function.
(_initialize_remote): Use it.
(QTBuffer:size) New remote command.
(PACKET_QTBuffer_size): New enum.
(remote_protocol_features): Add an entry for
PACKET_QTBuffer_size.
gdb/gdbserver/
* tracepoint.c (trace_buffer_size): New global.
(DEFAULT_TRACE_BUFFER_SIZE): New define.
(init_trace_buffer): Change to one-argument function. Allocate
trace buffer memory.
(handle_tracepoint_general_set): Call cmd_bigqtbuffer_size to
handle QTBuffer:size packet.
(cmd_bigqtbuffer_size): New function.
(initialize_tracepoint): Call init_trace_buffer with
DEFAULT_TRACE_BUFFER_SIZE.
* server.c (handle_query): Add QTBuffer:size in the
supported packets.
gdb/doc/
* gdb.texinfo (Starting and Stopping Trace Experiments): Document
trace-buffer-size set and show commands.
(Tracepoint Packets): Document QTBuffer:size.
(General Query Packets): Document QTBuffer:size.
gdb/testsuite/
* gdb.trace/trace-buffer-size.exp: New file.
* gdb.trace/trace-buffer-size.c: New file.
Diffstat (limited to 'gdb/tracepoint.c')
-rw-r--r-- | gdb/tracepoint.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/gdb/tracepoint.c b/gdb/tracepoint.c index 2a4b245..0413903 100644 --- a/gdb/tracepoint.c +++ b/gdb/tracepoint.c @@ -170,6 +170,11 @@ static int disconnected_tracing; static int circular_trace_buffer; +/* This variable is the requested trace buffer size, or -1 to indicate + that we don't care and leave it up to the target to set a size. */ + +static int trace_buffer_size = -1; + /* Textual notes applying to the current and/or future trace runs. */ char *trace_user = NULL; @@ -1819,6 +1824,7 @@ start_tracing (char *notes) /* Set some mode flags. */ target_set_disconnected_tracing (disconnected_tracing); target_set_circular_trace_buffer (circular_trace_buffer); + target_set_trace_buffer_size (trace_buffer_size); if (!notes) notes = trace_notes; @@ -3217,6 +3223,13 @@ set_circular_trace_buffer (char *args, int from_tty, } static void +set_trace_buffer_size (char *args, int from_tty, + struct cmd_list_element *c) +{ + target_set_trace_buffer_size (trace_buffer_size); +} + +static void set_trace_user (char *args, int from_tty, struct cmd_list_element *c) { @@ -5409,6 +5422,16 @@ up and stopping the trace run."), &setlist, &showlist); + add_setshow_zuinteger_unlimited_cmd ("trace-buffer-size", no_class, + &trace_buffer_size, _("\ +Set requested size of trace buffer."), _("\ +Show requested size of trace buffer."), _("\ +Use this to choose a size for the trace buffer. Some targets\n\ +may have fixed or limited buffer sizes. A value of -1 disables\n\ +any attempt to set the buffer size and lets the target choose."), + set_trace_buffer_size, NULL, + &setlist, &showlist); + add_setshow_string_cmd ("trace-user", class_trace, &trace_user, _("\ Set the user name to use for current and future trace runs"), _("\ |