GDB (xrefs)

Classes | Enumerations | Functions
/tmp/gdb-8.1/gdb/dwarf2-frame.h File Reference

Go to the source code of this file.

## Classes
struct | dwarf2_frame_state_reg
struct | dwarf2_frame_state_reg_info
struct | dwarf2_frame_state
struct | dwarf2_frame_state::regs
struct | dwarf2_frame_state::initial

## Enumerations
enum | dwarf2_frame_reg_rule { DWARF2_FRAME_REG_UNSPECIFIED = 0, DWARF2_FRAME_REG_UNDEFINED, DWARF2_FRAME_REG_SAVED_OFFSET, DWARF2_FRAME_REG_SAVED_REG, DWARF2_FRAME_REG_SAVED_EXP, DWARF2_FRAME_REG_SAME_VALUE, DWARF2_FRAME_REG_SAVED_VAL_OFFSET, DWARF2_FRAME_REG_SAVED_VAL_EXP, DWARF2_FRAME_REG_FN, DWARF2_FRAME_REG_RA, DWARF2_FRAME_REG_RA_OFFSET, DWARF2_FRAME_REG_CFA, DWARF2_FRAME_REG_CFA_OFFSET }
enum | cfa_how_kind { CFA_UNSET, CFA_REG_OFFSET, CFA_EXP }

## Functions
void | dwarf2_frame_set_init_reg (struct gdbarch *gdbarch, void(*init_reg)(struct gdbarch *, int, struct dwarf2_frame_state_reg *, struct frame_info *))
void | dwarf2_frame_set_signal_frame_p (struct gdbarch *gdbarch, int(*signal_frame_p)(struct gdbarch *, struct frame_info *))
void | dwarf2_frame_set_adjust_regnum (struct gdbarch *gdbarch, int(*adjust_regnum)(struct gdbarch *, int, int))
void | dwarf2_append_unwinders (struct gdbarch *gdbarch)
const struct frame_base * | dwarf2_frame_base_sniffer (struct frame_info *this_frame)
CORE_ADDR | dwarf2_frame_cfa (struct frame_info *this_frame)
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)

## Enumeration Type Documentation

## ◆ cfa_how_kind

enum cfa_how_kind

Enumerator
CFA_UNSET |
CFA_REG_OFFSET |
CFA_EXP |

Definition at line 88 of file dwarf2-frame.h.

## ◆ dwarf2_frame_reg_rule

enum dwarf2_frame_reg_rule

Enumerator
DWARF2_FRAME_REG_UNSPECIFIED |
DWARF2_FRAME_REG_UNDEFINED |
DWARF2_FRAME_REG_SAVED_OFFSET |
DWARF2_FRAME_REG_SAVED_REG |
DWARF2_FRAME_REG_SAVED_EXP |
DWARF2_FRAME_REG_SAME_VALUE |
DWARF2_FRAME_REG_SAVED_VAL_OFFSET |
DWARF2_FRAME_REG_SAVED_VAL_EXP |
DWARF2_FRAME_REG_FN |
DWARF2_FRAME_REG_RA |
DWARF2_FRAME_REG_RA_OFFSET |
DWARF2_FRAME_REG_CFA |
DWARF2_FRAME_REG_CFA_OFFSET |

Definition at line 34 of file dwarf2-frame.h.

## Function Documentation

## ◆ dwarf2_append_unwinders()

void dwarf2_append_unwinders | ( | struct gdbarch * | gdbarch | ) |

Definition at line 1384 of file dwarf2-frame.c.

References dwarf2_frame_unwind, dwarf2_signal_frame_unwind, dwarf2_tailcall_frame_unwind, and frame_unwind_append_unwinder().

Referenced by aarch64_gdbarch_init(), alpha_dwarf2_init_abi(), arc_gdbarch_init(), arm_gdbarch_init(), bfin_gdbarch_init(), BP_MANIPULATION(), cris_gdbarch_init(), hppabsd_init_abi(), i386_gdbarch_init(), iq2000_gdbarch_init(), m68hc11_gdbarch_init(), m68k_gdbarch_init(), microblaze_gdbarch_init(), mips_gdbarch_init(), mn10300_frame_unwind_init(), msp430_gdbarch_init(), mt_gdbarch_init(), nds32_gdbarch_init(), nios2_gdbarch_init(), or1k_gdbarch_init(), rl78_gdbarch_init(), rs6000_gdbarch_init(), rx_gdbarch_init(), s390_gdbarch_init(), score_gdbarch_init(), sh64_gdbarch_init(), sh_gdbarch_init(), sparc32_linux_init_abi(), sparc64_linux_init_abi(), spu_gdbarch_init(), tic6x_gdbarch_init(), tilegx_gdbarch_init(), v850_gdbarch_init(), xstormy16_gdbarch_init(), and xtensa_gdbarch_init().

