23#define DWARF2_FRAME_H 1
70 void **this_cache,
int regnum);
133 gdb_assert (num_regs_requested > 0);
135 if (num_regs_requested <=
reg.size ())
138 reg.resize (num_regs_requested);
141 std::vector<struct dwarf2_frame_state_reg>
reg;
211 void (*init_reg) (
struct gdbarch *,
int,
220 int (*signal_frame_p) (
struct gdbarch *,
228 int (*adjust_regnum) (
struct gdbarch *,
262 int *regnum_out, LONGEST *offset_out,
263 CORE_ADDR *text_offset_out,
264 const gdb_byte **cfa_start_out,
265 const gdb_byte **cfa_end_out);
struct value *(* fn_prev_register)(frame_info_ptr this_frame, void **this_cache, int regnum)
int dwarf2_fetch_cfa_info(struct gdbarch *gdbarch, CORE_ADDR pc, struct dwarf2_per_cu_data *data, int *regnum_out, LONGEST *offset_out, CORE_ADDR *text_offset_out, const gdb_byte **cfa_start_out, const gdb_byte **cfa_end_out)
void * dwarf2_frame_allocate_fn_data(frame_info_ptr this_frame, void **this_cache, fn_prev_register cookie, unsigned long size)
void dwarf2_frame_set_adjust_regnum(struct gdbarch *gdbarch, int(*adjust_regnum)(struct gdbarch *, int, int))
void * dwarf2_frame_get_fn_data(frame_info_ptr this_frame, void **this_cache, fn_prev_register cookie)
bool dwarf2_frame_unwinders_enabled_p
void dwarf2_append_unwinders(struct gdbarch *gdbarch)
const struct frame_base * dwarf2_frame_base_sniffer(frame_info_ptr this_frame)
CORE_ADDR dwarf2_frame_cfa(frame_info_ptr this_frame)
@ DWARF2_FRAME_REG_UNSPECIFIED
@ DWARF2_FRAME_REG_SAVED_VAL_OFFSET
@ DWARF2_FRAME_REG_SAVED_REG
@ DWARF2_FRAME_REG_SAVED_EXP
@ DWARF2_FRAME_REG_RA_OFFSET
@ DWARF2_FRAME_REG_SAVED_VAL_EXP
@ DWARF2_FRAME_REG_CFA_OFFSET
@ DWARF2_FRAME_REG_SAVED_OFFSET
@ DWARF2_FRAME_REG_SAME_VALUE
@ DWARF2_FRAME_REG_UNDEFINED
void dwarf2_frame_set_init_reg(struct gdbarch *gdbarch, void(*init_reg)(struct gdbarch *, int, struct dwarf2_frame_state_reg *, frame_info_ptr))
void dwarf2_frame_set_signal_frame_p(struct gdbarch *gdbarch, int(*signal_frame_p)(struct gdbarch *, frame_info_ptr))
dwarf2_frame_state_reg_info()=default
friend void swap(dwarf2_frame_state_reg_info &lhs, dwarf2_frame_state_reg_info &rhs)
dwarf2_frame_state_reg_info & operator=(dwarf2_frame_state_reg_info rhs)
void alloc_regs(int num_regs_requested)
struct dwarf2_frame_state_reg_info * prev
dwarf2_frame_state_reg_info(const dwarf2_frame_state_reg_info &src)
enum cfa_how_kind cfa_how
dwarf2_frame_state_reg_info(dwarf2_frame_state_reg_info &&rhs) noexcept
std::vector< struct dwarf2_frame_state_reg > reg
~dwarf2_frame_state_reg_info()
union dwarf2_frame_state_reg::@46 loc
struct dwarf2_frame_state_reg::@46::@47 exp
enum dwarf2_frame_reg_rule how
const ULONGEST code_align
const ULONGEST retaddr_column
bool armcc_cfa_offsets_reversed
dwarf2_frame_state(CORE_ADDR pc, struct dwarf2_cie *cie)
bool armcc_cfa_offsets_sf