GDB (xrefs)
Classes | Macros | Functions | Variables
/tmp/gdb-7.10/gdb/ia64-libunwind-tdep.c File Reference
#include "defs.h"
#include "inferior.h"
#include "frame.h"
#include "frame-base.h"
#include "frame-unwind.h"
#include "gdbcore.h"
#include "gdbtypes.h"
#include "symtab.h"
#include "objfiles.h"
#include "regcache.h"
#include <dlfcn.h>
#include "ia64-libunwind-tdep.h"
#include "complaints.h"

Go to the source code of this file.

Classes

struct  libunwind_frame_cache
 

Macros

#define __LITTLE_ENDIAN   1234
 
#define __BIG_ENDIAN   4321
 
#define STRINGIFY2(name)   #name
 
#define STRINGIFY(name)   STRINGIFY2(name)
 
#define LIBUNWIND_SO   "libunwind-" STRINGIFY(UNW_TARGET) ".so.8"
 
#define LIBUNWIND_SO_7   "libunwind-" STRINGIFY(UNW_TARGET) ".so.7"
 

Functions

static struct libunwind_descrlibunwind_descr (struct gdbarch *gdbarch)
 
static void * libunwind_descr_init (struct gdbarch *gdbarch)
 
void libunwind_frame_set_descr (struct gdbarch *gdbarch, struct libunwind_descr *descr)
 
static struct libunwind_frame_cachelibunwind_frame_cache (struct frame_info *this_frame, void **this_cache)
 
void libunwind_frame_dealloc_cache (struct frame_info *self, void *this_cache)
 
unw_word_t libunwind_find_dyn_list (unw_addr_space_t as, unw_dyn_info_t *di, void *arg)
 
int libunwind_frame_sniffer (const struct frame_unwind *self, struct frame_info *this_frame, void **this_cache)
 
void libunwind_frame_this_id (struct frame_info *this_frame, void **this_cache, struct frame_id *this_id)
 
struct valuelibunwind_frame_prev_register (struct frame_info *this_frame, void **this_cache, int regnum)
 
int libunwind_search_unwind_table (void *as, long ip, void *di, void *pi, int need_unwind_info, void *args)
 
int libunwind_sigtramp_frame_sniffer (const struct frame_unwind *self, struct frame_info *this_frame, void **this_cache)
 
int libunwind_get_reg_special (struct gdbarch *gdbarch, struct regcache *regcache, int regnum, void *buf)
 
static int libunwind_load (void)
 
int libunwind_is_initialized (void)
 
void _initialize_libunwind_frame (void)
 

Variables

static int libunwind_initialized
 
static struct gdbarch_datalibunwind_descr_handle
 
static int(* unw_get_reg_p )(unw_cursor_t *, unw_regnum_t, unw_word_t *)
 
static int(* unw_get_fpreg_p )(unw_cursor_t *, unw_regnum_t, unw_fpreg_t *)
 
static int(* unw_get_saveloc_p )(unw_cursor_t *, unw_regnum_t, unw_save_loc_t *)
 
static int(* unw_is_signal_frame_p )(unw_cursor_t *)
 
static int(* unw_step_p )(unw_cursor_t *)
 
static int(* unw_init_remote_p )(unw_cursor_t *, unw_addr_space_t, void *)
 
static unw_addr_space_t(* unw_create_addr_space_p )(unw_accessors_t *, int)
 
static void(* unw_destroy_addr_space_p )(unw_addr_space_t)
 
static int(* unw_search_unwind_table_p )(unw_addr_space_t, unw_word_t, unw_dyn_info_t *, unw_proc_info_t *, int, void *)
 
static unw_word_t(* unw_find_dyn_list_p )(unw_addr_space_t, unw_dyn_info_t *, void *)
 
static char * get_reg_name = STRINGIFY(UNW_OBJ(get_reg))
 
static char * get_fpreg_name = STRINGIFY(UNW_OBJ(get_fpreg))
 
static char * get_saveloc_name = STRINGIFY(UNW_OBJ(get_save_loc))
 
static char * is_signal_frame_name = STRINGIFY(UNW_OBJ(is_signal_frame))
 
static char * step_name = STRINGIFY(UNW_OBJ(step))
 
static char * init_remote_name = STRINGIFY(UNW_OBJ(init_remote))
 
static char * create_addr_space_name = STRINGIFY(UNW_OBJ(create_addr_space))
 
static char * destroy_addr_space_name = STRINGIFY(UNW_OBJ(destroy_addr_space))
 
static char * search_unwind_table_name = STRINGIFY(UNW_OBJ(search_unwind_table))
 
static char * find_dyn_list_name = STRINGIFY(UNW_OBJ(find_dyn_list))
 

Macro Definition Documentation

#define __BIG_ENDIAN   4321
#define __LITTLE_ENDIAN   1234
#define LIBUNWIND_SO   "libunwind-" STRINGIFY(UNW_TARGET) ".so.8"

Definition at line 95 of file ia64-libunwind-tdep.c.

Referenced by libunwind_load().

#define LIBUNWIND_SO_7   "libunwind-" STRINGIFY(UNW_TARGET) ".so.7"

Definition at line 99 of file ia64-libunwind-tdep.c.

Referenced by libunwind_load().

#define STRINGIFY (   name)    STRINGIFY2(name)

Definition at line 90 of file ia64-libunwind-tdep.c.

#define STRINGIFY2 (   name)    #name

Definition at line 89 of file ia64-libunwind-tdep.c.

Function Documentation

