GDB (xrefs)
Loading...
Searching...
No Matches
Classes | Macros | Enumerations | Functions | Variables
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_)
 

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 typeis_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 typeia64_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 typeia64_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_cacheia64_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 valueia64_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_cacheia64_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 valueia64_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 gdbarchia64_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
 

Macro Definition Documentation

◆ BUNDLE_LEN

#define BUNDLE_LEN   16

◆ IA64_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().

◆ IA64_FP_REGISTER_SIZE

#define IA64_FP_REGISTER_SIZE   16

◆ imm9

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

Definition at line 1328 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 910 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 1325 of file ia64-tdep.c.

Referenced by examine_prologue().

◆ NUM_IA64_RAW_REGS

#define NUM_IA64_RAW_REGS   462

◆ SLOT_MULTIPLIER

#define SLOT_MULTIPLIER   1

Enumeration Type Documentation

◆ ia64_instruction_type

Enumerator
undefined 

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

◆ 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.

Function Documentation

◆ _initialize_ia64_tdep()

void _initialize_ia64_tdep ( )

Definition at line 4019 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,
frame_info_ptr this_frame,
struct ia64_frame_cache * cache )
static

◆ extract_bit_field()

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

◆ fetch_instruction()

static CORE_ADDR fetch_instruction ( CORE_ADDR addr,
ia64_instruction_type * it,
long long * instr )
static

◆ find_extant_func_descr()

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

◆ find_func_descr()

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

◆ floatformat_valid()

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

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

◆ ia64_alloc_frame_cache()

static struct ia64_frame_cache * ia64_alloc_frame_cache ( void )
static

◆ ia64_allocate_new_rse_frame()

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

◆ ia64_breakpoint_from_pc()

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

◆ ia64_breakpoint_kind_from_pc()

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

Definition at line 809 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

◆ ia64_convert_register_p()

static int ia64_convert_register_p ( struct gdbarch * gdbarch,
int regno,
struct type * type )
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().

◆ ia64_dummy_id()

static struct frame_id ia64_dummy_id ( struct gdbarch * gdbarch,
frame_info_ptr this_frame )
static

◆ ia64_dwarf_reg_to_regnum()

static int ia64_dwarf_reg_to_regnum ( struct gdbarch * gdbarch,
int reg )
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().

◆ ia64_ext_type()

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

◆ ia64_extract_return_value()

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

◆ ia64_find_global_pointer()

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

◆ ia64_find_global_pointer_from_dynamic_section()

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

◆ ia64_frame_align()

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

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

Referenced by ia64_gdbarch_init().

◆ ia64_frame_base_address()

static CORE_ADDR ia64_frame_base_address ( frame_info_ptr this_frame,
void ** this_cache )
static

Definition at line 2367 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 ( frame_info_ptr this_frame,
void ** this_cache )
static

◆ ia64_frame_prev_register()

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

◆ ia64_frame_this_id()

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

◆ ia64_gdbarch_init()

static struct gdbarch * ia64_gdbarch_init ( struct gdbarch_info info,
struct gdbarch_list * arches )
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.

◆ ia64_memory_insert_breakpoint()

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

◆ ia64_memory_remove_breakpoint()

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

◆ ia64_print_insn()

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

Definition at line 3904 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,
readable_regcache * regcache,
int regnum,
gdb_byte * buf )
static

◆ ia64_pseudo_register_write()

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

◆ 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,
function_call_return_method return_method,
CORE_ADDR struct_addr )
static

◆ ia64_read_pc()

static CORE_ADDR ia64_read_pc ( readable_regcache * regcache)
static

◆ ia64_register_name()

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

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

References ia64_register_names.

◆ ia64_register_reggroup_p()

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

◆ ia64_register_to_value()

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

◆ ia64_register_type()

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

◆ 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

◆ ia64_set_function_addr()

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

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

◆ ia64_sigtramp_frame_cache()

static struct ia64_frame_cache * ia64_sigtramp_frame_cache ( frame_info_ptr this_frame,
void ** this_cache )
static

◆ ia64_sigtramp_frame_init_saved_regs()

static void ia64_sigtramp_frame_init_saved_regs ( frame_info_ptr this_frame,
struct ia64_frame_cache * cache )
static

◆ ia64_sigtramp_frame_prev_register()

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

◆ ia64_sigtramp_frame_sniffer()

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

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

References get_frame_arch(), get_frame_pc(), and ia64_gdbarch_tdep::pc_in_sigtramp.

◆ ia64_sigtramp_frame_this_id()

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

◆ ia64_size_of_register_frame()

static int ia64_size_of_register_frame ( frame_info_ptr this_frame,
ULONGEST cfm )
static

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

