GDB (xrefs)
Defines | Functions | Variables
/home/stan/gdb/src/gdb/mipsnbsd-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 "gdb_assert.h"
#include "gdb_string.h"
#include "nbsd-tdep.h"
#include "mipsnbsd-tdep.h"
#include "mips-tdep.h"
#include "solib-svr4.h"

Go to the source code of this file.

Defines

#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 RETCODE_NWORDS   3
#define RETCODE_SIZE   (RETCODE_NWORDS * 4)
#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 struct regsetmipsnbsd_regset_from_core_section (struct gdbarch *gdbarch, const char *sect_name, size_t sect_size)
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 (struct frame_info *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 (void)

Variables

static struct regset mipsnbsd_gregset
static struct regset mipsnbsd_fpregset
static const unsigned char sigtramp_retcode_mipsel [RETCODE_SIZE]
static const unsigned char sigtramp_retcode_mipseb [RETCODE_SIZE]
initialize_file_ftype _initialize_mipsnbsd_tdep

Define Documentation

Definition at line 41 of file mipsnbsd-tdep.c.

Referenced by mipsnbsd_supply_fpregset().

Definition at line 42 of file mipsnbsd-tdep.c.

Referenced by mipsnbsd_supply_fpregset().

Definition at line 40 of file mipsnbsd-tdep.c.

Referenced by mipsnbsd_supply_gregset().

#define MIPSNBSD_NUM_FPREGS   33
#define MIPSNBSD_NUM_GREGS   38

Definition at line 47 of file mipsnbsd-tdep.c.

Referenced by mipsnbsd_regset_from_core_section(), and mipsnbsd_supply_gregset().

Definition at line 255 of file mipsnbsd-tdep.c.

Referenced by mipsnbsd_get_longjmp_target().

Value:
(NBSD_MIPS_JB_PC * \
                                         NBSD_MIPS_JB_ELEMENT_SIZE (gdbarch))

Definition at line 256 of file mipsnbsd-tdep.c.

Referenced by mipsnbsd_get_longjmp_target().

#define NBSD_MIPS_JB_PC   (2 * 4)

Definition at line 254 of file mipsnbsd-tdep.c.

#define RETCODE_NWORDS   3

Definition at line 230 of file mipsnbsd-tdep.c.

#define RETCODE_SIZE   (RETCODE_NWORDS * 4)

Definition at line 231 of file mipsnbsd-tdep.c.


Function Documentation

void _initialize_mipsnbsd_tdep ( void  )
static int mipsnbsd_cannot_fetch_register ( struct gdbarch gdbarch,
int  regno 
) [static]

Definition at line 281 of file mipsnbsd-tdep.c.

References MIPS_ZERO_REGNUM.

Referenced by mipsnbsd_init_abi().

static int mipsnbsd_cannot_store_register ( struct gdbarch gdbarch,
int  regno 
) [static]

Definition at line 288 of file mipsnbsd-tdep.c.

References MIPS_ZERO_REGNUM.

Referenced by mipsnbsd_init_abi().

void mipsnbsd_fill_fpreg ( const struct regcache regcache,
char *  fpregs,
int  regno 
)
void mipsnbsd_fill_reg ( const struct regcache regcache,
char *  regs,
int  regno 
)
static int mipsnbsd_get_longjmp_target ( struct frame_info frame,
CORE_ADDR pc 
) [static]
static struct link_map_offsets* mipsnbsd_ilp32_fetch_link_map_offsets ( void  ) [static, read]
static void mipsnbsd_init_abi ( struct gdbarch_info  info,
struct gdbarch gdbarch 
) [static]
static struct link_map_offsets* mipsnbsd_lp64_fetch_link_map_offsets ( void  ) [static, read]
static struct regset* mipsnbsd_regset_from_core_section ( struct gdbarch gdbarch,
const char *  sect_name,
size_t  sect_size 
) [static, read]
void mipsnbsd_supply_fpreg ( struct regcache regcache,
const char *  fpregs,
int  regno 
)
static void mipsnbsd_supply_fpregset ( const struct regset regset,
struct regcache regcache,
int  regnum,
const void *  fpregs,
size_t  len 
) [static]
static void mipsnbsd_supply_gregset ( const struct regset regset,
struct regcache regcache,
int  regnum,
const void *  gregs,
size_t  len 
) [static]
void mipsnbsd_supply_reg ( struct regcache regcache,
const char *  regs,
int  regno 
)

Variable Documentation

struct regset mipsnbsd_fpregset [static]
Initial value:

Definition at line 112 of file mipsnbsd-tdep.c.

Referenced by mipsnbsd_regset_from_core_section().

struct regset mipsnbsd_gregset [static]
Initial value:

Definition at line 106 of file mipsnbsd-tdep.c.

Referenced by mipsnbsd_regset_from_core_section().

const unsigned char sigtramp_retcode_mipseb[RETCODE_SIZE] [static]
Initial value:
{
  0x27, 0xa4, 0x00, 0x10,       
  0x24, 0x02, 0x01, 0x27,       
  0x00, 0x00, 0x00, 0x0c,       
}

Definition at line 240 of file mipsnbsd-tdep.c.

const unsigned char sigtramp_retcode_mipsel[RETCODE_SIZE] [static]
Initial value:
{
  0x10, 0x00, 0xa4, 0x27,       
  0x27, 0x01, 0x02, 0x24,       
  0x0c, 0x00, 0x00, 0x00,       
}

Definition at line 233 of file mipsnbsd-tdep.c.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines