28#ifdef HAVE_LIBUNWIND_IA64_H
33ia64_vms_find_proc_info_x (unw_addr_space_t as, unw_word_t ip,
35 int need_unwind_info,
void *arg)
39 const char *annex = core_addr_to_string (ip);
42 unsigned int info_len;
46 annex + 2, buf, 0,
sizeof (buf));
48 if (res !=
sizeof (buf))
51 pi->format = UNW_INFO_FORMAT_REMOTE_TABLE;
60 pi->unwind_info = NULL;
61 pi->unwind_info_size = 0;
71 return -UNW_EBADVERSION;
73 pi->unwind_info_size = 8 * info_len;
76 pi->unwind_info =
xmalloc (pi->unwind_info_size);
79 (gdb_byte *) pi->unwind_info, pi->unwind_info_size);
82 xfree (pi->unwind_info);
83 pi->unwind_info = NULL;
92 pi->lsda = table_addr + 8 + pi->unwind_info_size;
106ia64_vms_put_unwind_info (unw_addr_space_t as,
107 unw_proc_info_t *pip,
void *arg)
116ia64_vms_get_dyn_info_list (unw_addr_space_t as,
117 unw_word_t *dilap,
void *arg)
123static unw_accessors_t ia64_vms_unw_accessors;
124static unw_accessors_t ia64_vms_unw_rse_accessors;
137#ifdef HAVE_LIBUNWIND_IA64_H
139 ia64_vms_unw_accessors = ia64_unw_accessors;
140 ia64_vms_unw_accessors.find_proc_info = ia64_vms_find_proc_info_x;
141 ia64_vms_unw_accessors.put_unwind_info = ia64_vms_put_unwind_info;
142 ia64_vms_unw_accessors.get_dyn_info_list_addr = ia64_vms_get_dyn_info_list;
144 ia64_vms_unw_rse_accessors = ia64_unw_rse_accessors;
145 ia64_vms_unw_rse_accessors.find_proc_info = ia64_vms_find_proc_info_x;
146 ia64_vms_unw_rse_accessors.put_unwind_info = ia64_vms_put_unwind_info;
147 ia64_vms_unw_rse_accessors.get_dyn_info_list_addr = ia64_vms_get_dyn_info_list;
149 ia64_vms_libunwind_descr = ia64_libunwind_descr;
150 ia64_vms_libunwind_descr.accessors = &ia64_vms_unw_accessors;
151 ia64_vms_libunwind_descr.special_accessors = &ia64_vms_unw_rse_accessors;
struct gdbarch * target_gdbarch(void)
static ULONGEST extract_unsigned_integer(gdb::array_view< const gdb_byte > buf, enum bfd_endian byte_order)
enum bfd_endian gdbarch_byte_order(struct gdbarch *gdbarch)
void set_gdbarch_long_double_format(struct gdbarch *gdbarch, const struct floatformat **long_double_format)
const struct floatformat * floatformats_ieee_quad[BFD_ENDIAN_UNKNOWN]
void libunwind_frame_set_descr(struct gdbarch *gdbarch, struct libunwind_descr *descr)
static void ia64_openvms_init_abi(struct gdbarch_info info, struct gdbarch *gdbarch)
void _initialize_ia64_vms_tdep()
struct inferior * current_inferior(void)
void gdbarch_register_osabi(enum bfd_architecture arch, unsigned long machine, enum gdb_osabi osabi, void(*init_osabi)(struct gdbarch_info, struct gdbarch *))
LONGEST target_read(struct target_ops *ops, enum target_object object, const char *annex, gdb_byte *buf, ULONGEST offset, LONGEST len)
int target_read_memory(CORE_ADDR memaddr, gdb_byte *myaddr, ssize_t len)
@ TARGET_OBJECT_OPENVMS_UIB