Referenced by ia64_gdbarch_init().

◆ ia64_skip_prologue()

CORE_ADDR ia64_skip_prologue ( struct gdbarch * gdbarch,
CORE_ADDR 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 3661 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

◆ ia64_struct_type_p()

static int ia64_struct_type_p ( const struct type * type)
static

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

References type::code().

Referenced by ia64_extract_return_value(), and ia64_push_dummy_call().

◆ ia64_unwind_pc()

static CORE_ADDR ia64_unwind_pc ( struct gdbarch * gdbarch,
frame_info_ptr next_frame )
static

◆ ia64_use_struct_convention()

static int ia64_use_struct_convention ( struct type * type)
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().

◆ ia64_value_to_register()

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

◆ ia64_write_pc()

void ia64_write_pc ( struct regcache * regcache,
CORE_ADDR new_pc )

◆ is_float_or_hfa_type()

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

◆ is_float_or_hfa_type_recurse()

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

◆ refine_prologue_limit()

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

◆ replace_bit_field()

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

Definition at line 413 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

◆ rse_address_add()

static CORE_ADDR rse_address_add ( CORE_ADDR addr,
int nslots )
static

◆ slot_alignment_is_next_even()

static int slot_alignment_is_next_even ( struct type * t)
static

◆ slotN_contents()

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

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
}
static int floatformat_valid(const struct floatformat *fmt, const void *from)
Definition ia64-tdep.c:287

Definition at line 298 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
}

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

◆ floatformats_ia64_ext

const struct floatformat* floatformats_ia64_ext[2]
static
Initial value:
=
{
}
static const struct floatformat floatformat_ia64_ext_little
Definition ia64-tdep.c:292
static const struct floatformat floatformat_ia64_ext_big
Definition ia64-tdep.c:298

Definition at line 304 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 121 of file ia64-tdep.c.

Referenced by ia64_gdbarch_init().

◆ ia64_frame_base

const struct frame_base ia64_frame_base
static
Initial value:
=
{
}
static CORE_ADDR ia64_frame_base_address(frame_info_ptr this_frame, void **this_cache)
Definition ia64-tdep.c:2367
static const struct frame_unwind ia64_frame_unwind
Definition ia64-tdep.c:2164

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

Referenced by ia64_gdbarch_init().

◆ ia64_frame_unwind

const struct frame_unwind ia64_frame_unwind
static
Initial value:
=
{
"ia64 prologue",
NULL,
}
int default_frame_sniffer(const struct frame_unwind *self, frame_info_ptr this_frame, void **this_prologue_cache)
enum unwind_stop_reason default_frame_unwind_stop_reason(frame_info_ptr this_frame, void **this_cache)
@ NORMAL_FRAME
Definition frame.h:187
static void ia64_frame_this_id(frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id)
Definition ia64-tdep.c:1889
static struct value * ia64_frame_prev_register(frame_info_ptr this_frame, void **this_cache, int regnum)
Definition ia64-tdep.c:1910

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

Referenced by ia64_gdbarch_init().

◆ ia64_gdbarch_init

gdbarch_init_ftype ia64_gdbarch_init
static

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

Referenced by _initialize_ia64_tdep().

◆ ia64_infcall_ops

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

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

Referenced by ia64_gdbarch_init().

◆ ia64_register_name

gdbarch_register_name_ftype ia64_register_name
static

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

Referenced by ia64_gdbarch_init().

◆ ia64_register_names

const char* const ia64_register_names[]
static

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

Referenced by ia64_register_name().

◆ ia64_register_type

gdbarch_register_type_ftype ia64_register_type
static

Definition at line 120 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:
=
{
"ia64 sigtramp",
NULL,
}
@ SIGTRAMP_FRAME
Definition frame.h:198
static int ia64_sigtramp_frame_sniffer(const struct frame_unwind *self, frame_info_ptr this_frame, void **this_cache)
Definition ia64-tdep.c:2336
static void ia64_sigtramp_frame_this_id(frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id)
Definition ia64-tdep.c:2263
static struct value * ia64_sigtramp_frame_prev_register(frame_info_ptr this_frame, void **this_cache, int regnum)
Definition ia64-tdep.c:2284

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

Referenced by ia64_gdbarch_init().

◆ ia64_skip_prologue

gdbarch_skip_prologue_ftype ia64_skip_prologue
static

Definition at line 122 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 1255 of file ia64-tdep.c.

Referenced by refine_prologue_limit().

◆ sp_regnum

int sp_regnum = IA64_GR12_REGNUM
static

◆ template_encoding_table

enum ia64_instruction_type template_encoding_table[32][3]
static