GDB (xrefs)
|
#include "defs.h"
#include "inferior.h"
#include "gdbcore.h"
#include "arch-utils.h"
#include "floatformat.h"
#include "gdbtypes.h"
#include "regcache.h"
#include "reggroups.h"
#include "frame.h"
#include "frame-base.h"
#include "frame-unwind.h"
#include "target-float.h"
#include "value.h"
#include "objfiles.h"
#include "elf/common.h"
#include "elf-bfd.h"
#include "dis-asm.h"
#include "infcall.h"
#include "osabi.h"
#include "ia64-tdep.h"
#include "cp-abi.h"
Go to the source code of this file.
Classes | |
struct | ia64_frame_cache |
Macros | |
#define | SLOT_MULTIPLIER 1 |
#define | BUNDLE_LEN 16 |
#define | NUM_IA64_RAW_REGS 462 |
#define | IA64_FP_REGISTER_SIZE 16 |
#define | IA64_BREAKPOINT 0x00003333300LL |
#define | IS_NaT_COLLECTION_ADDR(addr) ((((addr) >> 3) & 0x3f) == 0x3f) |
#define | isScratch(_regnum_) |
#define | imm9(_instr_) |
Enumerations | |
enum | ia64_instruction_type { A , I , M , F , B , L , X , undefined } |
enum | pseudo_regs { FIRST_PSEUDO_REGNUM = NUM_IA64_RAW_REGS , VBOF_REGNUM = IA64_NAT127_REGNUM + 1 , V32_REGNUM , V127_REGNUM = V32_REGNUM + 95 , VP0_REGNUM , VP16_REGNUM = VP0_REGNUM + 16 , VP63_REGNUM = VP0_REGNUM + 63 , LAST_PSEUDO_REGNUM } |
Functions | |
static struct type * | is_float_or_hfa_type (struct type *t) |
static CORE_ADDR | ia64_find_global_pointer (struct gdbarch *gdbarch, CORE_ADDR faddr) |
static int | floatformat_valid (const struct floatformat *fmt, const void *from) |
static struct type * | ia64_ext_type (struct gdbarch *gdbarch) |
static int | ia64_register_reggroup_p (struct gdbarch *gdbarch, int regnum, const struct reggroup *group) |
static const char * | ia64_register_name (struct gdbarch *gdbarch, int reg) |
struct type * | ia64_register_type (struct gdbarch *arch, int reg) |
static int | ia64_dwarf_reg_to_regnum (struct gdbarch *gdbarch, int reg) |
static long long | extract_bit_field (const gdb_byte *bundle, int from, int len) |
static void | replace_bit_field (gdb_byte *bundle, long long val, int from, int len) |
static long long | slotN_contents (gdb_byte *bundle, int slotnum) |
static void | replace_slotN_contents (gdb_byte *bundle, long long instr, int slotnum) |
static CORE_ADDR | fetch_instruction (CORE_ADDR addr, ia64_instruction_type *it, long long *instr) |
static int | ia64_memory_insert_breakpoint (struct gdbarch *gdbarch, struct bp_target_info *bp_tgt) |
static int | ia64_memory_remove_breakpoint (struct gdbarch *gdbarch, struct bp_target_info *bp_tgt) |
static int | ia64_breakpoint_kind_from_pc (struct gdbarch *gdbarch, CORE_ADDR *pcptr) |
static const gdb_byte * | ia64_breakpoint_from_pc (struct gdbarch *gdbarch, CORE_ADDR *pcptr, int *lenptr) |
static CORE_ADDR | ia64_read_pc (readable_regcache *regcache) |
void | ia64_write_pc (struct regcache *regcache, CORE_ADDR new_pc) |
static CORE_ADDR | rse_address_add (CORE_ADDR addr, int nslots) |
static enum register_status | ia64_pseudo_register_read (struct gdbarch *gdbarch, readable_regcache *regcache, int regnum, gdb_byte *buf) |
static void | ia64_pseudo_register_write (struct gdbarch *gdbarch, struct regcache *regcache, int regnum, const gdb_byte *buf) |
static int | ia64_convert_register_p (struct gdbarch *gdbarch, int regno, struct type *type) |
static int | ia64_register_to_value (frame_info_ptr frame, int regnum, struct type *valtype, gdb_byte *out, int *optimizedp, int *unavailablep) |
static void | ia64_value_to_register (frame_info_ptr frame, int regnum, struct type *valtype, const gdb_byte *in) |
static CORE_ADDR | refine_prologue_limit (CORE_ADDR pc, CORE_ADDR lim_pc, int *trust_limit) |
static struct ia64_frame_cache * | ia64_alloc_frame_cache (void) |
static CORE_ADDR | examine_prologue (CORE_ADDR pc, CORE_ADDR lim_pc, frame_info_ptr this_frame, struct ia64_frame_cache *cache) |
CORE_ADDR | ia64_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc) |
static struct ia64_frame_cache * | ia64_frame_cache (frame_info_ptr this_frame, void **this_cache) |
static void | ia64_frame_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id) |
static struct value * | ia64_frame_prev_register (frame_info_ptr this_frame, void **this_cache, int regnum) |
static void | ia64_sigtramp_frame_init_saved_regs (frame_info_ptr this_frame, struct ia64_frame_cache *cache) |
static struct ia64_frame_cache * | ia64_sigtramp_frame_cache (frame_info_ptr this_frame, void **this_cache) |
static void | ia64_sigtramp_frame_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id) |
static struct value * | ia64_sigtramp_frame_prev_register (frame_info_ptr this_frame, void **this_cache, int regnum) |
static int | ia64_sigtramp_frame_sniffer (const struct frame_unwind *self, frame_info_ptr this_frame, void **this_cache) |
static CORE_ADDR | ia64_frame_base_address (frame_info_ptr this_frame, void **this_cache) |
static int | ia64_use_struct_convention (struct type *type) |
static int | ia64_struct_type_p (const struct type *type) |
static void | ia64_extract_return_value (struct type *type, struct regcache *regcache, gdb_byte *valbuf) |
static void | ia64_store_return_value (struct type *type, struct regcache *regcache, const gdb_byte *valbuf) |
static enum return_value_convention | ia64_return_value (struct gdbarch *gdbarch, struct value *function, struct type *valtype, struct regcache *regcache, gdb_byte *readbuf, const gdb_byte *writebuf) |
static int | is_float_or_hfa_type_recurse (struct type *t, struct type **etp) |
static int | slot_alignment_is_next_even (struct type *t) |
static CORE_ADDR | ia64_find_global_pointer_from_dynamic_section (struct gdbarch *gdbarch, CORE_ADDR faddr) |
static CORE_ADDR | find_extant_func_descr (struct gdbarch *gdbarch, CORE_ADDR faddr) |
static CORE_ADDR | find_func_descr (struct regcache *regcache, CORE_ADDR faddr, CORE_ADDR *fdaptr) |
static CORE_ADDR | ia64_convert_from_func_ptr_addr (struct gdbarch *gdbarch, CORE_ADDR addr, struct target_ops *targ) |
static CORE_ADDR | ia64_frame_align (struct gdbarch *gdbarch, CORE_ADDR sp) |
static void | ia64_allocate_new_rse_frame (struct regcache *regcache, ULONGEST bsp, int sof) |
static void | ia64_store_argument_in_slot (struct regcache *regcache, CORE_ADDR bsp, int slotnum, gdb_byte *buf) |
static void | ia64_set_function_addr (struct regcache *regcache, CORE_ADDR func_addr) |
static CORE_ADDR | ia64_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, function_call_return_method return_method, CORE_ADDR struct_addr) |
static struct frame_id | ia64_dummy_id (struct gdbarch *gdbarch, frame_info_ptr this_frame) |
static CORE_ADDR | ia64_unwind_pc (struct gdbarch *gdbarch, frame_info_ptr next_frame) |
static int | ia64_print_insn (bfd_vma memaddr, struct disassemble_info *info) |
static int | ia64_size_of_register_frame (frame_info_ptr this_frame, ULONGEST cfm) |
static struct gdbarch * | ia64_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) |
void | _initialize_ia64_tdep () |
Variables | |
static gdbarch_init_ftype | ia64_gdbarch_init |
static gdbarch_register_name_ftype | ia64_register_name |
static gdbarch_register_type_ftype | ia64_register_type |
static gdbarch_breakpoint_from_pc_ftype | ia64_breakpoint_from_pc |
static gdbarch_skip_prologue_ftype | ia64_skip_prologue |
static int | sp_regnum = IA64_GR12_REGNUM |
static const char *const | ia64_register_names [] |
static const struct floatformat | floatformat_ia64_ext_little |
static const struct floatformat | floatformat_ia64_ext_big |
static const struct floatformat * | floatformats_ia64_ext [2] |
static enum ia64_instruction_type | template_encoding_table [32][3] |
static int | max_skip_non_prologue_insns = 40 |
static const struct frame_unwind | ia64_frame_unwind |
static const struct frame_unwind | ia64_sigtramp_frame_unwind |
static const struct frame_base | ia64_frame_base |
static const struct ia64_infcall_ops | ia64_infcall_ops |
#define BUNDLE_LEN 16 |
Definition at line 109 of file ia64-tdep.c.
Referenced by fetch_instruction(), ia64_breakpoint_from_pc(), ia64_memory_insert_breakpoint(), and ia64_memory_remove_breakpoint().
#define IA64_BREAKPOINT 0x00003333300LL |
Definition at line 639 of file ia64-tdep.c.
Referenced by ia64_memory_insert_breakpoint(), and ia64_memory_remove_breakpoint().
#define IA64_FP_REGISTER_SIZE 16 |
Definition at line 130 of file ia64-tdep.c.
Referenced by ia64_extract_return_value(), ia64_push_dummy_call(), ia64_register_to_value(), ia64_store_return_value(), and ia64_value_to_register().
#define imm9 | ( | _instr_ | ) |
Definition at line 1328 of file ia64-tdep.c.
Referenced by examine_prologue().
#define IS_NaT_COLLECTION_ADDR | ( | addr | ) | ((((addr) >> 3) & 0x3f) == 0x3f) |
Definition at line 910 of file ia64-tdep.c.
Referenced by examine_prologue(), and rse_address_add().
#define isScratch | ( | _regnum_ | ) |
Definition at line 1325 of file ia64-tdep.c.
Referenced by examine_prologue().
#define NUM_IA64_RAW_REGS 462 |
Definition at line 127 of file ia64-tdep.c.
Referenced by ia64_alloc_frame_cache(), ia64_gdbarch_init(), and ia64_register_reggroup_p().
#define SLOT_MULTIPLIER 1 |
Definition at line 105 of file ia64-tdep.c.
Referenced by fetch_instruction(), ia64_breakpoint_from_pc(), ia64_memory_insert_breakpoint(), ia64_memory_remove_breakpoint(), ia64_print_insn(), ia64_read_pc(), and ia64_write_pc().
Enumerator | |
---|---|
A | |
I | |
M | |
F | |
B | |
L | |
X | |
undefined |
Definition at line 78 of file ia64-tdep.c.
enum pseudo_regs |
Enumerator | |
---|---|
FIRST_PSEUDO_REGNUM | |
VBOF_REGNUM | |
V32_REGNUM | |
V127_REGNUM | |
VP0_REGNUM | |
VP16_REGNUM | |
VP63_REGNUM | |
LAST_PSEUDO_REGNUM |
Definition at line 138 of file ia64-tdep.c.
void _initialize_ia64_tdep | ( | ) |
Definition at line 4019 of file ia64-tdep.c.
References gdbarch_register(), and ia64_gdbarch_init.
|
static |
Definition at line 1362 of file ia64-tdep.c.
References ia64_frame_cache::after_prologue, B, ia64_frame_cache::bsp, ia64_frame_cache::cfm, extract_unsigned_integer(), fetch_instruction(), ia64_frame_cache::fp_reg, ia64_frame_cache::frameless, gdbarch_byte_order(), get_frame_arch(), get_frame_register(), get_frame_register_unsigned(), I, IA64_CFM_REGNUM, IA64_FR0_REGNUM, IA64_GR0_REGNUM, IA64_GR32_REGNUM, IA64_PR_REGNUM, IA64_UNAT_REGNUM, IA64_VFP_REGNUM, IA64_VRAP_REGNUM, imm9, IS_NaT_COLLECTION_ADDR, isScratch, LL, M, ia64_frame_cache::mem_stack_frame_size, ia64_frame_cache::pc, ia64_frame_cache::prev_cfm, read_memory_integer(), refine_prologue_limit(), rse_address_add(), ia64_frame_cache::saved_regs, ia64_frame_cache::saved_sp, ia64_frame_cache::sof, ia64_frame_cache::sol, ia64_frame_cache::sor, and sp_regnum.
Referenced by ia64_frame_cache(), and ia64_skip_prologue().
|
static |
Definition at line 377 of file ia64-tdep.c.
References LL.
Referenced by fetch_instruction(), ia64_breakpoint_from_pc(), ia64_frame_prev_register(), ia64_memory_insert_breakpoint(), ia64_memory_remove_breakpoint(), and slotN_contents().
|
static |
Definition at line 516 of file ia64-tdep.c.
References BUNDLE_LEN, extract_bit_field(), L, SLOT_MULTIPLIER, slotN_contents(), target_read_memory(), and template_encoding_table.
Referenced by riscv_insn::decode(), and examine_prologue().
|
static |
Definition at line 3503 of file ia64-tdep.c.
References obj_section::addr(), obj_section::endaddr(), extract_signed_integer(), find_pc_section(), gdbarch_byte_order(), obj_section::objfile, objfile::sections(), status, target_read_memory(), and obj_section::the_bfd_section.
Referenced by find_func_descr().
|
static |
Definition at line 3551 of file ia64-tdep.c.
References reg_buffer::arch(), find_extant_func_descr(), gdbarch_byte_order(), ia64_find_global_pointer(), IA64_GR1_REGNUM, regcache_cooked_read_unsigned(), store_unsigned_integer(), and write_memory().
Referenced by ia64_push_dummy_call().
|
static |
Definition at line 287 of file ia64-tdep.c.
|
static |
Definition at line 1336 of file ia64-tdep.c.
References ia64_frame_cache::base, ia64_frame_cache::bsp, ia64_frame_cache::cfm, ia64_frame_cache::fp_reg, FRAME_OBSTACK_ZALLOC, ia64_frame_cache::frameless, NUM_IA64_RAW_REGS, ia64_frame_cache::pc, ia64_frame_cache::prev_cfm, ia64_frame_cache::saved_regs, ia64_frame_cache::sof, ia64_frame_cache::sol, and ia64_frame_cache::sor.
Referenced by ia64_frame_cache(), and ia64_sigtramp_frame_cache().
|
static |
Definition at line 3638 of file ia64-tdep.c.
References IA64_BSP_REGNUM, IA64_CFM_REGNUM, IA64_PFS_REGNUM, regcache_cooked_read_unsigned(), regcache_cooked_write_unsigned(), and rse_address_add().
|
static |
Definition at line 822 of file ia64-tdep.c.
References BUNDLE_LEN, extract_bit_field(), L, make_scoped_restore_show_memory_breakpoints(), replace_slotN_contents(), SLOT_MULTIPLIER, slotN_contents(), target_read_memory(), template_encoding_table, and X.
|
static |
Definition at line 809 of file ia64-tdep.c.
Referenced by ia64_gdbarch_init().
|
static |
Definition at line 3586 of file ia64-tdep.c.
References obj_section::addr(), extract_unsigned_integer(), find_pc_section(), gdbarch_byte_order(), is_vtable_name(), general_symbol_info::linkage_name(), lookup_minimal_symbol_by_pc(), bound_minimal_symbol::minsym, read_memory_unsigned_integer(), target_read_memory(), and obj_section::the_bfd_section.
Referenced by ia64_gdbarch_init().
|
static |
Definition at line 1214 of file ia64-tdep.c.
References type::code(), ia64_ext_type(), IA64_FR0_REGNUM, and IA64_FR127_REGNUM.
Referenced by ia64_gdbarch_init().
|
static |
Definition at line 3866 of file ia64-tdep.c.
References extract_unsigned_integer(), frame_id_build_special(), gdb_printf(), gdb_stdlog, gdbarch_byte_order(), gdbarch_debug, get_frame_pc(), get_frame_register(), IA64_BSP_REGNUM, paddress(), and sp_regnum.
Referenced by ia64_gdbarch_init().
|
static |
Definition at line 365 of file ia64-tdep.c.
References IA64_GR127_REGNUM, IA64_GR32_REGNUM, and V32_REGNUM.
Referenced by ia64_gdbarch_init().
Definition at line 311 of file ia64-tdep.c.
References floatformats_ia64_ext, ia64_gdbarch_tdep::ia64_ext_type, and init_float_type().
Referenced by ia64_convert_register_p(), ia64_extract_return_value(), ia64_push_dummy_call(), ia64_register_to_value(), ia64_register_type(), ia64_store_return_value(), and ia64_value_to_register().
|
static |
Definition at line 3191 of file ia64-tdep.c.
References reg_buffer::arch(), readable_regcache::cooked_read(), gdbarch_byte_order(), ia64_ext_type(), IA64_FP_REGISTER_SIZE, IA64_FR8_REGNUM, IA64_GR8_REGNUM, ia64_struct_type_p(), is_float_or_hfa_type(), type::length(), regcache_cooked_read_unsigned(), register_type(), regnum, store_unsigned_integer(), and target_float_convert().
Referenced by ia64_return_value().
|
static |
Definition at line 3487 of file ia64-tdep.c.
References obj_section::addr(), ia64_gdbarch_tdep::find_global_pointer_from_solib, and ia64_find_global_pointer_from_dynamic_section().
Referenced by find_func_descr(), and ia64_push_dummy_call().
|
static |
Definition at line 3425 of file ia64-tdep.c.
References obj_section::addr(), obj_section::endaddr(), extract_signed_integer(), extract_unsigned_integer(), find_pc_section(), gdbarch_byte_order(), obj_section::objfile, objfile::sections(), status, and target_read_memory().
Referenced by ia64_find_global_pointer().
|
static |
Definition at line 3630 of file ia64-tdep.c.
Referenced by ia64_gdbarch_init().
|
static |
Definition at line 2367 of file ia64-tdep.c.
References ia64_frame_cache::base, and ia64_frame_cache().
|
static |
Definition at line 1844 of file ia64-tdep.c.
References ia64_frame_cache::base, ia64_frame_cache::bsp, ia64_frame_cache::cfm, examine_prologue(), extract_unsigned_integer(), gdbarch_byte_order(), get_frame_arch(), get_frame_func(), get_frame_pc(), get_frame_register(), ia64_alloc_frame_cache(), IA64_BSP_REGNUM, IA64_CFM_REGNUM, IA64_PSR_REGNUM, ia64_frame_cache::mem_stack_frame_size, ia64_frame_cache::pc, ia64_frame_cache::saved_sp, ia64_frame_cache::sof, ia64_frame_cache::sol, ia64_frame_cache::sor, and sp_regnum.
Referenced by ia64_frame_base_address(), ia64_frame_prev_register(), and ia64_frame_this_id().
|
static |
Definition at line 1910 of file ia64-tdep.c.
References ia64_frame_cache::base, ia64_frame_cache::bsp, ia64_frame_cache::cfm, value::contents_all(), extract_bit_field(), extract_unsigned_integer(), frame_unwind_got_constant(), frame_unwind_got_memory(), frame_unwind_got_register(), ia64_frame_cache::frameless, gdbarch_byte_order(), gdbarch_sp_regnum(), get_frame_arch(), get_frame_register(), IA64_BR0_REGNUM, IA64_BSP_REGNUM, IA64_CFM_REGNUM, IA64_FR127_REGNUM, IA64_FR32_REGNUM, ia64_frame_cache(), ia64_frame_prev_register(), IA64_GR0_REGNUM, IA64_GR127_REGNUM, IA64_GR32_REGNUM, IA64_IP_REGNUM, IA64_NAT0_REGNUM, IA64_NAT127_REGNUM, IA64_NAT31_REGNUM, IA64_NAT32_REGNUM, IA64_PFS_REGNUM, IA64_PR_REGNUM, IA64_PSR_REGNUM, IA64_RNAT_REGNUM, IA64_UNAT_REGNUM, IA64_VFP_REGNUM, IA64_VRAP_REGNUM, ia64_frame_cache::prev_cfm, read_memory(), read_memory_integer(), register_size(), regnum, rse_address_add(), ia64_frame_cache::saved_regs, ia64_frame_cache::sof, target_has_registers(), V127_REGNUM, V32_REGNUM, VP0_REGNUM, VP16_REGNUM, and VP63_REGNUM.
Referenced by ia64_frame_prev_register().
|
static |
Definition at line 1889 of file ia64-tdep.c.
References ia64_frame_cache::base, ia64_frame_cache::bsp, frame_id::code_addr, frame_id_build_special(), gdb_printf(), gdb_stdlog, gdbarch_debug, frame_info_ptr::get(), get_frame_arch(), ia64_frame_cache(), paddress(), ia64_frame_cache::pc, and frame_id::stack_addr.
|
static |
Definition at line 3919 of file ia64-tdep.c.
References arches, core_addr_lessthan(), FIRST_PSEUDO_REGNUM, floatformats_i387_ext, frame_base_set_default(), frame_unwind_append_unwinder(), gdbarch_alloc(), gdbarch_init_osabi(), gdbarch_list_lookup_by_info(), ia64_breakpoint_from_pc, ia64_breakpoint_kind_from_pc(), ia64_convert_from_func_ptr_addr(), ia64_convert_register_p(), ia64_dummy_id(), ia64_dwarf_reg_to_regnum(), IA64_FR0_REGNUM, ia64_frame_align(), ia64_frame_base, ia64_frame_unwind, ia64_infcall_ops, ia64_memory_insert_breakpoint(), ia64_memory_remove_breakpoint(), ia64_print_insn(), ia64_pseudo_register_read(), ia64_pseudo_register_write(), ia64_push_dummy_call(), ia64_read_pc(), ia64_register_name, ia64_register_reggroup_p(), ia64_register_to_value(), ia64_register_type, ia64_return_value(), ia64_sigtramp_frame_unwind, ia64_size_of_register_frame(), ia64_skip_prologue, ia64_unwind_pc(), ia64_value_to_register(), ia64_write_pc(), gdbarch::info(), LAST_PSEUDO_REGNUM, libunwind_frame_set_descr(), NUM_IA64_RAW_REGS, set_gdbarch_breakpoint_from_pc(), set_gdbarch_breakpoint_kind_from_pc(), set_gdbarch_convert_from_func_ptr_addr(), set_gdbarch_convert_register_p(), set_gdbarch_double_bit(), set_gdbarch_dummy_id(), set_gdbarch_dwarf2_reg_to_regnum(), set_gdbarch_float_bit(), set_gdbarch_fp0_regnum(), set_gdbarch_frame_align(), set_gdbarch_inner_than(), set_gdbarch_int_bit(), set_gdbarch_long_bit(), set_gdbarch_long_double_bit(), set_gdbarch_long_double_format(), set_gdbarch_long_long_bit(), set_gdbarch_memory_insert_breakpoint(), set_gdbarch_memory_remove_breakpoint(), set_gdbarch_num_pseudo_regs(), set_gdbarch_num_regs(), set_gdbarch_print_insn(), set_gdbarch_pseudo_register_read(), set_gdbarch_pseudo_register_write(), set_gdbarch_ptr_bit(), set_gdbarch_push_dummy_call(), set_gdbarch_read_pc(), set_gdbarch_register_name(), set_gdbarch_register_reggroup_p(), set_gdbarch_register_to_value(), set_gdbarch_register_type(), set_gdbarch_return_value(), set_gdbarch_short_bit(), set_gdbarch_skip_prologue(), set_gdbarch_sp_regnum(), set_gdbarch_unwind_pc(), set_gdbarch_value_to_register(), set_gdbarch_vtable_function_descriptors(), set_gdbarch_write_pc(), ia64_gdbarch_tdep::size_of_register_frame, and sp_regnum.
|
static |
Definition at line 642 of file ia64-tdep.c.
References BUNDLE_LEN, extract_bit_field(), IA64_BREAKPOINT, L, make_scoped_restore_show_memory_breakpoints(), paddress(), bp_target_info::placed_address, replace_slotN_contents(), bp_target_info::reqstd_address, bp_target_info::shadow_contents, bp_target_info::shadow_len, SLOT_MULTIPLIER, slotN_contents(), target_read_memory(), target_write_memory(), template_encoding_table, and X.
Referenced by ia64_gdbarch_init().
|
static |
Definition at line 730 of file ia64-tdep.c.
References BUNDLE_LEN, extract_bit_field(), IA64_BREAKPOINT, L, make_scoped_restore_show_memory_breakpoints(), paddress(), bp_target_info::placed_address, replace_slotN_contents(), bp_target_info::shadow_contents, bp_target_info::shadow_len, SLOT_MULTIPLIER, slotN_contents(), target_read_memory(), target_write_raw_memory(), template_encoding_table, and X.
Referenced by ia64_gdbarch_init().
|
static |
Definition at line 3904 of file ia64-tdep.c.
References default_print_insn(), and SLOT_MULTIPLIER.
Referenced by ia64_gdbarch_init().
|
static |
Definition at line 933 of file ia64-tdep.c.
References readable_regcache::cooked_read(), gdbarch_byte_order(), IA64_BSP_REGNUM, IA64_CFM_REGNUM, IA64_NAT0_REGNUM, IA64_NAT127_REGNUM, IA64_NAT31_REGNUM, IA64_NAT32_REGNUM, IA64_PR_REGNUM, IA64_RNAT_REGNUM, IA64_UNAT_REGNUM, libunwind_get_reg_special(), libunwind_is_initialized(), read_memory_integer(), register_size(), regnum, rse_address_add(), status, store_unsigned_integer(), V127_REGNUM, V32_REGNUM, VBOF_REGNUM, VP0_REGNUM, VP16_REGNUM, and VP63_REGNUM.
Referenced by ia64_gdbarch_init().
|
static |
Definition at line 1089 of file ia64-tdep.c.
References extract_unsigned_integer(), gdbarch_byte_order(), IA64_BSP_REGNUM, IA64_CFM_REGNUM, IA64_NAT0_REGNUM, IA64_NAT127_REGNUM, IA64_NAT31_REGNUM, IA64_NAT32_REGNUM, IA64_PR_REGNUM, IA64_RNAT_REGNUM, IA64_UNAT_REGNUM, read_memory_integer(), regcache_cooked_read_unsigned(), regcache_cooked_write_unsigned(), register_size(), regnum, rse_address_add(), store_unsigned_integer(), V127_REGNUM, V32_REGNUM, VP0_REGNUM, VP16_REGNUM, VP63_REGNUM, and write_memory().
Referenced by ia64_gdbarch_init().
|
static |
Definition at line 3676 of file ia64-tdep.c.
References check_typedef(), type::code(), value::contents(), regcache::cooked_write(), extract_unsigned_integer(), find_func_descr(), find_function_addr(), gdbarch_byte_order(), IA64_BR0_REGNUM, IA64_BSP_REGNUM, ia64_ext_type(), ia64_find_global_pointer(), IA64_FP_REGISTER_SIZE, IA64_FR16_REGNUM, IA64_FR8_REGNUM, IA64_GR1_REGNUM, IA64_GR8_REGNUM, ia64_struct_type_p(), is_float_or_hfa_type(), type::length(), regcache_cooked_read_unsigned(), regcache_cooked_write_unsigned(), return_method_struct, slot_alignment_is_next_even(), sp_regnum, store_unsigned_integer(), target_float_convert(), type::target_type(), type, value::type(), and write_memory().
Referenced by ia64_gdbarch_init().
|
static |
Definition at line 882 of file ia64-tdep.c.
References readable_regcache::cooked_read(), IA64_IP_REGNUM, IA64_PSR_REGNUM, and SLOT_MULTIPLIER.
Referenced by ia64_gdbarch_init().
|
static |
Definition at line 350 of file ia64-tdep.c.
References ia64_register_names.
|
static |
Definition at line 327 of file ia64-tdep.c.
References all_reggroup, type::code(), float_reggroup, general_reggroup, type::is_vector(), NUM_IA64_RAW_REGS, register_type(), regnum, restore_reggroup, save_reggroup, and vector_reggroup.
Referenced by ia64_gdbarch_init().
|
static |
Definition at line 1222 of file ia64-tdep.c.
References get_frame_arch(), get_frame_register_bytes(), ia64_ext_type(), IA64_FP_REGISTER_SIZE, register_size(), regnum, and target_float_convert().
Referenced by ia64_gdbarch_init().
Definition at line 356 of file ia64-tdep.c.
References type::arch(), builtin_type::builtin_long, builtin_type(), ia64_ext_type(), IA64_FR0_REGNUM, and IA64_FR127_REGNUM.
|
static |
Definition at line 3306 of file ia64-tdep.c.
References ia64_extract_return_value(), ia64_store_return_value(), ia64_use_struct_convention(), RETURN_VALUE_REGISTER_CONVENTION, and RETURN_VALUE_STRUCT_CONVENTION.
Referenced by ia64_gdbarch_init().
|
static |
Definition at line 3670 of file ia64-tdep.c.
|
static |
Definition at line 2232 of file ia64-tdep.c.
References ia64_frame_cache::base, ia64_frame_cache::bsp, ia64_frame_cache::cfm, extract_unsigned_integer(), gdbarch_byte_order(), get_frame_arch(), get_frame_register(), ia64_alloc_frame_cache(), IA64_BSP_REGNUM, IA64_CFM_REGNUM, ia64_sigtramp_frame_init_saved_regs(), ia64_frame_cache::sof, and sp_regnum.
Referenced by ia64_sigtramp_frame_prev_register(), and ia64_sigtramp_frame_this_id().
|
static |
Definition at line 2178 of file ia64-tdep.c.
References ia64_frame_cache::base, get_frame_arch(), IA64_BR0_REGNUM, IA64_BR7_REGNUM, IA64_BSP_REGNUM, IA64_CCV_REGNUM, IA64_CFM_REGNUM, IA64_FPSR_REGNUM, IA64_FR2_REGNUM, IA64_FR31_REGNUM, IA64_GR1_REGNUM, IA64_GR31_REGNUM, IA64_IP_REGNUM, IA64_LC_REGNUM, IA64_PFS_REGNUM, IA64_PSR_REGNUM, IA64_RNAT_REGNUM, IA64_UNAT_REGNUM, IA64_VRAP_REGNUM, ia64_frame_cache::saved_regs, and ia64_gdbarch_tdep::sigcontext_register_address.
Referenced by ia64_sigtramp_frame_cache().
|
static |
Definition at line 2284 of file ia64-tdep.c.
References frame_unwind_got_constant(), frame_unwind_got_memory(), gdbarch_byte_order(), get_frame_arch(), IA64_GR127_REGNUM, IA64_GR32_REGNUM, IA64_IP_REGNUM, ia64_sigtramp_frame_cache(), IA64_VRAP_REGNUM, ia64_frame_cache::pc, read_memory_unsigned_integer(), regnum, ia64_frame_cache::saved_regs, target_has_registers(), V127_REGNUM, and V32_REGNUM.
|
static |
Definition at line 2336 of file ia64-tdep.c.
References get_frame_arch(), get_frame_pc(), and ia64_gdbarch_tdep::pc_in_sigtramp.
|
static |
Definition at line 2263 of file ia64-tdep.c.
References ia64_frame_cache::base, ia64_frame_cache::bsp, frame_id::code_addr, frame_id_build_special(), gdb_printf(), gdb_stdlog, gdbarch_debug, frame_info_ptr::get(), get_frame_arch(), get_frame_pc(), ia64_sigtramp_frame_cache(), paddress(), and frame_id::stack_addr.
|
static |
Definition at line 3913 of file ia64-tdep.c.
Referenced by ia64_gdbarch_init().
CORE_ADDR ia64_skip_prologue | ( | struct gdbarch * | gdbarch, |
CORE_ADDR | pc ) |
Definition at line 1827 of file ia64-tdep.c.
References ia64_frame_cache::after_prologue, ia64_frame_cache::base, ia64_frame_cache::bsp, ia64_frame_cache::cfm, examine_prologue(), and ia64_frame_cache::pc.
|
static |
Definition at line 3661 of file ia64-tdep.c.
References rse_address_add(), and write_memory().
|
static |
Definition at line 3256 of file ia64-tdep.c.
References reg_buffer::arch(), regcache::cooked_write(), ia64_ext_type(), IA64_FP_REGISTER_SIZE, IA64_FR8_REGNUM, IA64_GR8_REGNUM, is_float_or_hfa_type(), type::length(), regcache_cooked_write_unsigned(), register_type(), regnum, and target_float_convert().
Referenced by ia64_return_value().
|
static |
Definition at line 3184 of file ia64-tdep.c.
References type::code().
Referenced by ia64_extract_return_value(), and ia64_push_dummy_call().
|
static |
Definition at line 3888 of file ia64-tdep.c.
References extract_unsigned_integer(), frame_unwind_register(), gdbarch_byte_order(), IA64_IP_REGNUM, and IA64_PSR_REGNUM.
Referenced by ia64_gdbarch_init().
|
static |
Definition at line 3156 of file ia64-tdep.c.
References type::code(), is_float_or_hfa_type(), and type::length().
Referenced by ia64_return_value().
|
static |
Definition at line 1243 of file ia64-tdep.c.
References get_frame_arch(), ia64_ext_type(), IA64_FP_REGISTER_SIZE, put_frame_register(), regnum, and target_float_convert().
Referenced by ia64_gdbarch_init().
void ia64_write_pc | ( | struct regcache * | regcache, |
CORE_ADDR | new_pc ) |
Definition at line 895 of file ia64-tdep.c.
References IA64_IP_REGNUM, IA64_PSR_REGNUM, regcache_cooked_read_unsigned(), regcache_cooked_write_unsigned(), and SLOT_MULTIPLIER.
Referenced by ia64_gdbarch_init(), and ia64_linux_write_pc().
Definition at line 3372 of file ia64-tdep.c.
References is_float_or_hfa_type_recurse().
Referenced by ia64_extract_return_value(), ia64_push_dummy_call(), ia64_store_return_value(), and ia64_use_struct_convention().
Definition at line 3331 of file ia64-tdep.c.
References check_typedef(), type::code(), type::field(), is_float_or_hfa_type_recurse(), type::length(), type::num_fields(), type::target_type(), and field::type().
Referenced by is_float_or_hfa_type(), and is_float_or_hfa_type_recurse().
|
static |
Definition at line 1271 of file ia64-tdep.c.
References symtab_and_line::end, find_pc_line(), find_pc_partial_function(), get_pc_function_start(), symtab_and_line::line, max_skip_non_prologue_insns, symtab_and_line::pc, and symtab_and_line::symtab.
Referenced by examine_prologue().
|
static |
Definition at line 413 of file ia64-tdep.c.
Referenced by replace_slotN_contents().
|
static |
Definition at line 471 of file ia64-tdep.c.
References replace_bit_field().
Referenced by ia64_breakpoint_from_pc(), ia64_memory_insert_breakpoint(), and ia64_memory_remove_breakpoint().
|
static |
Definition at line 915 of file ia64-tdep.c.
References IS_NaT_COLLECTION_ADDR.
Referenced by examine_prologue(), ia64_allocate_new_rse_frame(), ia64_frame_prev_register(), ia64_pseudo_register_read(), ia64_pseudo_register_write(), and ia64_store_argument_in_slot().
|
static |
Definition at line 3386 of file ia64-tdep.c.
References check_typedef(), type::code(), type::field(), type::length(), type::num_fields(), slot_alignment_is_next_even(), type::target_type(), and field::type().
Referenced by ia64_push_dummy_call(), and slot_alignment_is_next_even().
|
static |
Definition at line 463 of file ia64-tdep.c.
References extract_bit_field().
Referenced by fetch_instruction(), ia64_breakpoint_from_pc(), ia64_memory_insert_breakpoint(), and ia64_memory_remove_breakpoint().
|
static |
Definition at line 298 of file ia64-tdep.c.
|
static |
Definition at line 292 of file ia64-tdep.c.
|
static |
Definition at line 304 of file ia64-tdep.c.
Referenced by ia64_ext_type().
|
static |
Definition at line 121 of file ia64-tdep.c.
Referenced by ia64_gdbarch_init().
|
static |
Definition at line 2374 of file ia64-tdep.c.
Referenced by ia64_gdbarch_init().
|
static |
Definition at line 2164 of file ia64-tdep.c.
Referenced by ia64_gdbarch_init().
|
static |
Definition at line 117 of file ia64-tdep.c.
Referenced by _initialize_ia64_tdep().
|
static |
Definition at line 3858 of file ia64-tdep.c.
Referenced by ia64_gdbarch_init().
|
static |
Definition at line 119 of file ia64-tdep.c.
Referenced by ia64_gdbarch_init().
|
static |
Definition at line 147 of file ia64-tdep.c.
Referenced by ia64_register_name().
|
static |
Definition at line 120 of file ia64-tdep.c.
Referenced by ia64_gdbarch_init().
|
static |
Definition at line 2353 of file ia64-tdep.c.
Referenced by ia64_gdbarch_init().
|
static |
Definition at line 122 of file ia64-tdep.c.
Referenced by ia64_gdbarch_init().
|
static |
Definition at line 1255 of file ia64-tdep.c.
Referenced by refine_prologue_limit().
|
static |
Definition at line 132 of file ia64-tdep.c.
Referenced by examine_prologue(), ia64_dummy_id(), ia64_frame_cache(), ia64_gdbarch_init(), ia64_push_dummy_call(), and ia64_sigtramp_frame_cache().
|
static |
Definition at line 476 of file ia64-tdep.c.
Referenced by fetch_instruction(), ia64_breakpoint_from_pc(), ia64_memory_insert_breakpoint(), and ia64_memory_remove_breakpoint().