GDB (xrefs)
Macros | Enumerations | Functions | Variables
/tmp/gdb-7.10/gdb/sparc-linux-tdep.c File Reference
#include "defs.h"
#include "dwarf2-frame.h"
#include "frame.h"
#include "frame-unwind.h"
#include "gdbtypes.h"
#include "regset.h"
#include "gdbarch.h"
#include "gdbcore.h"
#include "osabi.h"
#include "regcache.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 "sparc-tdep.h"

Go to the source code of this file.

Macros

#define XML_SYSCALL_FILENAME_SPARC32   "syscalls/sparc-linux.xml"
 
#define PSR_SYSCALL   0x00004000
 

Enumerations

enum  {
  SPARC_LINUX_SIGEMT = 7, SPARC_LINUX_SIGBUS = 10, SPARC_LINUX_SIGSYS = 12, SPARC_LINUX_SIGURG = 16,
  SPARC_LINUX_SIGSTOP = 17, SPARC_LINUX_SIGTSTP = 18, SPARC_LINUX_SIGCONT = 19, SPARC_LINUX_SIGCHLD = 20,
  SPARC_LINUX_SIGIO = 23, SPARC_LINUX_SIGPOLL = SPARC_LINUX_SIGIO, SPARC_LINUX_SIGLOST = 29, SPARC_LINUX_SIGPWR = SPARC_LINUX_SIGLOST,
  SPARC_LINUX_SIGUSR1 = 30, SPARC_LINUX_SIGUSR2 = 31
}
 

Functions

static void sparc32_linux_sigframe_init (const struct tramp_frame *self, struct frame_info *this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func)
 
static CORE_ADDR sparc32_linux_step_trap (struct frame_info *frame, unsigned long insn)
 
static void sparc32_linux_supply_core_gregset (const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs, size_t len)
 
static void sparc32_linux_collect_core_gregset (const struct regset *regset, const struct regcache *regcache, int regnum, void *gregs, size_t len)
 
static void sparc32_linux_supply_core_fpregset (const struct regset *regset, struct regcache *regcache, int regnum, const void *fpregs, size_t len)
 
static void sparc32_linux_collect_core_fpregset (const struct regset *regset, const struct regcache *regcache, int regnum, void *fpregs, size_t len)
 
static void sparc_linux_write_pc (struct regcache *regcache, CORE_ADDR pc)
 
static LONGEST sparc32_linux_get_syscall_number (struct gdbarch *gdbarch, ptid_t ptid)
 
static enum gdb_signal sparc32_linux_gdb_signal_from_target (struct gdbarch *gdbarch, int signal)
 
static int sparc32_linux_gdb_signal_to_target (struct gdbarch *gdbarch, enum gdb_signal signal)
 
static void sparc32_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
 
void _initialize_sparc_linux_tdep (void)
 

Variables

static const struct tramp_frame sparc32_linux_sigframe
 
static const struct tramp_frame sparc32_linux_rt_sigframe
 
const struct sparc_gregmap sparc32_linux_core_gregmap
 
static const struct regset sparc32_linux_gregset
 
static const struct regset sparc32_linux_fpregset
 

Macro Definition Documentation

#define PSR_SYSCALL   0x00004000

Definition at line 251 of file sparc-linux-tdep.c.

Referenced by sparc_linux_write_pc().

#define XML_SYSCALL_FILENAME_SPARC32   "syscalls/sparc-linux.xml"

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

Referenced by sparc32_linux_init_abi().

Enumeration Type Documentation

anonymous enum
Enumerator
SPARC_LINUX_SIGEMT 
SPARC_LINUX_SIGBUS 
SPARC_LINUX_SIGSYS 
SPARC_LINUX_SIGURG 
SPARC_LINUX_SIGSTOP 
SPARC_LINUX_SIGTSTP 
SPARC_LINUX_SIGCONT 
SPARC_LINUX_SIGCHLD 
SPARC_LINUX_SIGIO 
SPARC_LINUX_SIGPOLL 
SPARC_LINUX_SIGLOST 
SPARC_LINUX_SIGPWR 
SPARC_LINUX_SIGUSR1 
SPARC_LINUX_SIGUSR2 

Definition at line 100 of file sparc-linux-tdep.c.

Function Documentation

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

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

References sparc32_bsd_fpregmap, and sparc32_collect_fpregset().

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

Definition at line 225 of file sparc-linux-tdep.c.

References sparc32_collect_gregset().

static enum gdb_signal sparc32_linux_gdb_signal_from_target ( struct gdbarch gdbarch,
int  signal 
)
static
static int sparc32_linux_gdb_signal_to_target ( struct gdbarch gdbarch,
enum gdb_signal  signal 
)
static
static LONGEST sparc32_linux_get_syscall_number ( struct gdbarch gdbarch,
ptid_t  ptid 
)
static
static void sparc32_linux_init_abi ( struct gdbarch_info  info,
struct gdbarch gdbarch 
)
static
static void sparc32_linux_sigframe_init ( const struct tramp_frame self,
struct frame_info this_frame,
struct trad_frame_cache this_cache,
CORE_ADDR  func 
)
static
static CORE_ADDR sparc32_linux_step_trap ( struct frame_info frame,
unsigned long  insn 
)
static
static void sparc32_linux_supply_core_fpregset ( const struct regset regset,
struct regcache regcache,
int  regnum,
const void *  fpregs,
size_t  len 
)
static

Definition at line 234 of file sparc-linux-tdep.c.

References sparc32_bsd_fpregmap, and sparc32_supply_fpregset().

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

Definition at line 216 of file sparc-linux-tdep.c.

References sparc32_supply_gregset().

static void sparc_linux_write_pc ( struct regcache regcache,
CORE_ADDR  pc 
)
static

Variable Documentation

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

Definition at line 201 of file sparc-linux-tdep.c.

const struct regset sparc32_linux_fpregset
static
Initial value:
=
{
NULL,
}
static void sparc32_linux_supply_core_fpregset(const struct regset *regset, struct regcache *regcache, int regnum, const void *fpregs, size_t len)
static void sparc32_linux_collect_core_fpregset(const struct regset *regset, const struct regcache *regcache, int regnum, void *fpregs, size_t len)

Definition at line 413 of file sparc-linux-tdep.c.

Referenced by sparc32_linux_init_abi().

const struct regset sparc32_linux_gregset
static
Initial value:
=
{
NULL,
}
static void sparc32_linux_collect_core_gregset(const struct regset *regset, const struct regcache *regcache, int regnum, void *gregs, size_t len)
static void sparc32_linux_supply_core_gregset(const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs, size_t len)

Definition at line 406 of file sparc-linux-tdep.c.

Referenced by sparc32_linux_init_abi().

const struct tramp_frame sparc32_linux_rt_sigframe
static
Initial value:
=
{
4,
{
{ 0x82102065, -1 },
{ 0x91d02010, -1 },
},
}
#define TRAMP_SENTINEL_INSN
Definition: tramp-frame.h:44
static void sparc32_linux_sigframe_init(const struct tramp_frame *self, struct frame_info *this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func)

Definition at line 81 of file sparc-linux-tdep.c.

const struct tramp_frame sparc32_linux_sigframe
static
Initial value:
=
{
4,
{
{ 0x821020d8, -1 },
{ 0x91d02010, -1 },
},
}
#define TRAMP_SENTINEL_INSN
Definition: tramp-frame.h:44
static void sparc32_linux_sigframe_init(const struct tramp_frame *self, struct frame_info *this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func)

Definition at line 66 of file sparc-linux-tdep.c.