GDB (xrefs)
Loading...
Searching...
No Matches
Macros | Functions | Variables
sparc64-obsd-tdep.c File Reference
#include "defs.h"
#include "frame.h"
#include "frame-unwind.h"
#include "gdbcore.h"
#include "osabi.h"
#include "regcache.h"
#include "regset.h"
#include "symtab.h"
#include "objfiles.h"
#include "trad-frame.h"
#include "inferior.h"
#include "obsd-tdep.h"
#include "sparc64-tdep.h"
#include "solib-svr4.h"
#include "bsd-uthread.h"

Go to the source code of this file.

Macros

#define SPARC64OBSD_UTHREAD_FP_OFFSET   232
 
#define SPARC64OBSD_UTHREAD_PC_OFFSET   240
 

Functions

static void sparc64obsd_supply_gregset (const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs, size_t len)
 
static void sparc64obsd_supply_fpregset (const struct regset *regset, struct regcache *regcache, int regnum, const void *fpregs, size_t len)
 
static int sparc64obsd_pc_in_sigtramp (CORE_ADDR pc, const char *name)
 
static struct sparc_frame_cachesparc64obsd_frame_cache (frame_info_ptr this_frame, void **this_cache)
 
static void sparc64obsd_frame_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id)
 
static struct valuesparc64obsd_frame_prev_register (frame_info_ptr this_frame, void **this_cache, int regnum)
 
static int sparc64obsd_sigtramp_frame_sniffer (const struct frame_unwind *self, frame_info_ptr this_frame, void **this_cache)
 
static struct sparc_frame_cachesparc64obsd_trapframe_cache (frame_info_ptr this_frame, void **this_cache)
 
static void sparc64obsd_trapframe_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id)
 
static struct valuesparc64obsd_trapframe_prev_register (frame_info_ptr this_frame, void **this_cache, int regnum)
 
static int sparc64obsd_trapframe_sniffer (const struct frame_unwind *self, frame_info_ptr this_frame, void **this_cache)
 
static void sparc64obsd_supply_uthread (struct regcache *regcache, int regnum, CORE_ADDR addr)
 
static void sparc64obsd_collect_uthread (const struct regcache *regcache, int regnum, CORE_ADDR addr)
 
static void sparc64obsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
 
void _initialize_sparc64obsd_tdep ()
 

Variables

const struct sparc_gregmap sparc64obsd_gregmap
 
const struct sparc_gregmap sparc64obsd_core_gregmap
 
static const int sparc64obsd_page_size = 8192
 
static const int sparc64obsd_sigreturn_offset []
 
static const struct frame_unwind sparc64obsd_frame_unwind
 
static const struct frame_unwind sparc64obsd_trapframe_unwind
 
static const struct regset sparc64obsd_gregset
 
static const struct regset sparc64obsd_fpregset
 

Macro Definition Documentation

◆ SPARC64OBSD_UTHREAD_FP_OFFSET

#define SPARC64OBSD_UTHREAD_FP_OFFSET   232

Definition at line 322 of file sparc64-obsd-tdep.c.

Referenced by sparc64obsd_collect_uthread(), and sparc64obsd_supply_uthread().

◆ SPARC64OBSD_UTHREAD_PC_OFFSET

#define SPARC64OBSD_UTHREAD_PC_OFFSET   240

Definition at line 323 of file sparc64-obsd-tdep.c.

Referenced by sparc64obsd_collect_uthread(), and sparc64obsd_supply_uthread().

Function Documentation

◆ _initialize_sparc64obsd_tdep()

void _initialize_sparc64obsd_tdep ( )

◆ sparc64obsd_collect_uthread()

static void sparc64obsd_collect_uthread ( const struct regcache * regcache,
int regnum,
CORE_ADDR addr )
static

◆ sparc64obsd_frame_cache()

static struct sparc_frame_cache * sparc64obsd_frame_cache ( frame_info_ptr this_frame,
void ** this_cache )
static

◆ sparc64obsd_frame_prev_register()

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

◆ sparc64obsd_frame_this_id()

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

◆ sparc64obsd_init_abi()

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

◆ sparc64obsd_pc_in_sigtramp()

static int sparc64obsd_pc_in_sigtramp ( CORE_ADDR pc,
const char * name )
static

◆ sparc64obsd_sigtramp_frame_sniffer()

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

