aboutsummaryrefslogtreecommitdiff
path: root/gdb/ax.h
diff options
context:
space:
mode:
authorStan Shebs <shebs@codesourcery.com>2009-12-28 23:39:10 +0000
committerStan Shebs <shebs@codesourcery.com>2009-12-28 23:39:10 +0000
commitf61e138d9a5c10da22c01ef377034e66e6978fe6 (patch)
tree399c49505e3d1aa2e3f71937bd6f1034cf5c6acc /gdb/ax.h
parentae77ee9a7fe8e4b4e05bd65b4f9f2b8ca63a129d (diff)
downloadgdb-f61e138d9a5c10da22c01ef377034e66e6978fe6.zip
gdb-f61e138d9a5c10da22c01ef377034e66e6978fe6.tar.gz
gdb-f61e138d9a5c10da22c01ef377034e66e6978fe6.tar.bz2
2009-12-28 Stan Shebs <stan@codesourcery.com>
Add trace state variables. * ax.h (enum agent_op): Add getv, setv, and tracev. (ax_tsv): Declare. * ax-gdb.c: Include tracepoint.h. (gen_expr): Handle BINOP_ASSIGN, BINOP_ASSIGN_MODIFY, and OP_INTERNALVAR. (gen_expr_binop_rest): New function, split from gen_expr. * ax-general.c (ax_tsv): New function. (aop_map): Add new bytecodes. * tracepoint.h (struct trace_state_variable): New struct. (tsv_s): New typedef. (find_trace_state_variable): Declare. * tracepoint.c (tvariables): New global. (next_tsv_number): New global. (create_trace_state_variable): New function. (find_trace_state_variable): New function. (delete_trace_state_variable): New function. (trace_variable_command): New function. (delete_trace_variable_command): New function. (tvariables_info): New function. (trace_start_command): Download tsvs with initial values. (_initialize_tracepoint): Add new commands. * NEWS: Mention the addition of trace state variables. ==> doc/ChangeLog <== 2009-12-28 Stan Shebs <stan@codesourcery.com> * gdb.texinfo (Trace State Variables): New section. (Tracepoint Packets): Describe trace state variable packets. * agentexpr.texi (Bytecode Descriptions): Describe trace state variable bytecodes. ==> testsuite/ChangeLog <== 2009-12-28 Stan Shebs <stan@codesourcery.com> * gdb.trace/tsv.exp: New file. * gdb.base/completion.exp: Update ambiguous info output.
Diffstat (limited to 'gdb/ax.h')
-rw-r--r--gdb/ax.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/gdb/ax.h b/gdb/ax.h
index 7fea3ce..844af83 100644
--- a/gdb/ax.h
+++ b/gdb/ax.h
@@ -131,6 +131,9 @@ enum agent_op
aop_pop = 0x29,
aop_zero_ext = 0x2a,
aop_swap = 0x2b,
+ aop_getv = 0x2c,
+ aop_setv = 0x2d,
+ aop_tracev = 0x2e,
aop_trace16 = 0x30,
aop_last
};
@@ -182,6 +185,9 @@ extern void ax_const_d (struct agent_expr *EXPR, LONGEST d);
/* Assemble code to push the value of register number REG on the
stack. */
extern void ax_reg (struct agent_expr *EXPR, int REG);
+
+/* Assemble code to operate on a trace state variable. */
+extern void ax_tsv (struct agent_expr *expr, enum agent_op op, int num);
/* Functions for printing out expressions, and otherwise debugging