GDB (xrefs)
Loading...
Searching...
No Matches
Macros | Functions | Variables
/tmp/gdb-13.1/gdb/mips-fbsd-tdep.c File Reference
#include "defs.h"
#include "osabi.h"
#include "regset.h"
#include "trad-frame.h"
#include "tramp-frame.h"
#include "fbsd-tdep.h"
#include "mips-tdep.h"
#include "mips-fbsd-tdep.h"
#include "solib-svr4.h"

Go to the source code of this file.

Macros

#define MIPS_FBSD_NUM_GREGS   40
 
#define MIPS_FBSD_NUM_FPREGS   34
 
#define FBSD_SYS_sigreturn   417
 
#define MIPS_INST_LI_V0_SIGRETURN   0x24020000 + FBSD_SYS_sigreturn
 
#define MIPS_INST_SYSCALL   0x0000000c
 
#define MIPS_INST_BREAK   0x0000000d
 
#define O32_SIGFRAME_UCONTEXT_OFFSET   (16)
 
#define O32_SIGSET_T_SIZE   (16)
 
#define O32_UCONTEXT_ONSTACK   (O32_SIGSET_T_SIZE)
 
#define O32_UCONTEXT_PC   (O32_UCONTEXT_ONSTACK + 4)
 
#define O32_UCONTEXT_REGS   (O32_UCONTEXT_PC + 4)
 
#define O32_UCONTEXT_SR   (O32_UCONTEXT_REGS + 4 * 32)
 
#define O32_UCONTEXT_LO   (O32_UCONTEXT_SR + 4)
 
#define O32_UCONTEXT_HI   (O32_UCONTEXT_LO + 4)
 
#define O32_UCONTEXT_FPUSED   (O32_UCONTEXT_HI + 4)
 
#define O32_UCONTEXT_FPREGS   (O32_UCONTEXT_FPUSED + 4)
 
#define O32_UCONTEXT_REG_SIZE   4
 
#define MIPS_INST_ADDIU_A0_SP_O32
 
#define N64_SIGFRAME_UCONTEXT_OFFSET   (32)
 
#define N64_SIGSET_T_SIZE   (16)
 
#define N64_UCONTEXT_ONSTACK   (N64_SIGSET_T_SIZE)
 
#define N64_UCONTEXT_PC   (N64_UCONTEXT_ONSTACK + 8)
 
#define N64_UCONTEXT_REGS   (N64_UCONTEXT_PC + 8)
 
#define N64_UCONTEXT_SR   (N64_UCONTEXT_REGS + 8 * 32)
 
#define N64_UCONTEXT_LO   (N64_UCONTEXT_SR + 8)
 
#define N64_UCONTEXT_HI   (N64_UCONTEXT_LO + 8)
 
#define N64_UCONTEXT_FPUSED   (N64_UCONTEXT_HI + 8)
 
#define N64_UCONTEXT_FPREGS   (N64_UCONTEXT_FPUSED + 8)
 
#define N64_UCONTEXT_REG_SIZE   8
 
#define MIPS_INST_ADDIU_A0_SP_N32
 
#define MIPS_INST_DADDIU_A0_SP_N64
 

Functions

static void mips_fbsd_supply_reg (struct regcache *regcache, int regnum, const void *addr, size_t len)
 
static void mips_fbsd_collect_reg (const struct regcache *regcache, int regnum, void *addr, size_t len)
 
void mips_fbsd_supply_fpregs (struct regcache *regcache, int regnum, const void *fpregs, size_t regsize)
 
void mips_fbsd_supply_gregs (struct regcache *regcache, int regnum, const void *gregs, size_t regsize)
 
void mips_fbsd_collect_fpregs (const struct regcache *regcache, int regnum, void *fpregs, size_t regsize)
 
void mips_fbsd_collect_gregs (const struct regcache *regcache, int regnum, void *gregs, size_t regsize)
 
static void mips_fbsd_supply_fpregset (const struct regset *regset, struct regcache *regcache, int regnum, const void *fpregs, size_t len)
 
static void mips_fbsd_collect_fpregset (const struct regset *regset, const struct regcache *regcache, int regnum, void *fpregs, size_t len)
 
static void mips_fbsd_supply_gregset (const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs, size_t len)
 
