GDB (xrefs)
Loading...
Searching...
No Matches
Macros | Functions | Variables
sparc64-linux-tdep.c File Reference
#include "defs.h"
#include "frame.h"
#include "frame-unwind.h"
#include "dwarf2/frame.h"
#include "regset.h"
#include "regcache.h"
#include "gdbarch.h"
#include "gdbcore.h"
#include "osabi.h"
#include "solib-svr4.h"
#include "symtab.h"
#include "trad-frame.h"
#include "tramp-frame.h"
#include "xml-syscall.h"
#include "linux-tdep.h"
#include "sparc64-tdep.h"

Go to the source code of this file.

Macros

#define SEGV_ACCADI   3
 
#define SEGV_ADIDERR   4
 
#define SEGV_ADIPERR   5
 
#define XML_SYSCALL_FILENAME_SPARC64   "syscalls/sparc64-linux.xml"
 
#define TSTATE_SYSCALL   0x0000000000000020ULL
 

Functions

static void sparc64_linux_sigframe_init (const struct tramp_frame *self, frame_info_ptr this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func)
 
static void sparc64_linux_report_signal_info (struct gdbarch *gdbarch, struct ui_out *uiout, enum gdb_signal siggnal)
 
static CORE_ADDR sparc64_linux_step_trap (frame_info_ptr frame, unsigned long insn)
 
static void sparc64_linux_supply_core_gregset (const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs, size_t len)
 
static void sparc64_linux_collect_core_gregset (const struct regset *regset, const struct regcache *regcache, int regnum, void *gregs, size_t len)
 
static void sparc64_linux_supply_core_fpregset (const struct regset *regset, struct regcache *regcache, int regnum, const void *fpregs, size_t len)
 
static void sparc64_linux_collect_core_fpregset (const struct regset *regset, const struct regcache *regcache, int regnum, void *fpregs, size_t len)
 
static void sparc64_linux_write_pc (struct regcache *regcache, CORE_ADDR pc)
 
static LONGEST sparc64_linux_get_syscall_number (struct gdbarch *gdbarch, thread_info *thread)
 
static int sparc64_linux_get_longjmp_target (frame_info_ptr frame, CORE_ADDR *pc)
 
static void sparc64_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
 
void _initialize_sparc64_linux_tdep ()
 

Variables

static const struct tramp_frame sparc64_linux_rt_sigframe
 
const struct sparc_gregmap sparc64_linux_core_gregmap
 
static const struct regset sparc64_linux_gregset
 
static const struct regset sparc64_linux_fpregset
 

Macro Definition Documentation

◆ SEGV_ACCADI

#define SEGV_ACCADI   3

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

Referenced by sparc64_linux_report_signal_info().

◆ SEGV_ADIDERR

#define SEGV_ADIDERR   4

Definition at line 41 of file sparc64-linux-tdep.c.

Referenced by sparc64_linux_report_signal_info().

◆ SEGV_ADIPERR

#define SEGV_ADIPERR   5

Definition at line 44 of file sparc64-linux-tdep.c.

Referenced by sparc64_linux_report_signal_info().

◆ TSTATE_SYSCALL

#define TSTATE_SYSCALL   0x0000000000000020ULL

Definition at line 259 of file sparc64-linux-tdep.c.

◆ XML_SYSCALL_FILENAME_SPARC64

#define XML_SYSCALL_FILENAME_SPARC64   "syscalls/sparc64-linux.xml"

Definition at line 48 of file sparc64-linux-tdep.c.

Referenced by sparc64_linux_init_abi().

Function Documentation

◆ _initialize_sparc64_linux_tdep()

void _initialize_sparc64_linux_tdep ( )

◆ sparc64_linux_collect_core_fpregset()

static void sparc64_linux_collect_core_fpregset ( const struct regset * regset,
const struct regcache * regcache,
int regnum,
void * fpregs,
size_t len )
static

Definition at line 250 of file sparc64-linux-tdep.c.

References regnum, sparc64_bsd_fpregmap, and sparc64_collect_fpregset().

