GDB (xrefs)
Classes | Functions | Variables
/tmp/gdb-7.10/gdb/frame-unwind.c File Reference
#include "defs.h"
#include "frame.h"
#include "frame-unwind.h"
#include "dummy-frame.h"
#include "inline-frame.h"
#include "value.h"
#include "regcache.h"
#include "gdb_obstack.h"
#include "target.h"

Go to the source code of this file.

Classes

struct  frame_unwind_table_entry
 
struct  frame_unwind_table
 

Functions

static void * frame_unwind_init (struct obstack *obstack)
 
void frame_unwind_prepend_unwinder (struct gdbarch *gdbarch, const struct frame_unwind *unwinder)
 
void frame_unwind_append_unwinder (struct gdbarch *gdbarch, const struct frame_unwind *unwinder)
 
static int frame_unwind_try_unwinder (struct frame_info *this_frame, void **this_cache, const struct frame_unwind *unwinder)
 
void frame_unwind_find_by_frame (struct frame_info *this_frame, void **this_cache)
 
int default_frame_sniffer (const struct frame_unwind *self, struct frame_info *this_frame, void **this_prologue_cache)
 
enum unwind_stop_reason default_frame_unwind_stop_reason (struct frame_info *this_frame, void **this_cache)
 
struct valueframe_unwind_got_optimized (struct frame_info *frame, int regnum)
 
struct valueframe_unwind_got_register (struct frame_info *frame, int regnum, int new_regnum)
 
struct valueframe_unwind_got_memory (struct frame_info *frame, int regnum, CORE_ADDR addr)
 
struct valueframe_unwind_got_constant (struct frame_info *frame, int regnum, ULONGEST val)
 
struct valueframe_unwind_got_bytes (struct frame_info *frame, int regnum, gdb_byte *buf)
 
struct valueframe_unwind_got_address (struct frame_info *frame, int regnum, CORE_ADDR addr)
 
void _initialize_frame_unwind (void)
 

Variables

static struct gdbarch_dataframe_unwind_data
 
initialize_file_ftype _initialize_frame_unwind
 

Function Documentation

void _initialize_frame_unwind ( void  )

Definition at line 286 of file frame-unwind.c.

References frame_unwind_init(), and gdbarch_data_register_pre_init().

int default_frame_sniffer ( const struct frame_unwind self,
struct frame_info this_frame,
void **  this_prologue_cache 
)

Definition at line 170 of file frame-unwind.c.

enum unwind_stop_reason default_frame_unwind_stop_reason ( struct frame_info this_frame,
void **  this_cache 
)

Definition at line 180 of file frame-unwind.c.

References frame_id_eq(), get_frame_id(), and outer_frame_id.

Referenced by pyuw_on_new_gdbarch(), and tramp_frame_prepend_unwinder().

void frame_unwind_append_unwinder ( struct gdbarch gdbarch,
const struct frame_unwind unwinder 
)

Definition at line 78 of file frame-unwind.c.

References gdbarch_data(), GDBARCH_OBSTACK_ZALLOC, frame_unwind_table_entry::next, frame_unwind_table::osabi_head, and frame_unwind_table_entry::unwinder.

Referenced by aarch64_gdbarch_init(), alpha_gdbarch_init(), alpha_mdebug_init_abi(), amd64_init_abi(), amd64_windows_init_abi(), arm_gdbarch_init(), avr_gdbarch_init(), bfin_gdbarch_init(), cris_gdbarch_init(), dwarf2_append_unwinders(), frv_gdbarch_init(), frv_linux_init_abi(), ft32_gdbarch_init(), h8300_gdbarch_init(), hppa_gdbarch_init(), hppa_linux_init_abi(), i386_gdbarch_init(), ia64_gdbarch_init(), iq2000_gdbarch_init(), lm32_gdbarch_init(), m32c_gdbarch_init(), m32r_gdbarch_init(), m32r_linux_init_abi(), m68hc11_gdbarch_init(), m68k_gdbarch_init(), m68k_linux_init_abi(), m88k_gdbarch_init(), mep_gdbarch_init(), microblaze_gdbarch_init(), mips_gdbarch_init(), mips_sde_init_abi(), mn10300_frame_unwind_init(), moxie_gdbarch_init(), msp430_gdbarch_init(), mt_gdbarch_init(), nios2_gdbarch_init(), ppcfbsd_init_abi(), ppcobsd_init_abi(), rl78_gdbarch_init(), rs6000_gdbarch_init(), rx_gdbarch_init(), s390_gdbarch_init(), score_gdbarch_init(), sh64_gdbarch_init(), sh_gdbarch_init(), sparc32_gdbarch_init(), sparc32_sol2_init_abi(), sparc32nbsd_init_abi(), sparc32obsd_init_abi(), sparc64_init_abi(), sparc64_sol2_init_abi(), sparc64fbsd_init_abi(), sparc64nbsd_init_abi(), sparc64obsd_init_abi(), spu_gdbarch_init(), tic6x_gdbarch_init(), tilegx_gdbarch_init(), v850_gdbarch_init(), vax_gdbarch_init(), vaxobsd_init_abi(), xstormy16_gdbarch_init(), and xtensa_gdbarch_init().

void frame_unwind_find_by_frame ( struct frame_info this_frame,
void **  this_cache 
)
struct value* frame_unwind_got_address ( struct frame_info frame,
int  regnum,
CORE_ADDR  addr 
)
struct value* frame_unwind_got_bytes ( struct frame_info frame,
int  regnum,
gdb_byte buf 
)
struct value* frame_unwind_got_constant ( struct frame_info frame,
int  regnum,
ULONGEST  val 
)
struct value* frame_unwind_got_memory ( struct frame_info frame,
int  regnum,
CORE_ADDR  addr 
)
struct value* frame_unwind_got_optimized ( struct frame_info frame,
int  regnum 
)
struct value* frame_unwind_got_register ( struct frame_info frame,
int  regnum,
int  new_regnum 
)
static void* frame_unwind_init ( struct obstack *  obstack)
static
void frame_unwind_prepend_unwinder ( struct gdbarch gdbarch,
const struct frame_unwind unwinder 
)
static int frame_unwind_try_unwinder ( struct frame_info this_frame,
void **  this_cache,
const struct frame_unwind unwinder 
)
static

Variable Documentation

initialize_file_ftype _initialize_frame_unwind
struct gdbarch_data* frame_unwind_data
static

Definition at line 30 of file frame-unwind.c.