GDB (xrefs)
|
#include "defs.h"
#include "ax.h"
#include "value.h"
#include "gdb_string.h"
#include "user-regs.h"
#include "ax.def"
Go to the source code of this file.
Defines | |
#define | DEFOP(NAME, SIZE, DATA_SIZE, CONSUMED, PRODUCED, VALUE) , { # NAME, SIZE, DATA_SIZE, CONSUMED, PRODUCED } |
Functions | |
static void | grow_expr (struct agent_expr *x, int n) |
static void | append_const (struct agent_expr *x, LONGEST val, int n) |
static LONGEST | read_const (struct agent_expr *x, int o, int n) |
static void | generic_ext (struct agent_expr *x, enum agent_op op, int n) |
struct agent_expr * | new_agent_expr (struct gdbarch *gdbarch, CORE_ADDR scope) |
void | free_agent_expr (struct agent_expr *x) |
static void | do_free_agent_expr_cleanup (void *x) |
struct cleanup * | make_cleanup_free_agent_expr (struct agent_expr *x) |
void | ax_simple (struct agent_expr *x, enum agent_op op) |
void | ax_pick (struct agent_expr *x, int depth) |
void | ax_ext (struct agent_expr *x, int n) |
void | ax_zero_ext (struct agent_expr *x, int n) |
void | ax_trace_quick (struct agent_expr *x, int n) |
int | ax_goto (struct agent_expr *x, enum agent_op op) |
void | ax_label (struct agent_expr *x, int patch, int target) |
void | ax_const_l (struct agent_expr *x, LONGEST l) |
void | ax_const_d (struct agent_expr *x, LONGEST d) |
void | ax_reg (struct agent_expr *x, int reg) |
void | ax_tsv (struct agent_expr *x, enum agent_op op, int num) |
void | ax_string (struct agent_expr *x, const char *str, int slen) |
void | ax_print (struct ui_file *f, struct agent_expr *x) |
void | ax_reg_mask (struct agent_expr *ax, int reg) |
void | ax_reqs (struct agent_expr *ax) |
Variables | |
struct aop_map | aop_map [] |
#define DEFOP | ( | NAME, | |
SIZE, | |||
DATA_SIZE, | |||
CONSUMED, | |||
PRODUCED, | |||
VALUE | |||
) | , { # NAME, SIZE, DATA_SIZE, CONSUMED, PRODUCED } |
static void append_const | ( | struct agent_expr * | x, |
LONGEST | val, | ||
int | n | ||
) | [static] |
Definition at line 107 of file ax-general.c.
References agent_expr::buf, grow_expr(), and agent_expr::len.
Referenced by ax_const_l(), and ax_pick().
void ax_const_d | ( | struct agent_expr * | x, |
LONGEST | d | ||
) |
Definition at line 281 of file ax-general.c.
void ax_const_l | ( | struct agent_expr * | x, |
LONGEST | l | ||
) |
Definition at line 247 of file ax-general.c.
References append_const(), ax_ext(), ax_simple(), LONGEST, and size.
Referenced by access_memory(), amd64_gen_return_address(), compile_probe_arg(), dwarf2_compile_cfa_to_ax(), dwarf2_compile_expr_to_ax(), gen_expr(), gen_int_literal(), gen_left_shift(), gen_offset(), gen_printf(), gen_scale(), gen_sizeof(), gen_static_field(), gen_trace_static_fields(), gen_traced_pop(), gen_var_ref(), i386_gen_return_address(), and mips_ax_pseudo_register_push_stack().
void ax_ext | ( | struct agent_expr * | x, |
int | n | ||
) |
Definition at line 182 of file ax-general.c.
References generic_ext().
Referenced by ax_const_l(), dwarf2_compile_expr_to_ax(), gen_bitfield_ref(), gen_extend(), and gen_sign_extend().
int ax_goto | ( | struct agent_expr * | x, |
enum agent_op | op | ||
) |
Definition at line 218 of file ax-general.c.
References agent_expr::buf, grow_expr(), and agent_expr::len.
Referenced by dwarf2_compile_expr_to_ax(), and gen_expr().
void ax_label | ( | struct agent_expr * | x, |
int | patch, | ||
int | target | ||
) |
Definition at line 233 of file ax-general.c.
References _, agent_expr::buf, and error().
Referenced by dwarf2_compile_expr_to_ax(), and gen_expr().
void ax_pick | ( | struct agent_expr * | x, |
int | depth | ||
) |
Definition at line 152 of file ax-general.c.
References _, append_const(), ax_simple(), and error().
Referenced by dwarf2_compile_expr_to_ax().
void ax_print | ( | struct ui_file * | f, |
struct agent_expr * | x | ||
) |
Definition at line 378 of file ax-general.c.
References _, agent_expr::buf, error(), fprintf_filtered(), fputs_filtered(), agent_expr::gdbarch, agent_expr::len, name, aop_map::op_size, paddress(), print_longest(), read_const(), agent_expr::reg_mask, agent_expr::reg_mask_len, and agent_expr::scope.
Referenced by agent_eval_command_one(), and maint_agent_printf_command().
void ax_reg | ( | struct agent_expr * | x, |
int | reg | ||
) |
Definition at line 292 of file ax-general.c.
References _, agent_expr::buf, error(), agent_expr::gdbarch, gdbarch_ax_pseudo_register_push_stack(), gdbarch_ax_pseudo_register_push_stack_p(), gdbarch_num_regs(), grow_expr(), agent_expr::len, and user_reg_map_regnum_to_name().
Referenced by amd64_gen_return_address(), dwarf2_compile_cfa_to_ax(), dwarf2_compile_expr_to_ax(), gen_frame_args_address(), gen_frame_locals_address(), gen_traced_pop(), gen_var_ref(), i386_gen_return_address(), mips_ax_pseudo_register_push_stack(), and require_rvalue().
void ax_reg_mask | ( | struct agent_expr * | ax, |
int | reg | ||
) |
Definition at line 440 of file ax-general.c.
References _, error(), agent_expr::gdbarch, gdbarch_ax_pseudo_register_collect(), gdbarch_ax_pseudo_register_collect_p(), gdbarch_num_regs(), memset(), agent_expr::reg_mask, agent_expr::reg_mask_len, user_reg_map_regnum_to_name(), and xrealloc().
Referenced by ax_reqs(), gen_trace_static_fields(), gen_traced_pop(), and mips_ax_pseudo_register_collect().
void ax_reqs | ( | struct agent_expr * | ax | ) |
Definition at line 479 of file ax-general.c.
References agent_flaw_bad_instruction, agent_flaw_bad_jump, agent_flaw_height_mismatch, agent_flaw_hole, agent_flaw_incomplete_instruction, agent_flaw_none, ax_reg_mask(), agent_expr::buf, aop_map::consumed, aop_map::data_size, agent_expr::final_height, agent_expr::flaw, agent_expr::len, agent_expr::max_data_size, agent_expr::max_height, memset(), agent_expr::min_height, aop_map::name, aop_map::op_size, aop_map::produced, and read_const().
Referenced by agent_eval_command_one(), collect_symbol(), encode_actions_1(), maint_agent_printf_command(), and validate_actionline().
void ax_simple | ( | struct agent_expr * | x, |
enum agent_op | op | ||
) |
Definition at line 142 of file ax-general.c.
References agent_expr::buf, grow_expr(), and agent_expr::len.
Referenced by access_memory(), amd64_gen_return_address(), ax_const_l(), ax_pick(), dwarf2_compile_cfa_to_ax(), dwarf2_compile_expr_to_ax(), gen_binop(), gen_bitfield_ref(), gen_complement(), gen_equal(), gen_eval_for_expr(), gen_expr_binop_rest(), gen_fetch(), gen_left_shift(), gen_less(), gen_logical_not(), gen_offset(), gen_printf(), gen_ptradd(), gen_ptrdiff(), gen_ptrsub(), gen_scale(), gen_trace_for_expr(), gen_trace_for_return_address(), gen_trace_for_var(), gen_trace_static_fields(), gen_traced_pop(), gen_usual_arithmetic(), i386_gen_return_address(), and mips_ax_pseudo_register_push_stack().
void ax_string | ( | struct agent_expr * | x, |
const char * | str, | ||
int | slen | ||
) |
Definition at line 343 of file ax-general.c.
References _, agent_expr::buf, grow_expr(), internal_error(), and agent_expr::len.
Referenced by gen_printf().
void ax_trace_quick | ( | struct agent_expr * | x, |
int | n | ||
) |
Definition at line 198 of file ax-general.c.
References _, agent_expr::buf, error(), grow_expr(), and agent_expr::len.
Referenced by access_memory(), gen_bitfield_ref(), and gen_fetch().
void ax_tsv | ( | struct agent_expr * | x, |
enum agent_op | op, | ||
int | num | ||
) |
Definition at line 322 of file ax-general.c.
References _, agent_expr::buf, grow_expr(), internal_error(), and agent_expr::len.
Referenced by gen_expr().
void ax_zero_ext | ( | struct agent_expr * | x, |
int | n | ||
) |
Definition at line 190 of file ax-general.c.
References generic_ext().
Referenced by access_memory(), dwarf2_compile_expr_to_ax(), gen_bitfield_ref(), and gen_extend().
static void do_free_agent_expr_cleanup | ( | void * | x | ) | [static] |
Definition at line 77 of file ax-general.c.
References free_agent_expr().
Referenced by make_cleanup_free_agent_expr().
void free_agent_expr | ( | struct agent_expr * | x | ) |
Definition at line 69 of file ax-general.c.
References agent_expr::buf, agent_expr::reg_mask, and xfree().
Referenced by bp_location_dtor(), build_target_command_list(), build_target_condition_list(), clear_collection_list(), do_free_agent_expr_cleanup(), force_breakpoint_reinsertion(), and is_nontrivial_conversion().
static void generic_ext | ( | struct agent_expr * | x, |
enum agent_op | op, | ||
int | n | ||
) | [static] |
Definition at line 164 of file ax-general.c.
References _, agent_expr::buf, error(), grow_expr(), agent_expr::len, and LONGEST.
Referenced by ax_ext(), and ax_zero_ext().
static void grow_expr | ( | struct agent_expr * | x, |
int | n | ||
) | [static] |
Definition at line 92 of file ax-general.c.
References agent_expr::buf, agent_expr::len, agent_expr::size, and xrealloc().
Referenced by append_const(), ax_goto(), ax_reg(), ax_simple(), ax_string(), ax_trace_quick(), ax_tsv(), and generic_ext().
struct cleanup* make_cleanup_free_agent_expr | ( | struct agent_expr * | x | ) | [read] |
Definition at line 83 of file ax-general.c.
References do_free_agent_expr_cleanup(), and make_cleanup().
Referenced by agent_eval_command_one(), collect_symbol(), encode_actions_1(), gen_eval_for_expr(), gen_printf(), gen_trace_for_expr(), gen_trace_for_return_address(), gen_trace_for_var(), maint_agent_printf_command(), remote_download_tracepoint(), and validate_actionline().
struct agent_expr* new_agent_expr | ( | struct gdbarch * | gdbarch, |
CORE_ADDR | scope | ||
) | [read] |
Definition at line 44 of file ax-general.c.
References agent_expr::buf, agent_expr::gdbarch, agent_expr::len, memset(), agent_expr::reg_mask, agent_expr::reg_mask_len, agent_expr::scope, agent_expr::size, agent_expr::trace_string, agent_expr::tracing, and xmalloc().
Referenced by gen_eval_for_expr(), gen_printf(), gen_trace_for_expr(), gen_trace_for_return_address(), gen_trace_for_var(), and is_nontrivial_conversion().
static LONGEST read_const | ( | struct agent_expr * | x, |
int | o, | ||
int | n | ||
) | [static] |
Definition at line 124 of file ax-general.c.
References _, agent_expr::buf, error(), agent_expr::len, and LONGEST.
Referenced by ax_print(), and ax_reqs().
Definition at line 366 of file ax-general.c.