GDB (xrefs)

Macros | Functions | Variables
/tmp/gdb-8.1/gdb/sparc64-fbsd-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 "target.h"`
`#include "trad-frame.h"`
`#include "sparc64-tdep.h"`
`#include "fbsd-tdep.h"`
`#include "solib-svr4.h"`

Go to the source code of this file.

## Macros
#define | FPRS_FEF (1 << 2)

## Functions
static void | sparc64fbsd_supply_gregset (const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs, size_t len)
static void | sparc64fbsd_collect_gregset (const struct regset *regset, const struct regcache *regcache, int regnum, void *gregs, size_t len)
static void | sparc64fbsd_supply_fpregset (const struct regset *regset, struct regcache *regcache, int regnum, const void *fpregs, size_t len)
static void | sparc64fbsd_collect_fpregset (const struct regset *regset, const struct regcache *regcache, int regnum, void *fpregs, size_t len)
static int | sparc64fbsd_pc_in_sigtramp (CORE_ADDR pc, const char *name)
static struct sparc_frame_cache * | sparc64fbsd_sigtramp_frame_cache (struct frame_info *this_frame, void **this_cache)
static void | sparc64fbsd_sigtramp_frame_this_id (struct frame_info *this_frame, void **this_cache, struct frame_id *this_id)
static struct value * | sparc64fbsd_sigtramp_frame_prev_register (struct frame_info *this_frame, void **this_cache, int regnum)
static int | sparc64fbsd_sigtramp_frame_sniffer (const struct frame_unwind *self, struct frame_info *this_frame, void **this_cache)
static void | sparc64fbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
void | _initialize_sparc64fbsd_tdep (void)

## Variables
const struct sparc_gregmap | sparc64fbsd_gregmap
static const struct frame_unwind | sparc64fbsd_sigtramp_frame_unwind
static const struct regset | sparc64fbsd_gregset
static const struct regset | sparc64fbsd_fpregset

## Macro Definition Documentation

## ◆ FPRS_FEF

#define FPRS_FEF (1 << 2)

Referenced by sparc64fbsd_sigtramp_frame_cache().

## Function Documentation

## ◆ _initialize_sparc64fbsd_tdep()

void _initialize_sparc64fbsd_tdep | ( | void |  | ) |

Definition at line 245 of file sparc64-fbsd-tdep.c.

References GDB_OSABI_FREEBSD, gdbarch_register_osabi(), and sparc64fbsd_init_abi().

## ◆ sparc64fbsd_collect_fpregset()

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

Definition at line 74 of file sparc64-fbsd-tdep.c.

References regnum, sparc64_bsd_fpregmap, and sparc64_collect_fpregset().

## ◆ sparc64fbsd_collect_gregset()

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

Definition at line 58 of file sparc64-fbsd-tdep.c.

References regnum, sparc64_collect_gregset(), and sparc64fbsd_gregmap.

## ◆ sparc64fbsd_init_abi()

static void sparc64fbsd_init_abi | ( | struct gdbarch_info | info,
|  | struct gdbarch * | gdbarch
| ) |  |
| static

Definition at line 221 of file sparc64-fbsd-tdep.c.

References fbsd_init_abi(), find_solib_trampoline_target(), gdbarch_tdep::fpregset, frame_unwind_append_unwinder(), gdbarch_tdep(), gdbarch_tdep::gregset, set_gdbarch_skip_trampoline_code(), set_solib_svr4_fetch_link_map_offsets(), gdbarch_tdep::sizeof_fpregset, gdbarch_tdep::sizeof_gregset, sparc64_init_abi(), sparc64fbsd_fpregset, sparc64fbsd_gregset, sparc64fbsd_sigtramp_frame_unwind, and svr4_lp64_fetch_link_map_offsets().

Referenced by _initialize_sparc64fbsd_tdep().

## ◆ sparc64fbsd_pc_in_sigtramp()

static int sparc64fbsd_pc_in_sigtramp | ( | CORE_ADDR | pc,
|  | const char * | name
| ) |  |
| static

Definition at line 85 of file sparc64-fbsd-tdep.c.

References name.

Referenced by sparc64fbsd_sigtramp_frame_sniffer().

## ◆ sparc64fbsd_sigtramp_frame_cache()

static struct sparc_frame_cache* sparc64fbsd_sigtramp_frame_cache | ( | struct frame_info * | this_frame,
|  | void ** | this_cache
| ) |  |
| static

Definition at line 91 of file sparc64-fbsd-tdep.c.

References trad_frame_saved_reg::addr, BIAS, FPRS_FEF, gdb_assert, get_frame_memory_unsigned(), get_frame_register_unsigned(), regnum, sparc_frame_cache::saved_regs, SPARC64_F32_REGNUM, SPARC64_F62_REGNUM, SPARC64_FPRS_REGNUM, SPARC64_FSR_REGNUM, SPARC64_NPC_REGNUM, SPARC64_PC_REGNUM, SPARC64_STATE_REGNUM, SPARC64_Y_REGNUM, SPARC_F0_REGNUM, SPARC_F31_REGNUM, sparc_frame_cache(), SPARC_G1_REGNUM, SPARC_I7_REGNUM, SPARC_L0_REGNUM, SPARC_O2_REGNUM, SPARC_O7_REGNUM, SPARC_SP_REGNUM, and trad_frame_alloc_saved_regs().

Referenced by sparc64fbsd_sigtramp_frame_prev_register(), and sparc64fbsd_sigtramp_frame_this_id().