## ◆ dwarf2_fetch_cfa_info()

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
| ) |  |

Definition at line 862 of file dwarf2-frame.c.

References _, dwarf2_frame_state::armcc_cfa_offsets_reversed, CFA_EXP, CFA_REG_OFFSET, dwarf2_fde::cie, dwarf2_frame_find_fde(), dwarf2_frame_find_quirks(), dwarf_reg_to_regnum_or_error(), dwarf2_cie::end, dwarf2_fde::end, error(), execute_cfa_program(), dwarf2_cie::initial_instructions, dwarf2_fde::instructions, internal_error(), and regnum.

Referenced by do_compile_dwarf_expr_to_c(), and dwarf2_compile_expr_to_ax().

## ◆ dwarf2_frame_base_sniffer()

const struct frame_base* dwarf2_frame_base_sniffer | ( | struct frame_info * | this_frame | ) |

Definition at line 1419 of file dwarf2-frame.c.

References dwarf2_frame_base, dwarf2_frame_find_fde(), and get_frame_address_in_block().

Referenced by alpha_dwarf2_init_abi(), microblaze_gdbarch_init(), mips_gdbarch_init(), s390_gdbarch_init(), and score_gdbarch_init().

## ◆ dwarf2_frame_cfa()

CORE_ADDR dwarf2_frame_cfa | ( | struct frame_info * | this_frame | ) |

Definition at line 1434 of file dwarf2-frame.c.

References _, FID_STACK_VALID, frame_unwinder_is(), get_frame_base(), get_frame_id(), get_frame_type(), get_frame_unwind_stop_reason(), get_prev_frame(), INLINE_FRAME, NOT_AVAILABLE_ERROR, record_btrace_frame_unwind, record_btrace_tailcall_frame_unwind, and throw_error().

Referenced by dwarf2_tailcall_prev_register_first(), and dwarf_evaluate_loc_desc::get_frame_cfa().

## ◆ dwarf2_frame_set_adjust_regnum()

void dwarf2_frame_set_adjust_regnum | ( | struct gdbarch * | gdbarch,
|  | int(*)(struct gdbarch *, int, int) | adjust_regnum
| ) |  |

Definition at line 800 of file dwarf2-frame.c.

References dwarf2_frame_ops::adjust_regnum, and dwarf2_frame_data.

Referenced by rs6000_gdbarch_init(), and s390_gdbarch_init().

## ◆ dwarf2_frame_set_init_reg()

void dwarf2_frame_set_init_reg | ( | struct gdbarch * | gdbarch,
|  | void(*)(struct gdbarch *, int, struct dwarf2_frame_state_reg *, struct frame_info *) | init_reg
| ) |  |

Definition at line 743 of file dwarf2-frame.c.

References dwarf2_frame_data, and dwarf2_frame_ops::init_reg.

Referenced by aarch64_gdbarch_init(), arc_gdbarch_init(), arm_gdbarch_init(), cris_gdbarch_init(), hppabsd_init_abi(), rs6000_gdbarch_init(), s390_gdbarch_init(), sh_gdbarch_init(), sparc32_gdbarch_init(), sparc64_init_abi(), and tic6x_gdbarch_init().

## ◆ dwarf2_frame_set_signal_frame_p()

void dwarf2_frame_set_signal_frame_p | ( | struct gdbarch * | gdbarch,
|  | int(*)(struct gdbarch *, struct frame_info *) | signal_frame_p
| ) |  |

Definition at line 771 of file dwarf2-frame.c.

References dwarf2_frame_data, and dwarf2_frame_ops::signal_frame_p.

Referenced by i386_darwin_init_abi(), i386_linux_init_abi(), and x86_darwin_init_abi_64().