static void mips_fbsd_collect_gregset (const struct regset *regset, const struct regcache *regcache, int regnum, void *gregs, size_t len)
 
static void mips_fbsd_iterate_over_regset_sections (struct gdbarch *gdbarch, iterate_over_regset_sections_cb *cb, void *cb_data, const struct regcache *regcache)
 
static void mips_fbsd_sigframe_init (const struct tramp_frame *self, frame_info_ptr this_frame, struct trad_frame_cache *cache, CORE_ADDR func)
 
static void mips64_fbsd_sigframe_init (const struct tramp_frame *self, frame_info_ptr this_frame, struct trad_frame_cache *cache, CORE_ADDR func)
 
static CORE_ADDR mips_fbsd_skip_solib_resolver (struct gdbarch *gdbarch, CORE_ADDR pc)
 
static struct link_map_offsetsmips_fbsd_ilp32_fetch_link_map_offsets (void)
 
static struct link_map_offsetsmips_fbsd_lp64_fetch_link_map_offsets (void)
 
static void mips_fbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
 
void _initialize_mips_fbsd_tdep ()
 

Variables

static const struct regset mips_fbsd_gregset
 
static const struct regset mips_fbsd_fpregset
 
static const struct tramp_frame mips_fbsd_sigframe
 
static const struct tramp_frame mipsn32_fbsd_sigframe
 
static const struct tramp_frame mips64_fbsd_sigframe
 

Macro Definition Documentation

◆ FBSD_SYS_sigreturn

#define FBSD_SYS_sigreturn   417

Definition at line 256 of file mips-fbsd-tdep.c.

◆ MIPS_FBSD_NUM_FPREGS

#define MIPS_FBSD_NUM_FPREGS   34

Definition at line 44 of file mips-fbsd-tdep.c.

◆ MIPS_FBSD_NUM_GREGS

#define MIPS_FBSD_NUM_GREGS   40

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

◆ MIPS_INST_ADDIU_A0_SP_N32

