aboutsummaryrefslogtreecommitdiff
path: root/gdb/gdbserver/server.h
diff options
context:
space:
mode:
authorLuis Machado <luisgpm@br.ibm.com>2012-02-24 15:13:37 +0000
committerLuis Machado <luisgpm@br.ibm.com>2012-02-24 15:13:37 +0000
commit5e1dc496746ac407cad3b99d2a89e776d08ee326 (patch)
tree3ada297578919b328456428ec2b7f805c180eae8 /gdb/gdbserver/server.h
parentb775012e845380ed4c7421a1b87caf7bfae39f5f (diff)
downloadgdb-5e1dc496746ac407cad3b99d2a89e776d08ee326.zip
gdb-5e1dc496746ac407cad3b99d2a89e776d08ee326.tar.gz
gdb-5e1dc496746ac407cad3b99d2a89e776d08ee326.tar.bz2
2012-02-24 Luis Machado <lgustavo@codesourcery>
* server.h: Include tracepoint.h. (agent_mem_read, agent_get_trace_state_variable_value, agent_set_trace_state_variable_value, agent_tsv_read, agent_mem_read_string, get_get_tsv_func_addr, get_set_tsv_func_addr): New prototypes. * ax.h: New include file. * ax.c: New source file. * tracepoint.c: Include ax.h. (gdb_agent_op, gdb_agent_op_names, gdb_agent_op_sizes, agent_expr, eval_result_type): Move to ax.h. (parse_agent_expr): Rename to ... (gdb_parse_agent_expr): ... this, make it non-static and move to ax.h. (unparse_agent_expr) Rename to ... (gdb_unparse_agent_expr): ... this, make it non-static and move to ax.h. (eval_agent_expr): Rename to ... (eval_tracepoint_agent_expr): ... this. (agent_mem_read, agent_mem_read_string, agent_tsv_read): Remove forward declarations. (add_tracepoint_action): Call gdb_parse_agent_expr (...). (agent_get_trace_state_variable_value): New function. (agent_set_trace_state_variable_value): New function. (cmd_qtdp): Call gdb_parse_agent_expr (...). (response_tracepoint): Call gdb_unparse_agent_expr (...). (do_action_at_tracepoint): Call eval_tracepoint_agent_expr (...). (condition_true_at_tracepoint): Likewise. (parse_agent_expr): Rename to ... (gdb_parse_agent_expr): ... this and move to ax.c. (unparse_agent_expr): Rename to ... (gdb_unparse_agent_expr): ... this and move to ax.c. (gdb_agent_op_name): Move to ax.c. (eval_agent_expr): Rename to ... (gdb_eval_agent_expr): ... this, use regcache passed as parameter and move to ax.c. (eval_tracepoint_agent_expr): New function. (agent_mem_read, agent_mem_read_string, agent_tsv_read): Make non-static. (current_insn_ptr, emit_error, struct bytecode_address): Move to ax.c. (emit_prologue, emit_epilogue, emit_add, emit_sub, emit_mul, emit_lsh, emit_rsh_signed, emit_rsh_unsigned, emit_ext, emit_log_not, emit_bit_and, emit_bit_or, emit_bit_xor, emit_bit_not, emit_equal, emit_less_signed, emit_less_unsigned, emit_ref, emit_if_goto, emit_goto, write_goto_address, emit_const, emit_reg, emit_pop, emit_stack, emit_zero_ext, emit_swap, emit_stack_adjust, emit_int_call_1, emit_void_call_2, emit_eq_goto, emit_ne_goto, emit_lt_goto, emit_ge_goto, emit_gt_goto, emit_le_goto): Move to ax.c. (get_get_tsv_func_addr, get_set_tsv_func_addr): New functions. (compile_bytecodes): Remove forward declaration. (is_goto_target): Move to ax.c. (compile_bytecodes): Move to ax.c and call agent_get_trace_state_variable_value (...) and agent_set_trace_state_variable_value (...). * Makefile.in: Update ax.c and IPA dependencies.
Diffstat (limited to 'gdb/gdbserver/server.h')
-rw-r--r--gdb/gdbserver/server.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/gdb/gdbserver/server.h b/gdb/gdbserver/server.h
index d3b4463..30d608c 100644
--- a/gdb/gdbserver/server.h
+++ b/gdb/gdbserver/server.h
@@ -102,6 +102,12 @@ int vsnprintf(char *str, size_t size, const char *format, va_list ap);
#define _(String) (String)
#endif
+#ifdef IN_PROCESS_AGENT
+# define PROG "ipa"
+#else
+# define PROG "gdbserver"
+#endif
+
/* A type used for binary buffers. */
typedef unsigned char gdb_byte;
@@ -511,6 +517,26 @@ int claim_trampoline_space (ULONGEST used, CORE_ADDR *trampoline);
int have_fast_tracepoint_trampoline_buffer (char *msgbuf);
#endif
+struct traceframe;
+
+/* Do memory copies for bytecodes. */
+/* Do the recording of memory blocks for actions and bytecodes. */
+
+int agent_mem_read (struct traceframe *tframe,
+ unsigned char *to, CORE_ADDR from,
+ ULONGEST len);
+
+LONGEST agent_get_trace_state_variable_value (int num);
+void agent_set_trace_state_variable_value (int num, LONGEST val);
+
+/* Record the value of a trace state variable. */
+
+int agent_tsv_read (struct traceframe *tframe, int n);
+int agent_mem_read_string (struct traceframe *tframe,
+ unsigned char *to,
+ CORE_ADDR from,
+ ULONGEST len);
+
/* Bytecode compilation function vector. */
struct emit_ops
@@ -566,6 +592,12 @@ struct emit_ops
/* Returns the address of the get_raw_reg function in the IPA. */
CORE_ADDR get_raw_reg_func_addr (void);
+/* Returns the address of the get_trace_state_variable_value
+ function in the IPA. */
+CORE_ADDR get_get_tsv_func_addr (void);
+/* Returns the address of the set_trace_state_variable_value
+ function in the IPA. */
+CORE_ADDR get_set_tsv_func_addr (void);
CORE_ADDR current_insn_ptr;
int emit_error;