GDB (xrefs)
Loading...
Searching...
No Matches
Macros | Functions | Variables
mips-netbsd-tdep.c File Reference
#include "defs.h"
#include "gdbcore.h"
#include "regcache.h"
#include "regset.h"
#include "target.h"
#include "value.h"
#include "osabi.h"
#include "netbsd-tdep.h"
#include "mips-netbsd-tdep.h"
#include "mips-tdep.h"
#include "solib-svr4.h"

Go to the source code of this file.

Macros

#define MIPS_PC_REGNUM   MIPS_EMBED_PC_REGNUM
 
#define MIPS_FP0_REGNUM   MIPS_EMBED_FP0_REGNUM
 
#define MIPS_FSR_REGNUM   MIPS_EMBED_FP0_REGNUM + 32
 
#define MIPSNBSD_NUM_GREGS   38
 
#define MIPSNBSD_NUM_FPREGS   33
 
#define NBSD_MIPS_JB_PC   (2 * 4)
 
#define NBSD_MIPS_JB_ELEMENT_SIZE(gdbarch)   mips_isa_regsize (gdbarch)
 
#define NBSD_MIPS_JB_OFFSET(gdbarch)
 

Functions

static void mipsnbsd_supply_fpregset (const struct regset *regset, struct regcache *regcache, int regnum, const void *fpregs, size_t len)
 
static void mipsnbsd_supply_gregset (const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs, size_t len)
 
static void mipsnbsd_iterate_over_regset_sections (struct gdbarch *gdbarch, iterate_over_regset_sections_cb *cb, void *cb_data, const struct regcache *regcache)
 
void mipsnbsd_supply_reg (struct regcache *regcache, const char *regs, int regno)
 
void mipsnbsd_fill_reg (const struct regcache *regcache, char *regs, int regno)
 
void mipsnbsd_supply_fpreg (struct regcache *regcache, const char *fpregs, int regno)
 
void mipsnbsd_fill_fpreg (const struct regcache *regcache, char *fpregs, int regno)
 
static int mipsnbsd_get_longjmp_target (frame_info_ptr frame, CORE_ADDR *pc)
 
static int mipsnbsd_cannot_fetch_register (struct gdbarch *gdbarch, int regno)
 
static int mipsnbsd_cannot_store_register (struct gdbarch *gdbarch, int regno)
 
static struct link_map_offsetsmipsnbsd_ilp32_fetch_link_map_offsets (void)
 
static struct link_map_offsetsmipsnbsd_lp64_fetch_link_map_offsets (void)
 
static void mipsnbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
 
void _initialize_mipsnbsd_tdep ()
 

Variables

static const struct regset mipsnbsd_gregset
 
static const struct regset mipsnbsd_fpregset
 

Macro Definition Documentation

◆ MIPS_FP0_REGNUM

#define MIPS_FP0_REGNUM   MIPS_EMBED_FP0_REGNUM

Definition at line 38 of file mips-netbsd-tdep.c.

Referenced by mipsnbsd_supply_fpregset().

◆ MIPS_FSR_REGNUM

#define MIPS_FSR_REGNUM   MIPS_EMBED_FP0_REGNUM + 32

Definition at line 39 of file mips-netbsd-tdep.c.

Referenced by mipsnbsd_supply_fpregset().

◆ MIPS_PC_REGNUM

#define MIPS_PC_REGNUM   MIPS_EMBED_PC_REGNUM

Definition at line 37 of file mips-netbsd-tdep.c.

Referenced by mipsnbsd_supply_gregset().

◆ MIPSNBSD_NUM_FPREGS

#define MIPSNBSD_NUM_FPREGS   33

◆ MIPSNBSD_NUM_GREGS

#define MIPSNBSD_NUM_GREGS   38

◆ NBSD_MIPS_JB_ELEMENT_SIZE

#define NBSD_MIPS_JB_ELEMENT_SIZE ( gdbarch)    mips_isa_regsize (gdbarch)

Definition at line 252 of file mips-netbsd-tdep.c.

Referenced by mipsnbsd_get_longjmp_target().

◆ NBSD_MIPS_JB_OFFSET

#define NBSD_MIPS_JB_OFFSET ( gdbarch)
Value:
NBSD_MIPS_JB_ELEMENT_SIZE (gdbarch))
#define NBSD_MIPS_JB_PC

Definition at line 253 of file mips-netbsd-tdep.c.

Referenced by mipsnbsd_get_longjmp_target().

◆ NBSD_MIPS_JB_PC

#define NBSD_MIPS_JB_PC   (2 * 4)

Definition at line 251 of file mips-netbsd-tdep.c.

Function Documentation

◆ _initialize_mipsnbsd_tdep()

void _initialize_mipsnbsd_tdep ( )

◆ mipsnbsd_cannot_fetch_register()

static int mipsnbsd_cannot_fetch_register ( struct gdbarch * gdbarch,
int regno )
static

Definition at line 278 of file mips-netbsd-tdep.c.

References MIPS_ZERO_REGNUM.

Referenced by mipsnbsd_init_abi().

◆ mipsnbsd_cannot_store_register()

static int mipsnbsd_cannot_store_register ( struct gdbarch * gdbarch,
int regno )
static

Definition at line 285 of file mips-netbsd-tdep.c.

References MIPS_ZERO_REGNUM.

Referenced by mipsnbsd_init_abi().

◆ mipsnbsd_fill_fpreg()

void mipsnbsd_fill_fpreg ( const struct regcache * regcache,
char * fpregs,
int regno )

◆ mipsnbsd_fill_reg()

void mipsnbsd_fill_reg ( const struct regcache * regcache,
char * regs,
int regno )

◆ mipsnbsd_get_longjmp_target()

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

◆ mipsnbsd_ilp32_fetch_link_map_offsets()

static struct link_map_offsets * mipsnbsd_ilp32_fetch_link_map_offsets ( void )
static

◆ mipsnbsd_init_abi()

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

◆ mipsnbsd_iterate_over_regset_sections()

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

◆ mipsnbsd_lp64_fetch_link_map_offsets()

static struct link_map_offsets * mipsnbsd_lp64_fetch_link_map_offsets ( void )
static

◆ mipsnbsd_supply_fpreg()

void mipsnbsd_supply_fpreg ( struct regcache * regcache,
const char * fpregs,
int regno )

◆ mipsnbsd_supply_fpregset()

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

◆ mipsnbsd_supply_gregset()

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

◆ mipsnbsd_supply_reg()

void mipsnbsd_supply_reg ( struct regcache * regcache,
const char * regs,
int regno )

Variable Documentation

◆ mipsnbsd_fpregset

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

Definition at line 110 of file mips-netbsd-tdep.c.

Referenced by mipsnbsd_iterate_over_regset_sections().

◆ mipsnbsd_gregset

const struct regset mipsnbsd_gregset
static
Initial value:
=
{
NULL,
NULL,
}
static void mipsnbsd_supply_gregset(const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs, size_t len)
#define REGSET_VARIABLE_SIZE
Definition regset.h:52

Definition at line 102 of file mips-netbsd-tdep.c.

Referenced by mipsnbsd_iterate_over_regset_sections().