void _initialize_libunwind_frame ( void  )
static struct libunwind_descr* libunwind_descr ( struct gdbarch gdbarch)
static
static void* libunwind_descr_init ( struct gdbarch gdbarch)
static
unw_word_t libunwind_find_dyn_list ( unw_addr_space_t  as,
unw_dyn_info_t *  di,
void *  arg 
)

Definition at line 240 of file ia64-libunwind-tdep.c.

References unw_find_dyn_list_p.

static struct libunwind_frame_cache* libunwind_frame_cache ( struct frame_info this_frame,
void **  this_cache 
)
static
void libunwind_frame_dealloc_cache ( struct frame_info self,
void *  this_cache 
)

Definition at line 231 of file ia64-libunwind-tdep.c.

References libunwind_frame_cache::as, and unw_destroy_addr_space_p.

struct value* libunwind_frame_prev_register ( struct frame_info this_frame,
void **  this_cache,
int  regnum 
)
void libunwind_frame_set_descr ( struct gdbarch gdbarch,
struct libunwind_descr descr 
)
int libunwind_frame_sniffer ( const struct frame_unwind self,
struct frame_info this_frame,
void **  this_cache 
)
void libunwind_frame_this_id ( struct frame_info this_frame,
void **  this_cache,
struct frame_id this_id 
)
int libunwind_get_reg_special ( struct gdbarch gdbarch,
struct regcache regcache,
int  regnum,
void *  buf 
)
int libunwind_is_initialized ( void  )

Definition at line 564 of file ia64-libunwind-tdep.c.

References libunwind_initialized.

Referenced by ia64_pseudo_register_read().

static int libunwind_load ( void  )
static
int libunwind_search_unwind_table ( void *  as,
long  ip,
void *  di,
void *  pi,
int  need_unwind_info,
void *  args 
)

Definition at line 380 of file ia64-libunwind-tdep.c.

References unw_search_unwind_table_p.

int libunwind_sigtramp_frame_sniffer ( const struct frame_unwind self,
struct frame_info this_frame,
void **  this_cache 
)

Variable Documentation

char* create_addr_space_name = STRINGIFY(UNW_OBJ(create_addr_space))
static

Definition at line 108 of file ia64-libunwind-tdep.c.

char* destroy_addr_space_name = STRINGIFY(UNW_OBJ(destroy_addr_space))
static

Definition at line 109 of file ia64-libunwind-tdep.c.

char* find_dyn_list_name = STRINGIFY(UNW_OBJ(find_dyn_list))
static

Definition at line 112 of file ia64-libunwind-tdep.c.

char* get_fpreg_name = STRINGIFY(UNW_OBJ(get_fpreg))
static

Definition at line 103 of file ia64-libunwind-tdep.c.

char* get_reg_name = STRINGIFY(UNW_OBJ(get_reg))
static

Definition at line 102 of file ia64-libunwind-tdep.c.

Referenced by libunwind_load().

char* get_saveloc_name = STRINGIFY(UNW_OBJ(get_save_loc))
static

Definition at line 104 of file ia64-libunwind-tdep.c.

char* init_remote_name = STRINGIFY(UNW_OBJ(init_remote))
static

Definition at line 107 of file ia64-libunwind-tdep.c.

char* is_signal_frame_name = STRINGIFY(UNW_OBJ(is_signal_frame))
static

Definition at line 105 of file ia64-libunwind-tdep.c.

struct gdbarch_data* libunwind_descr_handle
static

Definition at line 59 of file ia64-libunwind-tdep.c.

int libunwind_initialized
static

Definition at line 58 of file ia64-libunwind-tdep.c.

Referenced by _initialize_libunwind_frame(), and libunwind_is_initialized().

char* search_unwind_table_name = STRINGIFY(UNW_OBJ(search_unwind_table))
static

Definition at line 111 of file ia64-libunwind-tdep.c.

Referenced by libunwind_load().

char* step_name = STRINGIFY(UNW_OBJ(step))
static

Definition at line 106 of file ia64-libunwind-tdep.c.

unw_addr_space_t(* unw_create_addr_space_p) (unw_accessors_t *, int)
static
void(* unw_destroy_addr_space_p) (unw_addr_space_t)
static
unw_word_t(* unw_find_dyn_list_p) (unw_addr_space_t, unw_dyn_info_t *, void *)
static

Definition at line 74 of file ia64-libunwind-tdep.c.

Referenced by libunwind_find_dyn_list(), and libunwind_load().

int(* unw_get_fpreg_p) (unw_cursor_t *, unw_regnum_t, unw_fpreg_t *)
static
int(* unw_get_reg_p) (unw_cursor_t *, unw_regnum_t, unw_word_t *)
static
int(* unw_get_saveloc_p) (unw_cursor_t *, unw_regnum_t, unw_save_loc_t *)
static

Definition at line 64 of file ia64-libunwind-tdep.c.

Referenced by libunwind_frame_prev_register(), and libunwind_load().

int(* unw_init_remote_p) (unw_cursor_t *, unw_addr_space_t, void *)
static
int(* unw_is_signal_frame_p) (unw_cursor_t *)
static
int(* unw_search_unwind_table_p) (unw_addr_space_t, unw_word_t, unw_dyn_info_t *, unw_proc_info_t *, int, void *)
static

Definition at line 71 of file ia64-libunwind-tdep.c.

Referenced by libunwind_load(), and libunwind_search_unwind_table().

int(* unw_step_p) (unw_cursor_t *)
static

Definition at line 67 of file ia64-libunwind-tdep.c.

Referenced by libunwind_frame_cache(), and libunwind_load().