2011-11-02 Stan Shebs <stan@codesourcery.com>
authorStan Shebs <shebs@codesourcery.com>
Wed, 2 Nov 2011 23:44:21 +0000 (23:44 +0000)
committerStan Shebs <shebs@codesourcery.com>
Wed, 2 Nov 2011 23:44:21 +0000 (23:44 +0000)
commit3065dfb6b4e2e605b3601c5f71fa25de5dd4970e
treeac641720c021164a841a9c669e88e599134191e6
parent39f4f51d8bf1d516a5cca652a1d9efe8f3ef9863
2011-11-02  Stan Shebs  <stan@codesourcery.com>

String collection for tracepoints.
* NEWS: Mention string collection.
* common/ax.def (tracenz): New bytecode.
* ax-gdb.h (trace_string_kludge): Declare.
* ax-gdb.c: Include valprint.h and c-lang.h.
(trace_string_kludge): New global.
(gen_traced_pop): Add string case.
(agent_command): Add string case.
* tracepoint.h (decode_agent_options): Declare.
* tracepoint.c: Include cli-utils.h.
(decode_agent_options): New function.
(validate_actionline): Call it.
(encode_actions_1): Ditto.
* target.h (struct target_ops): New method to_supports_string_tracing.
(target_supports_string_tracing): New macro.
* target.c (update_current_target): Add to_supports_string_tracing.
* remote.c (struct remote_state): New field string_tracing.
(remote_string_tracing_feature): New function.
(remote_protocol_features): New feature tracenz.
(remote_supports_string_tracing): New function.
(init_remote_ops): Set to_supports_string_tracing.

* tracepoint.c (agent_mem_read_string): New function.
(eval_agent_expr): Call it for tracenz.
* server.c (handle_query): Report support for tracenz.

* gdb.texinfo (Tracepoint Action Lists): Document collect/s.
(General Query Packets): Describe tracenz feature.
* agentexpr.texi (Bytecode Descriptions): Describe tracenz.

* gdb.trace/collection.c: Add code using strings.
* gdb.trace/collection.exp: Add tests of string collection.
19 files changed:
gdb/ChangeLog
gdb/NEWS
gdb/ax-gdb.c
gdb/ax-gdb.h
gdb/common/ax.def
gdb/doc/ChangeLog
gdb/doc/agentexpr.texi
gdb/doc/gdb.texinfo
gdb/gdbserver/ChangeLog
gdb/gdbserver/server.c
gdb/gdbserver/tracepoint.c
gdb/remote.c
gdb/target.c
gdb/target.h
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.trace/collection.c
gdb/testsuite/gdb.trace/collection.exp
gdb/tracepoint.c
gdb/tracepoint.h