|
GDB (xrefs)
|
#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"#include "common/preprocessor.h"Go to the source code of this file.
Classes | |
| struct | libunwind_frame_cache |
Macros | |
| #define | __LITTLE_ENDIAN 1234 |
| #define | __BIG_ENDIAN 4321 |
| #define | LIBUNWIND_SO "libunwind-" STRINGIFY(UNW_TARGET) ".so.8" |
| #define | LIBUNWIND_SO_7 "libunwind-" STRINGIFY(UNW_TARGET) ".so.7" |
Typedefs | |
| typedef int() | unw_get_reg_p_ftype(unw_cursor_t *, unw_regnum_t, unw_word_t *) |
| typedef int() | unw_get_fpreg_p_ftype(unw_cursor_t *, unw_regnum_t, unw_fpreg_t *) |
| typedef int() | unw_get_saveloc_p_ftype(unw_cursor_t *, unw_regnum_t, unw_save_loc_t *) |
| typedef int() | unw_is_signal_frame_p_ftype(unw_cursor_t *) |
| typedef int() | unw_step_p_ftype(unw_cursor_t *) |
| typedef int() | unw_init_remote_p_ftype(unw_cursor_t *, unw_addr_space_t, void *) |
| typedef unw_addr_space_t() | unw_create_addr_space_p_ftype(unw_accessors_t *, int) |
| typedef void() | unw_destroy_addr_space_p_ftype(unw_addr_space_t) |
| typedef int() | unw_search_unwind_table_p_ftype(unw_addr_space_t, unw_word_t, unw_dyn_info_t *, unw_proc_info_t *, int, void *) |
| typedef unw_word_t() | unw_find_dyn_list_p_ftype(unw_addr_space_t, unw_dyn_info_t *, void *) |
Functions | |
| static struct libunwind_descr * | libunwind_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_cache * | libunwind_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 value * | libunwind_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) |
| #define __BIG_ENDIAN 4321 |
Definition at line 56 of file ia64-libunwind-tdep.c.
Referenced by libunwind_frame_cache(), libunwind_frame_sniffer(), libunwind_get_reg_special(), and libunwind_sigtramp_frame_sniffer().
| #define __LITTLE_ENDIAN 1234 |
Definition at line 53 of file ia64-libunwind-tdep.c.
Referenced by libunwind_frame_cache(), libunwind_frame_sniffer(), libunwind_get_reg_special(), and libunwind_sigtramp_frame_sniffer().
| #define LIBUNWIND_SO "libunwind-" STRINGIFY(UNW_TARGET) ".so.8" |
Definition at line 107 of file ia64-libunwind-tdep.c.
Referenced by libunwind_load().
| #define LIBUNWIND_SO_7 "libunwind-" STRINGIFY(UNW_TARGET) ".so.7" |
Definition at line 111 of file ia64-libunwind-tdep.c.
Referenced by libunwind_load().
| typedef unw_addr_space_t() unw_create_addr_space_p_ftype(unw_accessors_t *, int) |
Definition at line 78 of file ia64-libunwind-tdep.c.
| typedef void() unw_destroy_addr_space_p_ftype(unw_addr_space_t) |
Definition at line 81 of file ia64-libunwind-tdep.c.
| typedef unw_word_t() unw_find_dyn_list_p_ftype(unw_addr_space_t, unw_dyn_info_t *, void *) |
Definition at line 87 of file ia64-libunwind-tdep.c.
| typedef int() unw_get_fpreg_p_ftype(unw_cursor_t *, unw_regnum_t, unw_fpreg_t *) |
Definition at line 65 of file ia64-libunwind-tdep.c.
| typedef int() unw_get_reg_p_ftype(unw_cursor_t *, unw_regnum_t, unw_word_t *) |
Definition at line 63 of file ia64-libunwind-tdep.c.
| typedef int() unw_get_saveloc_p_ftype(unw_cursor_t *, unw_regnum_t, unw_save_loc_t *) |
Definition at line 68 of file ia64-libunwind-tdep.c.
| typedef int() unw_init_remote_p_ftype(unw_cursor_t *, unw_addr_space_t, void *) |
Definition at line 75 of file ia64-libunwind-tdep.c.
| typedef int() unw_is_signal_frame_p_ftype(unw_cursor_t *) |
Definition at line 71 of file ia64-libunwind-tdep.c.
| typedef int() unw_search_unwind_table_p_ftype(unw_addr_space_t, unw_word_t, unw_dyn_info_t *, unw_proc_info_t *, int, void *) |
Definition at line 83 of file ia64-libunwind-tdep.c.
| typedef int() unw_step_p_ftype(unw_cursor_t *) |
Definition at line 73 of file ia64-libunwind-tdep.c.
| void _initialize_libunwind_frame | ( | void | ) |
Definition at line 596 of file ia64-libunwind-tdep.c.
References gdbarch_data_register_post_init(), libunwind_descr_handle, libunwind_descr_init(), libunwind_initialized, and libunwind_load().
|
static |
Definition at line 127 of file ia64-libunwind-tdep.c.
References libunwind_descr_handle.
Referenced by libunwind_frame_cache(), libunwind_frame_prev_register(), libunwind_frame_sniffer(), libunwind_get_reg_special(), and libunwind_sigtramp_frame_sniffer().
|
static |
Definition at line 134 of file ia64-libunwind-tdep.c.
References GDBARCH_OBSTACK_ZALLOC.
Referenced by _initialize_libunwind_frame(), and libunwind_frame_set_descr().
| unw_word_t libunwind_find_dyn_list | ( | unw_addr_space_t | as, |
| unw_dyn_info_t * | di, | ||
| void * | arg | ||
| ) |
Definition at line 255 of file ia64-libunwind-tdep.c.
References libunwind_frame_cache::as, and unw_find_dyn_list_p.
|
static |
Definition at line 170 of file ia64-libunwind-tdep.c.
References _, __BIG_ENDIAN, __LITTLE_ENDIAN, libunwind_descr::accessors, libunwind_frame_cache::as, libunwind_frame_cache::base, libunwind_frame_cache::cursor, error(), FRAME_OBSTACK_ZALLOC, libunwind_frame_cache::func_addr, libunwind_descr::gdb2uw, gdbarch_byte_order(), gdbarch_sp_regnum(), get_frame_arch(), get_frame_func(), get_frame_pc(), libunwind_descr(), unw_create_addr_space_p, unw_destroy_addr_space_p, unw_get_reg_p, unw_init_remote_p, and unw_step_p.
Referenced by libunwind_frame_prev_register(), and libunwind_frame_this_id().
| void libunwind_frame_dealloc_cache | ( | struct frame_info * | self, |
| void * | this_cache | ||
| ) |
Definition at line 245 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 | ||
| ) |
Definition at line 320 of file ia64-libunwind-tdep.c.
References _, libunwind_frame_cache::cursor, error(), frame_unwind_got_bytes(), frame_unwind_got_constant(), frame_unwind_got_memory(), frame_unwind_got_register(), libunwind_descr::gdb2uw, gdb_assert, get_frame_arch(), libunwind_descr::is_fpreg, libunwind_descr(), libunwind_frame_cache(), regnum, target_has_registers, unw_get_fpreg_p, unw_get_reg_p, unw_get_saveloc_p, and libunwind_descr::uw2gdb.
| void libunwind_frame_set_descr | ( | struct gdbarch * | gdbarch, |
| struct libunwind_descr * | descr | ||
| ) |
Definition at line 143 of file ia64-libunwind-tdep.c.
References libunwind_descr::accessors, deprecated_set_gdbarch_data(), libunwind_descr::gdb2uw, gdb_assert, libunwind_descr::is_fpreg, libunwind_descr_handle, libunwind_descr_init(), libunwind_descr::special_accessors, and libunwind_descr::uw2gdb.
Referenced by ia64_gdbarch_init(), and ia64_openvms_init_abi().
| int libunwind_frame_sniffer | ( | const struct frame_unwind * | self, |
| struct frame_info * | this_frame, | ||
| void ** | this_cache | ||
| ) |
Definition at line 263 of file ia64-libunwind-tdep.c.
References __BIG_ENDIAN, __LITTLE_ENDIAN, libunwind_descr::accessors, libunwind_frame_cache::as, libunwind_frame_cache::cursor, gdbarch_byte_order(), get_frame_arch(), libunwind_descr(), unw_create_addr_space_p, unw_destroy_addr_space_p, unw_init_remote_p, and unw_is_signal_frame_p.
| void libunwind_frame_this_id | ( | struct frame_info * | this_frame, |
| void ** | this_cache, | ||
| struct frame_id * | this_id | ||
| ) |
Definition at line 309 of file ia64-libunwind-tdep.c.
References libunwind_frame_cache::base, frame_id_build(), libunwind_frame_cache::func_addr, and libunwind_frame_cache().
| int libunwind_get_reg_special | ( | struct gdbarch * | gdbarch, |
| struct regcache * | regcache, | ||
| int | regnum, | ||
| void * | buf | ||
| ) |
Definition at line 455 of file ia64-libunwind-tdep.c.
References __BIG_ENDIAN, __LITTLE_ENDIAN, libunwind_descr::gdb2uw, gdbarch_byte_order(), libunwind_descr::is_fpreg, libunwind_descr(), register_size(), regnum, libunwind_descr::special_accessors, unw_create_addr_space_p, unw_destroy_addr_space_p, unw_get_fpreg_p, unw_get_reg_p, and unw_init_remote_p.
Referenced by ia64_pseudo_register_read().
| int libunwind_is_initialized | ( | void | ) |
Definition at line 590 of file ia64-libunwind-tdep.c.
References libunwind_initialized.
Referenced by ia64_pseudo_register_read().
|
static |
Definition at line 509 of file ia64-libunwind-tdep.c.
References _, create_addr_space_name, destroy_addr_space_name, find_dyn_list_name, fprintf_unfiltered(), gdb_stderr, get_fpreg_name, get_reg_name, get_saveloc_name, init_remote_name, is_signal_frame_name, LIBUNWIND_SO, LIBUNWIND_SO_7, search_unwind_table_name, step_name, unw_create_addr_space_p, unw_destroy_addr_space_p, unw_find_dyn_list_p, unw_get_fpreg_p, unw_get_reg_p, unw_get_saveloc_p, unw_init_remote_p, unw_is_signal_frame_p, unw_search_unwind_table_p, unw_step_p, and xfree().
Referenced by _initialize_libunwind_frame().
| int libunwind_search_unwind_table | ( | void * | as, |
| long | ip, | ||
| void * | di, | ||
| void * | pi, | ||
| int | need_unwind_info, | ||
| void * | args | ||
| ) |
Definition at line 395 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 | ||
| ) |
Definition at line 406 of file ia64-libunwind-tdep.c.
References __BIG_ENDIAN, __LITTLE_ENDIAN, libunwind_descr::accessors, gdbarch_byte_order(), get_frame_arch(), libunwind_descr(), unw_create_addr_space_p, unw_destroy_addr_space_p, unw_init_remote_p, and unw_is_signal_frame_p.
|
static |
Definition at line 120 of file ia64-libunwind-tdep.c.
Referenced by libunwind_load().
|
static |
Definition at line 121 of file ia64-libunwind-tdep.c.
Referenced by libunwind_load().
|
static |
Definition at line 124 of file ia64-libunwind-tdep.c.
Referenced by libunwind_load().
|
static |
Definition at line 115 of file ia64-libunwind-tdep.c.
Referenced by libunwind_load().
|
static |
Definition at line 114 of file ia64-libunwind-tdep.c.
Referenced by libunwind_load().
|
static |
Definition at line 116 of file ia64-libunwind-tdep.c.
Referenced by libunwind_load().
|
static |
Definition at line 119 of file ia64-libunwind-tdep.c.
Referenced by libunwind_load().
|
static |
Definition at line 117 of file ia64-libunwind-tdep.c.
Referenced by libunwind_load().
|
static |
Definition at line 60 of file ia64-libunwind-tdep.c.
Referenced by _initialize_libunwind_frame(), libunwind_descr(), and libunwind_frame_set_descr().
|
static |
Definition at line 59 of file ia64-libunwind-tdep.c.
Referenced by _initialize_libunwind_frame(), and libunwind_is_initialized().
|
static |
Definition at line 123 of file ia64-libunwind-tdep.c.
Referenced by libunwind_load().
|
static |
Definition at line 118 of file ia64-libunwind-tdep.c.
Referenced by libunwind_load().
|
static |
Definition at line 80 of file ia64-libunwind-tdep.c.
Referenced by libunwind_frame_cache(), libunwind_frame_sniffer(), libunwind_get_reg_special(), libunwind_load(), and libunwind_sigtramp_frame_sniffer().
|
static |
Definition at line 82 of file ia64-libunwind-tdep.c.
Referenced by libunwind_frame_cache(), libunwind_frame_dealloc_cache(), libunwind_frame_sniffer(), libunwind_get_reg_special(), libunwind_load(), and libunwind_sigtramp_frame_sniffer().
|
static |
Definition at line 89 of file ia64-libunwind-tdep.c.
Referenced by libunwind_find_dyn_list(), and libunwind_load().
|
static |
Definition at line 67 of file ia64-libunwind-tdep.c.
Referenced by libunwind_frame_prev_register(), libunwind_get_reg_special(), and libunwind_load().
|
static |
Definition at line 64 of file ia64-libunwind-tdep.c.
Referenced by libunwind_frame_cache(), libunwind_frame_prev_register(), libunwind_get_reg_special(), and libunwind_load().
|
static |
Definition at line 70 of file ia64-libunwind-tdep.c.
Referenced by libunwind_frame_prev_register(), and libunwind_load().
|
static |
Definition at line 77 of file ia64-libunwind-tdep.c.
Referenced by libunwind_frame_cache(), libunwind_frame_sniffer(), libunwind_get_reg_special(), libunwind_load(), and libunwind_sigtramp_frame_sniffer().
|
static |
Definition at line 72 of file ia64-libunwind-tdep.c.
Referenced by libunwind_frame_sniffer(), libunwind_load(), and libunwind_sigtramp_frame_sniffer().
|
static |
Definition at line 86 of file ia64-libunwind-tdep.c.
Referenced by libunwind_load(), and libunwind_search_unwind_table().
|
static |
Definition at line 74 of file ia64-libunwind-tdep.c.
Referenced by libunwind_frame_cache(), and libunwind_load().
1.8.14