GDB (xrefs)
Loading...
Searching...
No Matches
Macros | Functions | Variables
ia64-linux-tdep.c File Reference
#include "defs.h"
#include "ia64-tdep.h"
#include "arch-utils.h"
#include "gdbcore.h"
#include "regcache.h"
#include "osabi.h"
#include "solib-svr4.h"
#include "symtab.h"
#include "linux-tdep.h"
#include "regset.h"
#include <ctype.h>

Go to the source code of this file.

Macros

#define GATE_AREA_START   0xa000000000000100LL
 
#define GATE_AREA_END   0xa000000000020000LL
 
#define IA64_LINUX_SIGCONTEXT_OFFSET   192
 
#define IA64_LINUX_GREGS_SIZE   (128 * 8)
 
#define IA64_LINUX_FPREGS_SIZE   (128 * 16)
 

Functions

static int ia64_linux_pc_in_sigtramp (CORE_ADDR pc)
 
static CORE_ADDR ia64_linux_sigcontext_register_address (struct gdbarch *gdbarch, CORE_ADDR sp, int regno)
 
static void ia64_linux_write_pc (struct regcache *regcache, CORE_ADDR pc)
 
static int ia64_linux_stap_is_single_operand (struct gdbarch *gdbarch, const char *s)
 
static void ia64_linux_supply_fpregset (const struct regset *regset, struct regcache *regcache, int regnum, const void *regs, size_t len)
 
static void ia64_linux_iterate_over_regset_sections (struct gdbarch *gdbarch, iterate_over_regset_sections_cb *cb, void *cb_data, const struct regcache *regcache)
 
static void ia64_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
 
void _initialize_ia64_linux_tdep ()
 

Variables

static const struct regcache_map_entry ia64_linux_gregmap []
 
static const struct regcache_map_entry ia64_linux_fpregmap []
 
static const struct regset ia64_linux_gregset
 
static const struct regset ia64_linux_fpregset
 

Macro Definition Documentation

◆ GATE_AREA_END

#define GATE_AREA_END   0xa000000000020000LL

Definition at line 39 of file ia64-linux-tdep.c.

Referenced by ia64_linux_pc_in_sigtramp().

◆ GATE_AREA_START

#define GATE_AREA_START   0xa000000000000100LL

Definition at line 38 of file ia64-linux-tdep.c.

Referenced by ia64_linux_pc_in_sigtramp().

◆ IA64_LINUX_FPREGS_SIZE

#define IA64_LINUX_FPREGS_SIZE   (128 * 16)

Definition at line 170 of file ia64-linux-tdep.c.

Referenced by ia64_linux_iterate_over_regset_sections().

◆ IA64_LINUX_GREGS_SIZE

#define IA64_LINUX_GREGS_SIZE   (128 * 8)

Definition at line 162 of file ia64-linux-tdep.c.

Referenced by ia64_linux_iterate_over_regset_sections().

◆ IA64_LINUX_SIGCONTEXT_OFFSET

#define IA64_LINUX_SIGCONTEXT_OFFSET   192

Definition at line 42 of file ia64-linux-tdep.c.

Function Documentation

◆ _initialize_ia64_linux_tdep()

void _initialize_ia64_linux_tdep ( )

◆ ia64_linux_init_abi()

static void ia64_linux_init_abi ( struct gdbarch_info info,
struct gdbarch * gdbarch )
static

◆ ia64_linux_iterate_over_regset_sections()

static void ia64_linux_iterate_over_regset_sections ( struct gdbarch * gdbarch,
iterate_over_regset_sections_cb * cb,
void * cb_data,
const struct regcache * regcache )
static

◆ ia64_linux_pc_in_sigtramp()

static int ia64_linux_pc_in_sigtramp ( CORE_ADDR pc)
static

Definition at line 45 of file ia64-linux-tdep.c.

References GATE_AREA_END, and GATE_AREA_START.

Referenced by ia64_linux_init_abi().

◆ ia64_linux_sigcontext_register_address()

static CORE_ADDR ia64_linux_sigcontext_register_address ( struct gdbarch * gdbarch,
CORE_ADDR sp,
int regno )
static

◆ ia64_linux_stap_is_single_operand()

static int ia64_linux_stap_is_single_operand ( struct gdbarch * gdbarch,
const char * s )
static

Definition at line 128 of file ia64-linux-tdep.c.

