GDB (xrefs)
|
#include "defs.h"
#include "ax.h"
#include "gdbarch.h"
#include "value.h"
#include "user-regs.h"
#include "gdbsupport/ax.def"
Go to the source code of this file.
Classes | |
struct | aop_map |
Macros | |
#define | DEFOP(NAME, SIZE, DATA_SIZE, CONSUMED, PRODUCED, VALUE) , { # NAME, SIZE, DATA_SIZE, CONSUMED, PRODUCED } |
Functions | |
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) |
void | ax_raw_byte (struct agent_expr *x, gdb_byte byte) |
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 | |
static struct aop_map | aop_map [] |
#define DEFOP | ( | NAME, | |
SIZE, | |||
DATA_SIZE, | |||
CONSUMED, | |||
PRODUCED, | |||
VALUE ) , { # NAME, SIZE, DATA_SIZE, CONSUMED, PRODUCED } |
|
static |
Definition at line 42 of file ax-general.c.
References agent_expr::buf.
Referenced by ax_const_l(), and ax_pick().
void ax_const_d | ( | struct agent_expr * | x, |
LONGEST | d ) |
Definition at line 216 of file ax-general.c.
void ax_const_l | ( | struct agent_expr * | x, |
LONGEST | l ) |
Definition at line 182 of file ax-general.c.
References append_const(), ax_ext(), ax_simple(), and size.
Referenced by access_memory(), amd64_gen_return_address(), compile_probe_arg(), expr::unop_sizeof_operation::do_generate_ax(), expr::logical_and_operation::do_generate_ax(), expr::logical_or_operation::do_generate_ax(), dwarf2_compile_expr_to_ax(), gen_int_literal(), gen_left_shift(), gen_msym_var_ref(), gen_offset(), gen_printf(), gen_scale(), gen_static_field(), gen_trace_static_fields(), gen_traced_pop(), gen_var_ref(), expr::operation::generate_ax(), i386_gen_return_address(), mips_ax_pseudo_register_push_stack(), and s390_ax_pseudo_register_push_stack().
void ax_ext | ( | struct agent_expr * | x, |
int | n ) |
Definition at line 120 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 155 of file ax-general.c.
References agent_expr::buf.
Referenced by expr::ternop_cond_operation::do_generate_ax(), expr::logical_and_operation::do_generate_ax(), expr::logical_or_operation::do_generate_ax(), and dwarf2_compile_expr_to_ax().
void ax_label | ( | struct agent_expr * | x, |
int | patch, | ||
int | target ) |
Definition at line 168 of file ax-general.c.
References agent_expr::buf.
Referenced by expr::ternop_cond_operation::do_generate_ax(), expr::logical_and_operation::do_generate_ax(), expr::logical_or_operation::do_generate_ax(), and dwarf2_compile_expr_to_ax().
void ax_pick | ( | struct agent_expr * | x, |
int | depth ) |
Definition at line 91 of file ax-general.c.
References append_const(), and ax_simple().
Referenced by dwarf2_compile_expr_to_ax().
void ax_print | ( | struct ui_file * | f, |
struct agent_expr * | x ) |
Definition at line 338 of file ax-general.c.
References agent_expr::buf, f(), gdb_printf(), gdb_puts(), agent_expr::gdbarch, name, aop_map::op_size, paddress(), print_longest(), read_const(), agent_expr::reg_mask, and agent_expr::scope.
Referenced by agent_eval_command_one(), and maint_agent_printf_command().
void ax_raw_byte | ( | struct agent_expr * | x, |
gdb_byte | byte ) |
Definition at line 75 of file ax-general.c.
References agent_expr::buf.
Referenced by ax_simple(), and gen_printf().
void ax_reg | ( | struct agent_expr * | x, |
int | reg ) |
Definition at line 227 of file ax-general.c.
References agent_expr::buf, agent_expr::gdbarch, gdbarch_ax_pseudo_register_push_stack(), gdbarch_ax_pseudo_register_push_stack_p(), gdbarch_num_regs(), gdbarch_remote_register_number(), and user_reg_map_regnum_to_name().
Referenced by amd64_gen_return_address(), 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(), require_rvalue(), and s390_ax_pseudo_register_push_stack().
void ax_reg_mask | ( | struct agent_expr * | ax, |
int | reg ) |
Definition at line 397 of file ax-general.c.
References agent_expr::gdbarch, gdbarch_ax_pseudo_register_collect(), gdbarch_ax_pseudo_register_collect_p(), gdbarch_num_regs(), gdbarch_remote_register_number(), agent_expr::reg_mask, and user_reg_map_regnum_to_name().
Referenced by collection_list::add_local_register(), amd64_ax_pseudo_register_collect(), ax_reqs(), dfp_ax_pseudo_register_collect(), efp_ax_pseudo_register_collect(), gen_trace_static_fields(), gen_traced_pop(), i386_ax_pseudo_register_collect(), mips_ax_pseudo_register_collect(), rs6000_ax_pseudo_register_collect(), s390_ax_pseudo_register_collect(), v_alias_pseudo_register_collect(), and vsx_ax_pseudo_register_collect().
void ax_reqs | ( | struct agent_expr * | ax | ) |
Definition at line 426 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::max_data_size, agent_expr::max_height, agent_expr::min_height, aop_map::name, aop_map::op_size, aop_map::produced, and read_const().
Referenced by agent_eval_command_one(), finalize_tracepoint_aexpr(), and maint_agent_printf_command().
void ax_simple | ( | struct agent_expr * | x, |
enum agent_op | op ) |
Definition at line 82 of file ax-general.c.
References ax_raw_byte().
Referenced by access_memory(), amd64_gen_return_address(), ax_const_l(), ax_pick(), 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(), mips_ax_pseudo_register_push_stack(), and s390_ax_pseudo_register_push_stack().
void ax_string | ( | struct agent_expr * | x, |
const char * | str, | ||
int | slen ) |
Definition at line 276 of file ax-general.c.
References agent_expr::buf.
Referenced by gen_printf().
void ax_trace_quick | ( | struct agent_expr * | x, |
int | n ) |
Definition at line 136 of file ax-general.c.
References agent_expr::buf.
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 258 of file ax-general.c.
References agent_expr::buf.
Referenced by expr::internalvar_operation::do_generate_ax(), expr::assign_operation::do_generate_ax(), and expr::assign_modify_operation::do_generate_ax().
void ax_zero_ext | ( | struct agent_expr * | x, |
int | n ) |
Definition at line 128 of file ax-general.c.
References generic_ext().
Referenced by access_memory(), dwarf2_compile_expr_to_ax(), gen_bitfield_ref(), gen_extend(), and s390_ax_pseudo_register_push_stack().
|
static |
Definition at line 103 of file ax-general.c.
References agent_expr::buf.
Referenced by ax_ext(), and ax_zero_ext().
|
static |
Definition at line 57 of file ax-general.c.
References agent_expr::buf.
Referenced by ax_print(), and ax_reqs().
|
static |
Definition at line 326 of file ax-general.c.