From 92bc6a206434a8b6922846d064e9c701a5a10a0e Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Thu, 21 Mar 2013 16:09:27 +0000 Subject: * tracepoint.h (decode_agent_options): Add 'trace_string' argument. * tracepoint.c (decode_agent_options): Add 'trace_string' argument. (validate_actionline): Update. (collect_symbol): Add 'trace_string' argument. (struct add_local_symbols_data) : New field. (do_collect_symbol): Update. (add_local_symbols): Add 'trace_string' argument. (encode_actions_1): Update. (trace_dump_actions): Update. * dwarf2loc.c (access_memory): Update. * ax.h (struct agent_expr) : New fields. * ax-general.c (new_agent_expr): Update. * ax-gdb.h (gen_trace_for_expr, gen_trace_for_var) (gen_trace_for_return_address): Add argument. (trace_kludge, trace_string_kludge): Remove. * ax-gdb.c (trace_kludge, trace_string_kludge): Remove. (gen_traced_pop, gen_fetch, gen_bitfield_ref, gen_expr): Update. (gen_trace_for_var): Add 'trace_string' argument. (gen_trace_for_expr, gen_trace_for_return_address): Likewise. (gen_printf, agent_eval_command_one): Update. --- gdb/ax.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'gdb/ax.h') diff --git a/gdb/ax.h b/gdb/ax.h index 32887ef..3bb2d5b 100644 --- a/gdb/ax.h +++ b/gdb/ax.h @@ -143,6 +143,23 @@ struct agent_expr */ int reg_mask_len; unsigned char *reg_mask; + + /* For the data tracing facility, we need to insert `trace' bytecodes + before each data fetch; this records all the memory that the + expression touches in the course of evaluation, so that memory will + be available when the user later tries to evaluate the expression + in GDB. + + Setting the flag 'tracing' to non-zero enables the code that + emits the trace bytecodes at the appropriate points. */ + + unsigned int tracing : 1; + + /* This indicates that pointers to chars should get an added + tracenz bytecode to record nonzero bytes, up to a length that + is the value of trace_string. */ + + int trace_string; }; /* Pointer to an agent_expr structure. */ -- cgit v1.1