Referenced by ia64_linux_init_abi().

◆ ia64_linux_supply_fpregset()

static void ia64_linux_supply_fpregset ( const struct regset * regset,
struct regcache * regcache,
int regnum,
const void * regs,
size_t len )
static

◆ ia64_linux_write_pc()

static void ia64_linux_write_pc ( struct regcache * regcache,
CORE_ADDR pc )
static

Variable Documentation

◆ ia64_linux_fpregmap

const struct regcache_map_entry ia64_linux_fpregmap[]
static
Initial value:
=
{
{ 128, IA64_FR0_REGNUM, 16 },
{ 0 }
}
#define IA64_FR0_REGNUM
Definition ia64-tdep.h:52

Definition at line 164 of file ia64-linux-tdep.c.

◆ ia64_linux_fpregset

const struct regset ia64_linux_fpregset
static
Initial value:
=
{
}
static void ia64_linux_supply_fpregset(const struct regset *regset, struct regcache *regcache, int regnum, const void *regs, size_t len)
static const struct regcache_map_entry ia64_linux_fpregmap[]
void regcache_collect_regset(const struct regset *regset, const struct regcache *regcache, int regnum, void *buf, size_t size)
Definition regcache.c:1273

Definition at line 198 of file ia64-linux-tdep.c.

Referenced by ia64_linux_iterate_over_regset_sections().

◆ ia64_linux_gregmap

const struct regcache_map_entry ia64_linux_gregmap[]
static
Initial value:
=
{
{ 32, IA64_GR0_REGNUM, 8 },
{ 1, REGCACHE_MAP_SKIP, 8 },
{ 1, IA64_PR_REGNUM, 8 },
{ 8, IA64_BR0_REGNUM, 8 },
{ 1, IA64_IP_REGNUM, 8 },
{ 1, IA64_CFM_REGNUM, 8 },
{ 1, IA64_PSR_REGNUM, 8 },
{ 1, IA64_RSC_REGNUM, 8 },
{ 1, IA64_BSP_REGNUM, 8 },
{ 1, IA64_RNAT_REGNUM, 8 },
{ 1, IA64_CCV_REGNUM, 8 },
{ 1, IA64_UNAT_REGNUM, 8 },
{ 1, IA64_FPSR_REGNUM, 8 },
{ 1, IA64_PFS_REGNUM, 8 },
{ 1, IA64_LC_REGNUM, 8 },
{ 1, IA64_EC_REGNUM, 8 },
{ 0 }
}
#define IA64_RNAT_REGNUM
Definition ia64-tdep.h:180
#define IA64_BSPSTORE_REGNUM
Definition ia64-tdep.h:179
#define IA64_CCV_REGNUM
Definition ia64-tdep.h:189
#define IA64_PR_REGNUM
Definition ia64-tdep.h:160
#define IA64_FPSR_REGNUM
Definition ia64-tdep.h:191
#define IA64_PSR_REGNUM
Definition ia64-tdep.h:166
#define IA64_RSC_REGNUM
Definition ia64-tdep.h:177
#define IA64_CFM_REGNUM
Definition ia64-tdep.h:169
#define IA64_PFS_REGNUM
Definition ia64-tdep.h:193
#define IA64_BR0_REGNUM
Definition ia64-tdep.h:139
#define IA64_BSP_REGNUM
Definition ia64-tdep.h:178
#define IA64_IP_REGNUM
Definition ia64-tdep.h:163
#define IA64_GR0_REGNUM
Definition ia64-tdep.h:34
#define IA64_EC_REGNUM
Definition ia64-tdep.h:195
#define IA64_LC_REGNUM
Definition ia64-tdep.h:194
#define IA64_UNAT_REGNUM
Definition ia64-tdep.h:190
@ REGCACHE_MAP_SKIP
Definition regcache.h:121

Definition at line 137 of file ia64-linux-tdep.c.

◆ ia64_linux_gregset

const struct regset ia64_linux_gregset
static
Initial value:
=
{
}
static const struct regcache_map_entry ia64_linux_gregmap[]
void regcache_supply_regset(const struct regset *regset, struct regcache *regcache, int regnum, const void *buf, size_t size)
Definition regcache.c:1251

Definition at line 192 of file ia64-linux-tdep.c.

Referenced by ia64_linux_iterate_over_regset_sections().