GDB (xrefs)

Classes | Macros | Typedefs | Enumerations | Functions | Variables
/tmp/gdb-8.1/gdb/ia64-tdep.c File Reference
`#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_)

## Typedefs
typedef enum instruction_type | instruction_type

## Enumerations
enum | 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, 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, 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 (struct 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, struct 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 (struct frame_info *frame, int regnum, struct type *valtype, gdb_byte *out, int *optimizedp, int *unavailablep)
static void | ia64_value_to_register (struct frame_info *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, struct frame_info *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 (struct frame_info *this_frame, void **this_cache)
static void | ia64_frame_this_id (struct frame_info *this_frame, void **this_cache, struct frame_id *this_id)
static struct value * | ia64_frame_prev_register (struct frame_info *this_frame, void **this_cache, int regnum)
static void | ia64_sigtramp_frame_init_saved_regs (struct frame_info *this_frame, struct ia64_frame_cache *cache)
static struct ia64_frame_cache * | ia64_sigtramp_frame_cache (struct frame_info *this_frame, void **this_cache)
static void | ia64_sigtramp_frame_this_id (struct frame_info *this_frame, void **this_cache, struct frame_id *this_id)
static struct value * | ia64_sigtramp_frame_prev_register (struct frame_info *this_frame, void **this_cache, int regnum)
static int | ia64_sigtramp_frame_sniffer (const struct frame_unwind *self, struct frame_info *this_frame, void **this_cache)
static CORE_ADDR | ia64_frame_base_address (struct frame_info *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, int struct_return, CORE_ADDR struct_addr)
static struct frame_id | ia64_dummy_id (struct gdbarch *gdbarch, struct frame_info *this_frame)
static CORE_ADDR | ia64_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame)
static int | ia64_print_insn (bfd_vma memaddr, struct disassemble_info *info)
static int | ia64_size_of_register_frame (struct frame_info *this_frame, ULONGEST cfm)
static struct gdbarch * | ia64_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
void | _initialize_ia64_tdep (void)

## 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 * | 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 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

## Macro Definition Documentation

## ◆ BUNDLE_LEN

#define BUNDLE_LEN 16

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

Referenced by fetch_instruction(), ia64_breakpoint_from_pc(), ia64_memory_insert_breakpoint(), and ia64_memory_remove_breakpoint().

## ◆ IA64_BREAKPOINT

#define IA64_BREAKPOINT 0x00003333300LL

Definition at line 635 of file ia64-tdep.c.

Referenced by ia64_memory_insert_breakpoint(), and ia64_memory_remove_breakpoint().

## ◆ IA64_FP_REGISTER_SIZE

#define IA64_FP_REGISTER_SIZE 16

Definition at line 129 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().

## ◆ imm9

#define imm9 | ( |  | _instr_ | ) |

Value:
( ((((_instr_) & 0x01000000000LL) ? -1 : 0) << 8) \
| (((_instr_) & 0x00008000000LL) >> 20) \
| (((_instr_) & 0x00000001fc0LL) >> 6))

Definition at line 1322 of file ia64-tdep.c.

Referenced by examine_prologue().

## ◆ IS_NaT_COLLECTION_ADDR

#define IS_NaT_COLLECTION_ADDR | ( |  | addr | ) | ((((addr) >> 3) & 0x3f) == 0x3f)

Definition at line 907 of file ia64-tdep.c.

Referenced by examine_prologue(), and rse_address_add().

## ◆ isScratch

#define isScratch | ( |  | _regnum_ | ) |

Value:
((_regnum_) == 2 || (_regnum_) == 3 \
|| (8 <= (_regnum_) && (_regnum_) <= 11) \
|| (14 <= (_regnum_) && (_regnum_) <= 31))

Definition at line 1319 of file ia64-tdep.c.

Referenced by examine_prologue().

## ◆ NUM_IA64_RAW_REGS

#define NUM_IA64_RAW_REGS 462

Definition at line 126 of file ia64-tdep.c.

Referenced by ia64_alloc_frame_cache(), ia64_gdbarch_init(), and ia64_register_reggroup_p().

## ◆ SLOT_MULTIPLIER

#define SLOT_MULTIPLIER 1

Definition at line 104 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().

## Typedef Documentation

## ◆ instruction_type

typedef enum instruction_type instruction_type

## Enumeration Type Documentation

## ◆ instruction_type

enum instruction_type

Enumerator
A |
I |
M |
F |
B |
L |
X |
undefined |

Definition at line 77 of file ia64-tdep.c.

## ◆ pseudo_regs

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 137 of file ia64-tdep.c.

## Function Documentation

## ◆ _initialize_ia64_tdep()

void _initialize_ia64_tdep | ( | void |  | ) |

Definition at line 4031 of file ia64-tdep.c.

References gdbarch_register(), and ia64_gdbarch_init.

## ◆ examine_prologue()

static CORE_ADDR examine_prologue | ( | CORE_ADDR | pc,
|  | CORE_ADDR | lim_pc,
|  | struct frame_info * | this_frame,
|  | struct ia64_frame_cache * | cache
| ) |  |
| static

Definition at line 1356 of file ia64-tdep.c.

References ia64_frame_cache::after_prologue, B, ia64_frame_cache::bsp, gdbarch::byte_order, 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, M, ia64_frame_cache::mem_stack_frame_size, memset(), 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().

## ◆ extract_bit_field()

static long long extract_bit_field | ( | const gdb_byte * | bundle,
|  | int | from,
|  | int | len
| ) |  |
| static

Definition at line 373 of file ia64-tdep.c.

References gdb.printer.bound_registers::long.

Referenced by fetch_instruction(), ia64_breakpoint_from_pc(), ia64_frame_prev_register(), ia64_memory_insert_breakpoint(), ia64_memory_remove_breakpoint(), and slotN_contents().

## ◆ fetch_instruction()

static CORE_ADDR fetch_instruction | ( | CORE_ADDR | addr,
|  | instruction_type * | it,
|  | long long * | instr
| ) |  |
| static

Definition at line 512 of file ia64-tdep.c.

References _, BUNDLE_LEN, extract_bit_field(), L, SLOT_MULTIPLIER, slotN_contents(), target_read_memory(), template_encoding_table, and warning().

Referenced by examine_prologue().

## ◆ find_extant_func_descr()

static CORE_ADDR find_extant_func_descr | ( | struct gdbarch * | gdbarch,
|  | CORE_ADDR | faddr
| ) |  |
| static

Definition at line 3509 of file ia64-tdep.c.

References ALL_OBJFILE_OSECTIONS, extract_signed_integer(), find_pc_section(), gdbarch_byte_order(), obj_section_addr, obj_section_endaddr, obj_section::objfile, objfile::sections_end, status, target_read_memory(), and obj_section::the_bfd_section.

Referenced by find_func_descr().

## ◆ find_func_descr()

static CORE_ADDR find_func_descr | ( | struct regcache * | regcache,
|  | CORE_ADDR | faddr,
|  | CORE_ADDR * | fdaptr
| ) |  |
| static

Definition at line 3561 of file ia64-tdep.c.

References regcache::arch(), gdbarch::byte_order, 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().

## ◆ floatformat_valid()

static int floatformat_valid | ( | const struct floatformat * | fmt,
|  | const void * | from
| ) |  |
| static

Definition at line 286 of file ia64-tdep.c.

## ◆ ia64_alloc_frame_cache()

static struct ia64_frame_cache* ia64_alloc_frame_cache | ( | void |  | ) |
| static

Definition at line 1330 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().

## ◆ ia64_allocate_new_rse_frame()

static void ia64_allocate_new_rse_frame | ( | struct regcache * | regcache,
|  | ULONGEST | bsp,
|  | int | sof
| ) |  |
| static

Definition at line 3648 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().

## ◆ ia64_breakpoint_from_pc()

static const gdb_byte* ia64_breakpoint_from_pc | ( | struct gdbarch * | gdbarch,
|  | CORE_ADDR * | pcptr,
|  | int * | lenptr
| ) |  |
| static

Definition at line 819 of file ia64-tdep.c.

References _, BUNDLE_LEN, error(), extract_bit_field(), gdb_assert, L, make_scoped_restore_show_memory_breakpoints(), replace_slotN_contents(), SLOT_MULTIPLIER, slotN_contents(), target_read_memory(), template_encoding_table, and X.

## ◆ ia64_breakpoint_kind_from_pc()

static int ia64_breakpoint_kind_from_pc | ( | struct gdbarch * | gdbarch,
|  | CORE_ADDR * | pcptr
| ) |  |
| static

Definition at line 806 of file ia64-tdep.c.

Referenced by ia64_gdbarch_init().

## ◆ ia64_convert_from_func_ptr_addr()

static CORE_ADDR ia64_convert_from_func_ptr_addr | ( | struct gdbarch * | gdbarch,
|  | CORE_ADDR | addr,
|  | struct target_ops * | targ
| ) |  |
| static

Definition at line 3596 of file ia64-tdep.c.

References gdbarch::byte_order, extract_unsigned_integer(), find_pc_section(), gdbarch_byte_order(), is_vtable_name(), lookup_minimal_symbol_by_pc(), bound_minimal_symbol::minsym, MSYMBOL_LINKAGE_NAME, read_memory_unsigned_integer(), target_read_memory(), and obj_section::the_bfd_section.

Referenced by ia64_gdbarch_init().

## ◆ ia64_convert_register_p()

static int ia64_convert_register_p | ( | struct gdbarch * | gdbarch,
|  | int | regno,
|  | struct type * | type
| ) |  |
| static

Definition at line 1210 of file ia64-tdep.c.

References ia64_ext_type(), IA64_FR0_REGNUM, IA64_FR127_REGNUM, TYPE_CODE, and TYPE_CODE_FLT.

Referenced by ia64_gdbarch_init().

## ◆ ia64_dummy_id()

static struct frame_id ia64_dummy_id | ( | struct gdbarch * | gdbarch,
|  | struct frame_info * | this_frame
| ) |  |
| static

Definition at line 3877 of file ia64-tdep.c.

References extract_unsigned_integer(), fprintf_unfiltered(), frame_id_build_special(), 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().

## ◆ ia64_dwarf_reg_to_regnum()

static int ia64_dwarf_reg_to_regnum | ( | struct gdbarch * | gdbarch,
|  | int | reg
| ) |  |
| static

Definition at line 361 of file ia64-tdep.c.

References IA64_GR127_REGNUM, IA64_GR32_REGNUM, and V32_REGNUM.

Referenced by ia64_gdbarch_init().

## ◆ ia64_ext_type()

static struct type* ia64_ext_type | ( | struct gdbarch * | gdbarch | ) |
| static

Definition at line 310 of file ia64-tdep.c.

References arch_float_type(), floatformats_ia64_ext, gdbarch_tdep(), and gdbarch_tdep::ia64_ext_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().

## ◆ ia64_extract_return_value()

static void ia64_extract_return_value | ( | struct type * | type,
|  | struct regcache * | regcache,
|  | gdb_byte * | valbuf
| ) |  |
| static

Definition at line 3195 of file ia64-tdep.c.

References regcache::arch(), 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(), arm-linux::m, offset, regcache_cooked_read(), regcache_cooked_read_unsigned(), register_type(), regnum, store_unsigned_integer(), target_float_convert(), and TYPE_LENGTH.

Referenced by ia64_return_value().

## ◆ ia64_find_global_pointer()

static CORE_ADDR ia64_find_global_pointer | ( | struct gdbarch * | gdbarch,
|  | CORE_ADDR | faddr
| ) |  |
| static

Definition at line 3493 of file ia64-tdep.c.

References gdbarch_tdep::find_global_pointer_from_solib, gdbarch_tdep(), and ia64_find_global_pointer_from_dynamic_section().

Referenced by find_func_descr(), and ia64_push_dummy_call().

## ◆ ia64_find_global_pointer_from_dynamic_section()

static CORE_ADDR ia64_find_global_pointer_from_dynamic_section | ( | struct gdbarch * | gdbarch,
|  | CORE_ADDR | faddr
| ) |  |
| static

Definition at line 3428 of file ia64-tdep.c.

References ALL_OBJFILE_OSECTIONS, extract_signed_integer(), extract_unsigned_integer(), find_pc_section(), gdbarch_byte_order(), obj_section_addr, obj_section_endaddr, obj_section::objfile, objfile::sections_end, status, target_read_memory(), and obj_section::the_bfd_section.

Referenced by ia64_find_global_pointer().

## ◆ ia64_frame_align()

static CORE_ADDR ia64_frame_align | ( | struct gdbarch * | gdbarch,
|  | CORE_ADDR | sp
| ) |  |
| static

Definition at line 3640 of file ia64-tdep.c.

Referenced by ia64_gdbarch_init().

## ◆ ia64_frame_base_address()

static CORE_ADDR ia64_frame_base_address | ( | struct frame_info * | this_frame,
|  | void ** | this_cache
| ) |  |
| static

Definition at line 2361 of file ia64-tdep.c.

References ia64_frame_cache::base, and ia64_frame_cache().

## ◆ ia64_frame_cache()

static struct ia64_frame_cache* ia64_frame_cache | ( | struct frame_info * | this_frame,
|  | void ** | this_cache
| ) |  |
| static

Definition at line 1841 of file ia64-tdep.c.

References ia64_frame_cache::base, ia64_frame_cache::bsp, gdbarch::byte_order, 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().

## ◆ ia64_frame_prev_register()

static struct value* ia64_frame_prev_register | ( | struct frame_info * | this_frame,
|  | void ** | this_cache,
|  | int | regnum
| ) |  |
| static

Definition at line 1907 of file ia64-tdep.c.

References _, ia64_frame_cache::base, ia64_frame_cache::bsp, gdbarch::byte_order, ia64_frame_cache::cfm, error(), extract_bit_field(), extract_unsigned_integer(), frame_unwind_got_constant(), frame_unwind_got_memory(), frame_unwind_got_register(), ia64_frame_cache::frameless, gdb_assert, 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_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, value_contents_all(), VP0_REGNUM, VP16_REGNUM, and VP63_REGNUM.

## ◆ ia64_frame_this_id()

static void ia64_frame_this_id | ( | struct frame_info * | this_frame,
|  | void ** | this_cache,
|  | struct frame_id * | this_id
| ) |  |
| static

Definition at line 1886 of file ia64-tdep.c.

References ia64_frame_cache::base, ia64_frame_cache::bsp, frame_id::code_addr, fprintf_unfiltered(), frame_id_build_special(), gdb_stdlog, gdbarch_debug, get_frame_arch(), host_address_to_string, ia64_frame_cache(), paddress(), ia64_frame_cache::pc, and frame_id::stack_addr.

## ◆ ia64_gdbarch_init()

static struct gdbarch* ia64_gdbarch_init | ( | struct gdbarch_info | info,
|  | struct gdbarch_list * | arches
| ) |  |
| static

Definition at line 3930 of file ia64-tdep.c.

References core_addr_lessthan(), FIRST_PSEUDO_REGNUM, floatformats_i387_ext, frame_base_set_default(), frame_unwind_append_unwinder(), gdbarch_list::gdbarch, 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_tdep::infcall_ops, 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(), gdbarch_tdep::size_of_register_frame, sp_regnum, and XCNEW.

## ◆ ia64_memory_insert_breakpoint()

static int ia64_memory_insert_breakpoint | ( | struct gdbarch * | gdbarch,
|  | struct bp_target_info * | bp_tgt
| ) |  |
| static

Definition at line 638 of file ia64-tdep.c.

References _, BUNDLE_LEN, error(), extract_bit_field(), gdb_assert, IA64_BREAKPOINT, internal_error(), 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().

## ◆ ia64_memory_remove_breakpoint()

static int ia64_memory_remove_breakpoint | ( | struct gdbarch * | gdbarch,
|  | struct bp_target_info * | bp_tgt
| ) |  |
| static

Definition at line 727 of file ia64-tdep.c.

References _, BUNDLE_LEN, extract_bit_field(), gdb_assert, 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, warning(), and X.

Referenced by ia64_gdbarch_init().

## ◆ ia64_print_insn()

static int ia64_print_insn | ( | bfd_vma | memaddr,
|  | struct disassemble_info * | info
| ) |  |
| static

Definition at line 3915 of file ia64-tdep.c.

References default_print_insn(), and SLOT_MULTIPLIER.

Referenced by ia64_gdbarch_init().

## ◆ ia64_pseudo_register_read()

static enum register_status ia64_pseudo_register_read | ( | struct gdbarch * | gdbarch,
|  | struct regcache * | regcache,
|  | int | regnum,
|  | gdb_byte * | buf
| ) |  |
| static

Definition at line 930 of file ia64-tdep.c.

References 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(), memset(), read_memory_integer(), REG_VALID, regcache_cooked_read_unsigned(), 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().

## ◆ ia64_pseudo_register_write()

static void ia64_pseudo_register_write | ( | struct gdbarch * | gdbarch,
|  | struct regcache * | regcache,
|  | int | regnum,
|  | const gdb_byte * | buf
| ) |  |
| static

Definition at line 1085 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().

## ◆ ia64_push_dummy_call()

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,
|  | int | struct_return,
|  | CORE_ADDR | struct_addr
| ) |  |
| static

Definition at line 3686 of file ia64-tdep.c.

References ia64_infcall_ops::allocate_new_rse_frame, check_typedef(), extract_unsigned_integer(), find_func_descr(), find_function_addr(), gdbarch_byte_order(), gdbarch_tdep(), 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(), gdbarch_tdep::infcall_ops, is_float_or_hfa_type(), memset(), regcache_cooked_read_unsigned(), regcache_cooked_write(), regcache_cooked_write_unsigned(), ia64_infcall_ops::set_function_addr, slot_alignment_is_next_even(), sp_regnum, ia64_infcall_ops::store_argument_in_slot, store_unsigned_integer(), target_float_convert(), type, TYPE_CODE, TYPE_CODE_FUNC, TYPE_CODE_PTR, TYPE_LENGTH, TYPE_TARGET_TYPE, value_contents(), value_type(), and write_memory().

Referenced by ia64_gdbarch_init().

## ◆ ia64_read_pc()

static CORE_ADDR ia64_read_pc | ( | struct regcache * | regcache | ) |
| static

Definition at line 879 of file ia64-tdep.c.

References IA64_IP_REGNUM, IA64_PSR_REGNUM, regcache_cooked_read_unsigned(), and SLOT_MULTIPLIER.

Referenced by ia64_gdbarch_init().

## ◆ ia64_register_name()

static const char* ia64_register_name | ( | struct gdbarch * | gdbarch,
|  | int | reg
| ) |  |
| static

Definition at line 346 of file ia64-tdep.c.

References ia64_register_names.

## ◆ ia64_register_reggroup_p()

static int ia64_register_reggroup_p | ( | struct gdbarch * | gdbarch,
|  | int | regnum,
|  | struct reggroup * | group
| ) |  |
| static

Definition at line 323 of file ia64-tdep.c.

References all_reggroup, float_reggroup, general_reggroup, NUM_IA64_RAW_REGS, register_type(), regnum, restore_reggroup, save_reggroup, TYPE_CODE, TYPE_CODE_FLT, TYPE_VECTOR, and vector_reggroup.

Referenced by ia64_gdbarch_init().

## ◆ ia64_register_to_value()

static int ia64_register_to_value | ( | struct frame_info * | frame,
|  | int | regnum,
|  | struct type * | valtype,
|  | gdb_byte * | out,
|  | int * | optimizedp,
|  | int * | unavailablep
| ) |  |
| static

Definition at line 1218 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().

## ◆ ia64_register_type()

struct type* ia64_register_type | ( | struct gdbarch * | arch,
|  | int | reg
| ) |  |

Definition at line 352 of file ia64-tdep.c.

References builtin_type::builtin_long, builtin_type(), ia64_ext_type(), IA64_FR0_REGNUM, and IA64_FR127_REGNUM.

## ◆ ia64_return_value()

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

Definition at line 3310 of file ia64-tdep.c.

References gdb_assert, 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().

## ◆ ia64_set_function_addr()

static void ia64_set_function_addr | ( | struct regcache * | regcache,
|  | CORE_ADDR | func_addr
| ) |  |
| static

Definition at line 3680 of file ia64-tdep.c.

## ◆ ia64_sigtramp_frame_cache()

static struct ia64_frame_cache* ia64_sigtramp_frame_cache | ( | struct frame_info * | this_frame,
|  | void ** | this_cache
| ) |  |
| static

Definition at line 2228 of file ia64-tdep.c.

References ia64_frame_cache::base, ia64_frame_cache::bsp, gdbarch::byte_order, 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().

## ◆ ia64_sigtramp_frame_init_saved_regs()

static void ia64_sigtramp_frame_init_saved_regs | ( | struct frame_info * | this_frame,
|  | struct ia64_frame_cache * | cache
| ) |  |
| static

Definition at line 2174 of file ia64-tdep.c.

References ia64_frame_cache::base, gdbarch_tdep(), 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 gdbarch_tdep::sigcontext_register_address.

Referenced by ia64_sigtramp_frame_cache().

## ◆ ia64_sigtramp_frame_prev_register()

static struct value* ia64_sigtramp_frame_prev_register | ( | struct frame_info * | this_frame,
|  | void ** | this_cache,
|  | int | regnum
| ) |  |
| static

Definition at line 2280 of file ia64-tdep.c.

References _, gdbarch::byte_order, error(), frame_unwind_got_constant(), frame_unwind_got_memory(), gdb_assert, 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.

## ◆ ia64_sigtramp_frame_sniffer()

static int ia64_sigtramp_frame_sniffer | ( | const struct frame_unwind * | self,
|  | struct frame_info * | this_frame,
|  | void ** | this_cache
| ) |  |
| static

Definition at line 2332 of file ia64-tdep.c.

References gdbarch_tdep(), get_frame_arch(), get_frame_pc(), gdbarch_tdep::pc, and gdbarch_tdep::pc_in_sigtramp.

## ◆ ia64_sigtramp_frame_this_id()

static void ia64_sigtramp_frame_this_id | ( | struct frame_info * | this_frame,
|  | void ** | this_cache,
|  | struct frame_id * | this_id
| ) |  |
| static

Definition at line 2259 of file ia64-tdep.c.

References ia64_frame_cache::base, ia64_frame_cache::bsp, frame_id::code_addr, fprintf_unfiltered(), frame_id_build_special(), gdb_stdlog, gdbarch_debug, get_frame_arch(), get_frame_pc(), host_address_to_string, ia64_sigtramp_frame_cache(), paddress(), and frame_id::stack_addr.

## ◆ ia64_size_of_register_frame()

static int ia64_size_of_register_frame | ( | struct frame_info * | this_frame,
|  | ULONGEST | cfm
| ) |  |
| static

Definition at line 3924 of file ia64-tdep.c.

Referenced by ia64_gdbarch_init().

## ◆ ia64_skip_prologue()

CORE_ADDR ia64_skip_prologue | ( | struct gdbarch * | gdbarch,
|  | CORE_ADDR | pc
| ) |  |

Definition at line 1824 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.

## ◆ ia64_store_argument_in_slot()

static void ia64_store_argument_in_slot | ( | struct regcache * | regcache,
|  | CORE_ADDR | bsp,
|  | int | slotnum,
|  | gdb_byte * | buf
| ) |  |
| static

Definition at line 3671 of file ia64-tdep.c.

References rse_address_add(), and write_memory().

## ◆ ia64_store_return_value()

static void ia64_store_return_value | ( | struct type * | type,
|  | struct regcache * | regcache,
|  | const gdb_byte * | valbuf
| ) |  |
| static

Definition at line 3260 of file ia64-tdep.c.

References regcache::arch(), ia64_ext_type(), IA64_FP_REGISTER_SIZE, IA64_FR8_REGNUM, IA64_GR8_REGNUM, is_float_or_hfa_type(), arm-linux::m, offset, regcache_cooked_write(), regcache_cooked_write_unsigned(), register_type(), regnum, target_float_convert(), and TYPE_LENGTH.

Referenced by ia64_return_value().

## ◆ ia64_struct_type_p()

static int ia64_struct_type_p | ( | const struct type * | type | ) |
| static

Definition at line 3188 of file ia64-tdep.c.

References TYPE_CODE, TYPE_CODE_STRUCT, and TYPE_CODE_UNION.

Referenced by ia64_extract_return_value(), and ia64_push_dummy_call().

## ◆ ia64_unwind_pc()

static CORE_ADDR ia64_unwind_pc | ( | struct gdbarch * | gdbarch,
|  | struct frame_info * | next_frame
| ) |  |
| static

Definition at line 3899 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().

## ◆ ia64_use_struct_convention()

static int ia64_use_struct_convention | ( | struct type * | type | ) |
| static

Definition at line 3160 of file ia64-tdep.c.

References is_float_or_hfa_type(), TYPE_CODE, TYPE_CODE_ARRAY, TYPE_CODE_STRUCT, TYPE_CODE_UNION, and TYPE_LENGTH.

Referenced by ia64_return_value().

## ◆ ia64_value_to_register()

static void ia64_value_to_register | ( | struct frame_info * | frame,
|  | int | regnum,
|  | struct type * | valtype,
|  | const gdb_byte * | in
| ) |  |
| static

Definition at line 1237 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().

## ◆ ia64_write_pc()

void ia64_write_pc | ( | struct regcache * | regcache,
|  | CORE_ADDR | new_pc
| ) |  |

Definition at line 892 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().

## ◆ is_float_or_hfa_type()

static struct type * is_float_or_hfa_type | ( | struct type * | t | ) |
| static

Definition at line 3375 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().

## ◆ is_float_or_hfa_type_recurse()

static int is_float_or_hfa_type_recurse | ( | struct type * | t,
|  | struct type ** | etp
| ) |  |
| static

Definition at line 3335 of file ia64-tdep.c.

References check_typedef(), TYPE_CODE, TYPE_CODE_ARRAY, TYPE_CODE_FLT, TYPE_CODE_STRUCT, TYPE_FIELD_TYPE, TYPE_LENGTH, TYPE_NFIELDS, and TYPE_TARGET_TYPE.

Referenced by is_float_or_hfa_type().

## ◆ refine_prologue_limit()

static CORE_ADDR refine_prologue_limit | ( | CORE_ADDR | pc,
|  | CORE_ADDR | lim_pc,
|  | int * | trust_limit
| ) |  |
| static

Definition at line 1265 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().

## ◆ replace_bit_field()

static void replace_bit_field | ( | gdb_byte * | bundle,
|  | long long | val,
|  | int | from,
|  | int | len
| ) |  |
| static

Definition at line 409 of file ia64-tdep.c.

Referenced by replace_slotN_contents().

## ◆ replace_slotN_contents()

static void replace_slotN_contents | ( | gdb_byte * | bundle,
|  | long long | instr,
|  | int | slotnum
| ) |  |
| static

Definition at line 467 of file ia64-tdep.c.

References replace_bit_field().

Referenced by ia64_breakpoint_from_pc(), ia64_memory_insert_breakpoint(), and ia64_memory_remove_breakpoint().

## ◆ rse_address_add()

static CORE_ADDR rse_address_add | ( | CORE_ADDR | addr,
|  | int | nslots
| ) |  |
| static

Definition at line 912 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().

## ◆ slot_alignment_is_next_even()

static int slot_alignment_is_next_even | ( | struct type * | t | ) |
| static

Definition at line 3389 of file ia64-tdep.c.

References check_typedef(), TYPE_CODE, TYPE_CODE_ARRAY, TYPE_CODE_FLT, TYPE_CODE_INT, TYPE_CODE_STRUCT, TYPE_FIELD_TYPE, TYPE_LENGTH, TYPE_NFIELDS, and TYPE_TARGET_TYPE.

Referenced by ia64_push_dummy_call().

## ◆ slotN_contents()

static long long slotN_contents | ( | gdb_byte * | bundle,
|  | int | slotnum
| ) |  |
| static

Definition at line 459 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().

## Variable Documentation

## ◆ floatformat_ia64_ext_big

const struct floatformat floatformat_ia64_ext_big
| static

Initial value:
=
{
floatformat_big, 82, 46, 47, 17, 65535, 0x1ffff, 64, 64,
floatformat_intbit_yes, "floatformat_ia64_ext_big", floatformat_valid
}
floatformat_valid
static int floatformat_valid(const struct floatformat *fmt, const void *from)
Definition: ia64-tdep.c:286

Definition at line 297 of file ia64-tdep.c.

## ◆ floatformat_ia64_ext_little

const struct floatformat floatformat_ia64_ext_little
| static

Initial value:
=
{
floatformat_little, 82, 0, 1, 17, 65535, 0x1ffff, 18, 64,
floatformat_intbit_yes, "floatformat_ia64_ext_little", floatformat_valid, NULL
}
floatformat_valid
static int floatformat_valid(const struct floatformat *fmt, const void *from)
Definition: ia64-tdep.c:286

Definition at line 291 of file ia64-tdep.c.

## ◆ floatformats_ia64_ext

const struct floatformat* floatformats_ia64_ext[2]
| static

Initial value:
=
{
&floatformat_ia64_ext_big,
&floatformat_ia64_ext_little
}
floatformat_ia64_ext_little
static const struct floatformat floatformat_ia64_ext_little
Definition: ia64-tdep.c:291
floatformat_ia64_ext_big
static const struct floatformat floatformat_ia64_ext_big
Definition: ia64-tdep.c:297

Definition at line 303 of file ia64-tdep.c.

Referenced by ia64_ext_type().

## ◆ ia64_breakpoint_from_pc

gdbarch_breakpoint_from_pc_ftype ia64_breakpoint_from_pc
| static

Definition at line 120 of file ia64-tdep.c.

Referenced by ia64_gdbarch_init().

## ◆ ia64_frame_base

const struct frame_base ia64_frame_base
| static

Initial value:
=
{
&ia64_frame_unwind,
ia64_frame_base_address,
ia64_frame_base_address,
ia64_frame_base_address
}
ia64_frame_unwind
static const struct frame_unwind ia64_frame_unwind
Definition: ia64-tdep.c:2161
ia64_frame_base_address
static CORE_ADDR ia64_frame_base_address(struct frame_info *this_frame, void **this_cache)
Definition: ia64-tdep.c:2361

Definition at line 2368 of file ia64-tdep.c.

Referenced by ia64_gdbarch_init().

## ◆ ia64_frame_unwind

const struct frame_unwind ia64_frame_unwind
| static

Initial value:
=
{
NORMAL_FRAME,
default_frame_unwind_stop_reason,
&ia64_frame_this_id,
&ia64_frame_prev_register,
NULL,
default_frame_sniffer
}
NORMAL_FRAME
Definition: frame.h:244
default_frame_sniffer
int default_frame_sniffer(const struct frame_unwind *self, struct frame_info *this_frame, void **this_prologue_cache)
Definition: frame-unwind.c:174
ia64_frame_this_id
static void ia64_frame_this_id(struct frame_info *this_frame, void **this_cache, struct frame_id *this_id)
Definition: ia64-tdep.c:1886
default_frame_unwind_stop_reason
enum unwind_stop_reason default_frame_unwind_stop_reason(struct frame_info *this_frame, void **this_cache)
Definition: frame-unwind.c:184
ia64_frame_prev_register
static struct value * ia64_frame_prev_register(struct frame_info *this_frame, void **this_cache, int regnum)
Definition: ia64-tdep.c:1907

Definition at line 2161 of file ia64-tdep.c.

Referenced by ia64_gdbarch_init().

## ◆ ia64_gdbarch_init

gdbarch_init_ftype ia64_gdbarch_init
| static

Definition at line 116 of file ia64-tdep.c.

Referenced by _initialize_ia64_tdep().

## ◆ ia64_infcall_ops

const struct ia64_infcall_ops ia64_infcall_ops
| static

Initial value:
=
{
ia64_allocate_new_rse_frame,
ia64_store_argument_in_slot,
ia64_set_function_addr
}
ia64_allocate_new_rse_frame
static void ia64_allocate_new_rse_frame(struct regcache *regcache, ULONGEST bsp, int sof)
Definition: ia64-tdep.c:3648
ia64_set_function_addr
static void ia64_set_function_addr(struct regcache *regcache, CORE_ADDR func_addr)
Definition: ia64-tdep.c:3680
ia64_store_argument_in_slot
static void ia64_store_argument_in_slot(struct regcache *regcache, CORE_ADDR bsp, int slotnum, gdb_byte *buf)
Definition: ia64-tdep.c:3671

Definition at line 3869 of file ia64-tdep.c.

Referenced by ia64_gdbarch_init().

## ◆ ia64_register_name

gdbarch_register_name_ftype ia64_register_name
| static

Definition at line 118 of file ia64-tdep.c.

Referenced by ia64_gdbarch_init().

## ◆ ia64_register_names

const char* ia64_register_names[]
| static

Definition at line 146 of file ia64-tdep.c.

Referenced by ia64_register_name().

## ◆ ia64_register_type

gdbarch_register_type_ftype ia64_register_type
| static

Definition at line 119 of file ia64-tdep.c.

Referenced by ia64_gdbarch_init().

## ◆ ia64_sigtramp_frame_unwind

const struct frame_unwind ia64_sigtramp_frame_unwind
| static

Initial value:
=
{
SIGTRAMP_FRAME,
default_frame_unwind_stop_reason,
ia64_sigtramp_frame_this_id,
ia64_sigtramp_frame_prev_register,
NULL,
ia64_sigtramp_frame_sniffer
}
SIGTRAMP_FRAME
Definition: frame.h:255
ia64_sigtramp_frame_this_id
static void ia64_sigtramp_frame_this_id(struct frame_info *this_frame, void **this_cache, struct frame_id *this_id)
Definition: ia64-tdep.c:2259
ia64_sigtramp_frame_prev_register
static struct value * ia64_sigtramp_frame_prev_register(struct frame_info *this_frame, void **this_cache, int regnum)
Definition: ia64-tdep.c:2280
ia64_sigtramp_frame_sniffer
static int ia64_sigtramp_frame_sniffer(const struct frame_unwind *self, struct frame_info *this_frame, void **this_cache)
Definition: ia64-tdep.c:2332
default_frame_unwind_stop_reason
enum unwind_stop_reason default_frame_unwind_stop_reason(struct frame_info *this_frame, void **this_cache)
Definition: frame-unwind.c:184

Definition at line 2348 of file ia64-tdep.c.

Referenced by ia64_gdbarch_init().

## ◆ ia64_skip_prologue

gdbarch_skip_prologue_ftype ia64_skip_prologue
| static

Definition at line 121 of file ia64-tdep.c.

Referenced by ia64_gdbarch_init().

## ◆ max_skip_non_prologue_insns

int max_skip_non_prologue_insns = 40
| static

Definition at line 1249 of file ia64-tdep.c.

Referenced by refine_prologue_limit().

## ◆ sp_regnum

int sp_regnum = IA64_GR12_REGNUM
| static

Definition at line 131 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().

## ◆ template_encoding_table

enum instruction_type template_encoding_table[32][3]
| static

Definition at line 472 of file ia64-tdep.c.

Referenced by fetch_instruction(), ia64_breakpoint_from_pc(), ia64_memory_insert_breakpoint(), and ia64_memory_remove_breakpoint().