#define MIPS_INST_ADDIU_A0_SP_N32
Value:
(0x27a40000 \
#define N64_SIGFRAME_UCONTEXT_OFFSET

Definition at line 429 of file mips-fbsd-tdep.c.

◆ MIPS_INST_ADDIU_A0_SP_O32

#define MIPS_INST_ADDIU_A0_SP_O32
Value:
(0x27a40000 \
#define O32_SIGFRAME_UCONTEXT_OFFSET

Definition at line 337 of file mips-fbsd-tdep.c.

◆ MIPS_INST_BREAK

#define MIPS_INST_BREAK   0x0000000d

Definition at line 260 of file mips-fbsd-tdep.c.

◆ MIPS_INST_DADDIU_A0_SP_N64

#define MIPS_INST_DADDIU_A0_SP_N64
Value:
(0x67a40000 \

Definition at line 446 of file mips-fbsd-tdep.c.

◆ MIPS_INST_LI_V0_SIGRETURN

#define MIPS_INST_LI_V0_SIGRETURN   0x24020000 + FBSD_SYS_sigreturn

Definition at line 258 of file mips-fbsd-tdep.c.

◆ MIPS_INST_SYSCALL

#define MIPS_INST_SYSCALL   0x0000000c

Definition at line 259 of file mips-fbsd-tdep.c.

◆ N64_SIGFRAME_UCONTEXT_OFFSET

#define N64_SIGFRAME_UCONTEXT_OFFSET   (32)

Definition at line 354 of file mips-fbsd-tdep.c.

◆ N64_SIGSET_T_SIZE

#define N64_SIGSET_T_SIZE   (16)

Definition at line 355 of file mips-fbsd-tdep.c.

◆ N64_UCONTEXT_FPREGS

#define N64_UCONTEXT_FPREGS   (N64_UCONTEXT_FPUSED + 8)

Definition at line 364 of file mips-fbsd-tdep.c.

◆ N64_UCONTEXT_FPUSED

#define N64_UCONTEXT_FPUSED   (N64_UCONTEXT_HI + 8)

Definition at line 363 of file mips-fbsd-tdep.c.

◆ N64_UCONTEXT_HI

#define N64_UCONTEXT_HI   (N64_UCONTEXT_LO + 8)

Definition at line 362 of file mips-fbsd-tdep.c.

◆ N64_UCONTEXT_LO

#define N64_UCONTEXT_LO   (N64_UCONTEXT_SR + 8)

Definition at line 361 of file mips-fbsd-tdep.c.

◆ N64_UCONTEXT_ONSTACK

#define N64_UCONTEXT_ONSTACK   (N64_SIGSET_T_SIZE)

Definition at line 357 of file mips-fbsd-tdep.c.

◆ N64_UCONTEXT_PC

#define N64_UCONTEXT_PC   (N64_UCONTEXT_ONSTACK + 8)

Definition at line 358 of file mips-fbsd-tdep.c.

◆ N64_UCONTEXT_REG_SIZE

#define N64_UCONTEXT_REG_SIZE   8

Definition at line 366 of file mips-fbsd-tdep.c.

◆ N64_UCONTEXT_REGS

#define N64_UCONTEXT_REGS   (N64_UCONTEXT_PC + 8)

Definition at line 359 of file mips-fbsd-tdep.c.

◆ N64_UCONTEXT_SR

#define N64_UCONTEXT_SR   (N64_UCONTEXT_REGS + 8 * 32)

Definition at line 360 of file mips-fbsd-tdep.c.

◆ O32_SIGFRAME_UCONTEXT_OFFSET

#define O32_SIGFRAME_UCONTEXT_OFFSET   (16)

Definition at line 262 of file mips-fbsd-tdep.c.

◆ O32_SIGSET_T_SIZE

#define O32_SIGSET_T_SIZE   (16)

Definition at line 263 of file mips-fbsd-tdep.c.

◆ O32_UCONTEXT_FPREGS

#define O32_UCONTEXT_FPREGS   (O32_UCONTEXT_FPUSED + 4)

Definition at line 272 of file mips-fbsd-tdep.c.

◆ O32_UCONTEXT_FPUSED

#define O32_UCONTEXT_FPUSED   (O32_UCONTEXT_HI + 4)

Definition at line 271 of file mips-fbsd-tdep.c.

◆ O32_UCONTEXT_HI

#define O32_UCONTEXT_HI   (O32_UCONTEXT_LO + 4)

Definition at line 270 of file mips-fbsd-tdep.c.

◆ O32_UCONTEXT_LO

#define O32_UCONTEXT_LO   (O32_UCONTEXT_SR + 4)

Definition at line 269 of file mips-fbsd-tdep.c.

◆ O32_UCONTEXT_ONSTACK

#define O32_UCONTEXT_ONSTACK   (O32_SIGSET_T_SIZE)

Definition at line 265 of file mips-fbsd-tdep.c.

◆ O32_UCONTEXT_PC

#define O32_UCONTEXT_PC   (O32_UCONTEXT_ONSTACK + 4)

Definition at line 266 of file mips-fbsd-tdep.c.

◆ O32_UCONTEXT_REG_SIZE

#define O32_UCONTEXT_REG_SIZE   4

Definition at line 274 of file mips-fbsd-tdep.c.

◆ O32_UCONTEXT_REGS

#define O32_UCONTEXT_REGS   (O32_UCONTEXT_PC + 4)

Definition at line 267 of file mips-fbsd-tdep.c.

◆ O32_UCONTEXT_SR

#define O32_UCONTEXT_SR   (O32_UCONTEXT_REGS + 4 * 32)

Definition at line 268 of file mips-fbsd-tdep.c.

Function Documentation

◆ _initialize_mips_fbsd_tdep()

void _initialize_mips_fbsd_tdep ( )

◆ mips64_fbsd_sigframe_init()

static void mips64_fbsd_sigframe_init ( const struct tramp_frame self,
frame_info_ptr  this_frame,
struct trad_frame_cache cache,
CORE_ADDR  func 
)
static

◆ mips_fbsd_collect_fpregs()

void mips_fbsd_collect_fpregs ( const struct regcache regcache,
int  regnum,
void *  fpregs,
size_t  regsize 
)

◆ mips_fbsd_collect_fpregset()

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

◆ mips_fbsd_collect_gregs()

void mips_fbsd_collect_gregs ( const struct regcache regcache,
int  regnum,
void *  gregs,
size_t  regsize 
)

◆ mips_fbsd_collect_gregset()

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

◆ mips_fbsd_collect_reg()

static void mips_fbsd_collect_reg ( const struct regcache regcache,
int  regnum,
void *  addr,
size_t  len 
)
static

Definition at line 60 of file mips-fbsd-tdep.c.

References reg_buffer::raw_collect_integer(), and regnum.

Referenced by mips_fbsd_collect_fpregs(), and mips_fbsd_collect_gregs().

◆ mips_fbsd_ilp32_fetch_link_map_offsets()

static struct link_map_offsets * mips_fbsd_ilp32_fetch_link_map_offsets ( void  )
static

◆ mips_fbsd_init_abi()

static void mips_fbsd_init_abi ( struct gdbarch_info  info,
struct gdbarch gdbarch 
)
static

◆ mips_fbsd_iterate_over_regset_sections()

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

◆ mips_fbsd_lp64_fetch_link_map_offsets()

static struct link_map_offsets * mips_fbsd_lp64_fetch_link_map_offsets ( void  )
static

◆ mips_fbsd_sigframe_init()

static void mips_fbsd_sigframe_init ( const struct tramp_frame self,
frame_info_ptr  this_frame,
struct trad_frame_cache cache,
CORE_ADDR  func 
)
static

◆ mips_fbsd_skip_solib_resolver()

static CORE_ADDR mips_fbsd_skip_solib_resolver ( struct gdbarch gdbarch,
CORE_ADDR  pc 
)
static

◆ mips_fbsd_supply_fpregs()

void mips_fbsd_supply_fpregs ( struct regcache regcache,
int  regnum,
const void *  fpregs,
size_t  regsize 
)

◆ mips_fbsd_supply_fpregset()

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

◆ mips_fbsd_supply_gregs()

void mips_fbsd_supply_gregs ( struct regcache regcache,
int  regnum,
const void *  gregs,
size_t  regsize 
)

◆ mips_fbsd_supply_gregset()

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

◆ mips_fbsd_supply_reg()

static void mips_fbsd_supply_reg ( struct regcache regcache,
int  regnum,
const void *  addr,
size_t  len 
)
static

Definition at line 50 of file mips-fbsd-tdep.c.

References reg_buffer::raw_supply_integer(), and regnum.

Referenced by mips_fbsd_supply_fpregs(), and mips_fbsd_supply_gregs().

Variable Documentation

◆ mips64_fbsd_sigframe

const struct tramp_frame mips64_fbsd_sigframe
static
Initial value:
=
{
{
},
}
#define ULONGEST_MAX
Definition: defs.h:473
@ SIGTRAMP_FRAME
Definition: frame.h:190
#define MIPS_INST_BREAK
#define MIPS_INST_DADDIU_A0_SP_N64
#define MIPS_INST_LI_V0_SIGRETURN
static void mips64_fbsd_sigframe_init(const struct tramp_frame *self, frame_info_ptr this_frame, struct trad_frame_cache *cache, CORE_ADDR func)
#define MIPS_INST_SYSCALL
@ MIPS_INSN32_SIZE
Definition: mips-tdep.h:161
#define TRAMP_SENTINEL_INSN
Definition: tramp-frame.h:44

Definition at line 449 of file mips-fbsd-tdep.c.

Referenced by mips_fbsd_init_abi().

◆ mips_fbsd_fpregset

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

Definition at line 231 of file mips-fbsd-tdep.c.

Referenced by mips_fbsd_iterate_over_regset_sections().

◆ mips_fbsd_gregset

const struct regset mips_fbsd_gregset
static
Initial value:
=
{
NULL,
}
static void mips_fbsd_supply_gregset(const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs, size_t len)
static void mips_fbsd_collect_gregset(const struct regset *regset, const struct regcache *regcache, int regnum, void *gregs, size_t len)

Definition at line 224 of file mips-fbsd-tdep.c.

Referenced by mips_fbsd_iterate_over_regset_sections().

◆ mips_fbsd_sigframe

const struct tramp_frame mips_fbsd_sigframe
static
Initial value:
=
{
{
},
}
static void mips_fbsd_sigframe_init(const struct tramp_frame *self, frame_info_ptr this_frame, struct trad_frame_cache *cache, CORE_ADDR func)
#define MIPS_INST_ADDIU_A0_SP_O32

Definition at line 340 of file mips-fbsd-tdep.c.

Referenced by mips_fbsd_init_abi().

◆ mipsn32_fbsd_sigframe

const struct tramp_frame mipsn32_fbsd_sigframe
static