◆ sparc64_linux_collect_core_gregset()

static void sparc64_linux_collect_core_gregset ( const struct regset * regset,
const struct regcache * regcache,
int regnum,
void * gregs,
size_t len )
static

◆ sparc64_linux_get_longjmp_target()

static int sparc64_linux_get_longjmp_target ( frame_info_ptr frame,
CORE_ADDR * pc )
static

◆ sparc64_linux_get_syscall_number()

static LONGEST sparc64_linux_get_syscall_number ( struct gdbarch * gdbarch,
thread_info * thread )
static

◆ sparc64_linux_init_abi()

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

◆ sparc64_linux_report_signal_info()

static void sparc64_linux_report_signal_info ( struct gdbarch * gdbarch,
struct ui_out * uiout,
enum gdb_signal siggnal )
static

◆ sparc64_linux_sigframe_init()

static void sparc64_linux_sigframe_init ( const struct tramp_frame * self,
frame_info_ptr this_frame,
struct trad_frame_cache * this_cache,
CORE_ADDR func )
static

◆ sparc64_linux_step_trap()

static CORE_ADDR sparc64_linux_step_trap ( frame_info_ptr frame,
unsigned long insn )
static

◆ sparc64_linux_supply_core_fpregset()

static void sparc64_linux_supply_core_fpregset ( const struct regset * regset,
struct regcache * regcache,
int regnum,
const void * fpregs,
size_t len )
static

Definition at line 242 of file sparc64-linux-tdep.c.

References regnum, sparc64_bsd_fpregmap, and sparc64_supply_fpregset().

◆ sparc64_linux_supply_core_gregset()

static void sparc64_linux_supply_core_gregset ( const struct regset * regset,
struct regcache * regcache,
int regnum,
const void * gregs,
size_t len )
static

◆ sparc64_linux_write_pc()

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

Variable Documentation

◆ sparc64_linux_core_gregmap

const struct sparc_gregmap sparc64_linux_core_gregmap
Initial value:
=
{
32 * 8,
33 * 8,
34 * 8,
35 * 8,
-1,
-1,
1 * 8,
16 * 8,
8,
}

Definition at line 209 of file sparc64-linux-tdep.c.

Referenced by sparc64_linux_collect_core_gregset(), and sparc64_linux_supply_core_gregset().

◆ sparc64_linux_fpregset

const struct regset sparc64_linux_fpregset
static
Initial value:
=
{
NULL,
}
static void sparc64_linux_collect_core_fpregset(const struct regset *regset, const struct regcache *regcache, int regnum, void *fpregs, size_t len)
static void sparc64_linux_supply_core_fpregset(const struct regset *regset, struct regcache *regcache, int regnum, const void *fpregs, size_t len)

Definition at line 357 of file sparc64-linux-tdep.c.

Referenced by sparc64_linux_init_abi().

◆ sparc64_linux_gregset

const struct regset sparc64_linux_gregset
static
Initial value:
=
{
NULL,
}
static void sparc64_linux_collect_core_gregset(const struct regset *regset, const struct regcache *regcache, int regnum, void *gregs, size_t len)
static void sparc64_linux_supply_core_gregset(const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs, size_t len)

Definition at line 350 of file sparc64-linux-tdep.c.

Referenced by sparc64_linux_init_abi().

◆ sparc64_linux_rt_sigframe

const struct tramp_frame sparc64_linux_rt_sigframe
static
Initial value:
=
{
4,
{
{ 0x82102065, ULONGEST_MAX },
{ 0x91d0206d, ULONGEST_MAX },
{ TRAMP_SENTINEL_INSN, ULONGEST_MAX }
},
}
@ SIGTRAMP_FRAME
Definition frame.h:198
static void sparc64_linux_sigframe_init(const struct tramp_frame *self, frame_info_ptr this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func)
#define TRAMP_SENTINEL_INSN
Definition tramp-frame.h:44

Definition at line 62 of file sparc64-linux-tdep.c.

Referenced by sparc64_linux_init_abi().