GDB (xrefs)
Loading...
Searching...
No Matches
Classes | Typedefs | Enumerations | Functions | Variables
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
 

Typedefs

typedef struct value *(* fn_prev_register) (frame_info_ptr this_frame, void **this_cache, int regnum)
 

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 *, frame_info_ptr))
 
void dwarf2_frame_set_signal_frame_p (struct gdbarch *gdbarch, int(*signal_frame_p)(struct gdbarch *, frame_info_ptr))
 
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_basedwarf2_frame_base_sniffer (frame_info_ptr this_frame)
 
CORE_ADDR dwarf2_frame_cfa (frame_info_ptr 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)
 
void * dwarf2_frame_allocate_fn_data (frame_info_ptr this_frame, void **this_cache, fn_prev_register cookie, unsigned long size)
 
void * dwarf2_frame_get_fn_data (frame_info_ptr this_frame, void **this_cache, fn_prev_register cookie)
 

Variables

bool dwarf2_frame_unwinders_enabled_p
 

Typedef Documentation

◆ fn_prev_register

typedef struct value *(* fn_prev_register) (frame_info_ptr this_frame, void **this_cache, int regnum)

Definition at line 1 of file frame.h.

Enumeration Type Documentation

◆ cfa_how_kind

Enumerator
CFA_UNSET 
CFA_REG_OFFSET 
CFA_EXP 

Definition at line 89 of file frame.h.

◆ 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 33 of file frame.h.

Function Documentation

◆ dwarf2_append_unwinders()

void dwarf2_append_unwinders ( struct gdbarch * gdbarch)

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

◆ dwarf2_frame_allocate_fn_data()

void * dwarf2_frame_allocate_fn_data ( frame_info_ptr this_frame,
void ** this_cache,
fn_prev_register cookie,
unsigned long size )
extern

◆ dwarf2_frame_base_sniffer()

const struct frame_base * dwarf2_frame_base_sniffer ( frame_info_ptr this_frame)
extern

◆ dwarf2_frame_cfa()

CORE_ADDR dwarf2_frame_cfa ( frame_info_ptr this_frame)

◆ dwarf2_frame_get_fn_data()

void * dwarf2_frame_get_fn_data ( frame_info_ptr this_frame,
void ** this_cache,
fn_prev_register cookie )
extern

◆ dwarf2_frame_set_adjust_regnum()

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

Definition at line 719 of file frame.c.

References dwarf2_frame_ops::adjust_regnum, and get_frame_ops().

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 *, frame_info_ptr) init_reg )
extern

◆ dwarf2_frame_set_signal_frame_p()

void dwarf2_frame_set_signal_frame_p ( struct gdbarch * gdbarch,
int(*)(struct gdbarch *, frame_info_ptr) signal_frame_p )
extern

Variable Documentation

◆ dwarf2_frame_unwinders_enabled_p

bool dwarf2_frame_unwinders_enabled_p
extern

Definition at line 190 of file frame.c.

Referenced by dwarf2_frame_sniffer(), and tailcall_frame_sniffer().