## ◆ sparc64fbsd_sigtramp_frame_prev_register()

static struct value* sparc64fbsd_sigtramp_frame_prev_register | ( | struct frame_info * | this_frame,
|  | void ** | this_cache,
|  | int | regnum
| ) |  |
| static

Definition at line 175 of file sparc64-fbsd-tdep.c.

References regnum, sparc_frame_cache::saved_regs, sparc64fbsd_sigtramp_frame_cache(), and trad_frame_get_prev_register().

## ◆ sparc64fbsd_sigtramp_frame_sniffer()

static int sparc64fbsd_sigtramp_frame_sniffer | ( | const struct frame_unwind * | self,
|  | struct frame_info * | this_frame,
|  | void ** | this_cache
| ) |  |
| static

Definition at line 185 of file sparc64-fbsd-tdep.c.

References find_pc_partial_function(), get_frame_pc(), name, sparc_frame_cache::pc, and sparc64fbsd_pc_in_sigtramp().

## ◆ sparc64fbsd_sigtramp_frame_this_id()

static void sparc64fbsd_sigtramp_frame_this_id | ( | struct frame_info * | this_frame,
|  | void ** | this_cache,
|  | struct frame_id * | this_id
| ) |  |
| static

Definition at line 164 of file sparc64-fbsd-tdep.c.

References sparc_frame_cache::base, frame_id_build(), sparc_frame_cache::pc, and sparc64fbsd_sigtramp_frame_cache().

## ◆ sparc64fbsd_supply_fpregset()

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

Definition at line 66 of file sparc64-fbsd-tdep.c.

References regnum, sparc64_bsd_fpregmap, and sparc64_supply_fpregset().

## ◆ sparc64fbsd_supply_gregset()

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

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

References regnum, sparc64_supply_gregset(), and sparc64fbsd_gregmap.

## Variable Documentation

## ◆ sparc64fbsd_fpregset

const struct regset sparc64fbsd_fpregset
| static

Initial value:
=
{
NULL, sparc64fbsd_supply_fpregset, sparc64fbsd_collect_fpregset
}
sparc64fbsd_collect_fpregset
static void sparc64fbsd_collect_fpregset(const struct regset *regset, const struct regcache *regcache, int regnum, void *fpregs, size_t len)
Definition: sparc64-fbsd-tdep.c:74
sparc64fbsd_supply_fpregset
static void sparc64fbsd_supply_fpregset(const struct regset *regset, struct regcache *regcache, int regnum, const void *fpregs, size_t len)
Definition: sparc64-fbsd-tdep.c:66

Definition at line 215 of file sparc64-fbsd-tdep.c.

Referenced by sparc64fbsd_init_abi().

## ◆ sparc64fbsd_gregmap

const struct sparc_gregmap sparc64fbsd_gregmap

Initial value:
=
{
26 * 8,
25 * 8,
24 * 8,
28 * 8,
16 * 8,
-1,
1 * 8,
-1,
8
}

Definition at line 35 of file sparc64-fbsd-tdep.c.

Referenced by _initialize_sparc64fbsd_nat(), sparc64fbsd_collect_gregset(), and sparc64fbsd_supply_gregset().

## ◆ sparc64fbsd_gregset

const struct regset sparc64fbsd_gregset
| static

Initial value:
=
{
NULL, sparc64fbsd_supply_gregset, sparc64fbsd_collect_gregset
}
sparc64fbsd_collect_gregset
static void sparc64fbsd_collect_gregset(const struct regset *regset, const struct regcache *regcache, int regnum, void *gregs, size_t len)
Definition: sparc64-fbsd-tdep.c:58
sparc64fbsd_supply_gregset
static void sparc64fbsd_supply_gregset(const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs, size_t len)
Definition: sparc64-fbsd-tdep.c:50

Definition at line 210 of file sparc64-fbsd-tdep.c.

Referenced by sparc64fbsd_init_abi().

## ◆ sparc64fbsd_sigtramp_frame_unwind

const struct frame_unwind sparc64fbsd_sigtramp_frame_unwind
| static

Initial value:
=
{
SIGTRAMP_FRAME,
default_frame_unwind_stop_reason,
sparc64fbsd_sigtramp_frame_this_id,
sparc64fbsd_sigtramp_frame_prev_register,
NULL,
sparc64fbsd_sigtramp_frame_sniffer
}
SIGTRAMP_FRAME
Definition: frame.h:255
sparc64fbsd_sigtramp_frame_this_id
static void sparc64fbsd_sigtramp_frame_this_id(struct frame_info *this_frame, void **this_cache, struct frame_id *this_id)
Definition: sparc64-fbsd-tdep.c:164
sparc64fbsd_sigtramp_frame_sniffer
static int sparc64fbsd_sigtramp_frame_sniffer(const struct frame_unwind *self, struct frame_info *this_frame, void **this_cache)
Definition: sparc64-fbsd-tdep.c:185
default_frame_unwind_stop_reason
enum unwind_stop_reason default_frame_unwind_stop_reason(struct frame_info *this_frame, void **this_cache)
Definition: frame-unwind.c:184
sparc64fbsd_sigtramp_frame_prev_register
static struct value * sparc64fbsd_sigtramp_frame_prev_register(struct frame_info *this_frame, void **this_cache, int regnum)
Definition: sparc64-fbsd-tdep.c:175

Definition at line 199 of file sparc64-fbsd-tdep.c.

Referenced by sparc64fbsd_init_abi().