◆ sparc64obsd_supply_fpregset()

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

Definition at line 92 of file sparc64-obsd-tdep.c.

References regnum, sparc64_bsd_fpregmap, and sparc64_supply_fpregset().

◆ sparc64obsd_supply_gregset()

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

◆ sparc64obsd_supply_uthread()

static void sparc64obsd_supply_uthread ( struct regcache * regcache,
int regnum,
CORE_ADDR addr )
static

◆ sparc64obsd_trapframe_cache()

static struct sparc_frame_cache * sparc64obsd_trapframe_cache ( frame_info_ptr this_frame,
void ** this_cache )
static

◆ sparc64obsd_trapframe_prev_register()

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

◆ sparc64obsd_trapframe_sniffer()

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

◆ sparc64obsd_trapframe_this_id()

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

Variable Documentation

◆ sparc64obsd_core_gregmap

const struct sparc_gregmap sparc64obsd_core_gregmap
Initial value:
=
{
0 * 8,
1 * 8,
2 * 8,
3 * 8,
-1,
-1,
7 * 8,
22 * 8,
4
}

Definition at line 61 of file sparc64-obsd-tdep.c.

Referenced by sparc64obsd_supply_gregset().

◆ sparc64obsd_fpregset

const struct regset sparc64obsd_fpregset
static
Initial value:
=
{
}
static void sparc64obsd_supply_fpregset(const struct regset *regset, struct regcache *regcache, int regnum, const void *fpregs, size_t len)

Definition at line 418 of file sparc64-obsd-tdep.c.

Referenced by sparc64obsd_init_abi().

◆ sparc64obsd_frame_unwind

const struct frame_unwind sparc64obsd_frame_unwind
static
Initial value:
=
{
"sparc64 openbsd sigtramp",
NULL,
}
enum unwind_stop_reason default_frame_unwind_stop_reason(frame_info_ptr this_frame, void **this_cache)
@ SIGTRAMP_FRAME
Definition frame.h:198
static int sparc64obsd_sigtramp_frame_sniffer(const struct frame_unwind *self, frame_info_ptr this_frame, void **this_cache)
static struct value * sparc64obsd_frame_prev_register(frame_info_ptr this_frame, void **this_cache, int regnum)
static void sparc64obsd_frame_this_id(frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id)

Definition at line 223 of file sparc64-obsd-tdep.c.

Referenced by sparc64obsd_init_abi().

◆ sparc64obsd_gregmap

const struct sparc_gregmap sparc64obsd_gregmap
Initial value:
=
{
0 * 8,
1 * 8,
2 * 8,
3 * 8,
-1,
-1,
5 * 8,
20 * 8,
4
}

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

Referenced by sparc64obsd_supply_gregset().

◆ sparc64obsd_gregset

const struct regset sparc64obsd_gregset
static
Initial value:
=
{
}
static void sparc64obsd_supply_gregset(const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs, size_t len)

Definition at line 413 of file sparc64-obsd-tdep.c.

Referenced by sparc64obsd_init_abi().

◆ sparc64obsd_page_size

const int sparc64obsd_page_size = 8192
static

Definition at line 114 of file sparc64-obsd-tdep.c.

Referenced by sparc64obsd_frame_cache(), and sparc64obsd_pc_in_sigtramp().

◆ sparc64obsd_sigreturn_offset

const int sparc64obsd_sigreturn_offset[]
static
Initial value:
= {
0xf0,
0xec,
0xe8,
-1
}

Definition at line 117 of file sparc64-obsd-tdep.c.

Referenced by sparc64obsd_pc_in_sigtramp().

◆ sparc64obsd_trapframe_unwind

const struct frame_unwind sparc64obsd_trapframe_unwind
static
Initial value:
=
{
"sparc64 openbsd trap",
NULL,
}
@ NORMAL_FRAME
Definition frame.h:187
static struct value * sparc64obsd_trapframe_prev_register(frame_info_ptr this_frame, void **this_cache, int regnum)
static int sparc64obsd_trapframe_sniffer(const struct frame_unwind *self, frame_info_ptr this_frame, void **this_cache)
static void sparc64obsd_trapframe_this_id(frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id)

Definition at line 307 of file sparc64-obsd-tdep.c.

Referenced by sparc64obsd_init_abi().