GDB (xrefs)
Loading...
Searching...
No Matches
Macros | Functions | Variables
amd64-fbsd-tdep.c File Reference
#include "defs.h"
#include "osabi.h"
#include "regset.h"
#include "target.h"
#include "trad-frame.h"
#include "tramp-frame.h"
#include "i386-fbsd-tdep.h"
#include "gdbsupport/x86-xstate.h"
#include "amd64-tdep.h"
#include "amd64-fbsd-tdep.h"
#include "fbsd-tdep.h"
#include "solib-svr4.h"
#include "inferior.h"

Go to the source code of this file.

Macros

#define AMD64_FBSD_SIZEOF_GREGSET   (22 * 8)
 
#define AMD64_FBSD_SIZEOF_SEGBASES_REGSET   (2 * 8)
 
#define AMD64_SIGFRAME_UCONTEXT_OFFSET   16
 
#define AMD64_UCONTEXT_MCONTEXT_OFFSET   16
 
#define AMD64_SIZEOF_MCONTEXT_T   800
 

Functions

static void amd64_fbsd_sigframe_init (const struct tramp_frame *self, frame_info_ptr this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func)
 
static const struct target_descamd64fbsd_core_read_description (struct gdbarch *gdbarch, struct target_ops *target, bfd *abfd)
 
static void amd64fbsd_supply_xstateregset (const struct regset *regset, struct regcache *regcache, int regnum, const void *xstateregs, size_t len)
 
static void amd64fbsd_collect_xstateregset (const struct regset *regset, const struct regcache *regcache, int regnum, void *xstateregs, size_t len)
 
static void amd64fbsd_iterate_over_regset_sections (struct gdbarch *gdbarch, iterate_over_regset_sections_cb *cb, void *cb_data, const struct regcache *regcache)
 
static CORE_ADDR amd64fbsd_get_thread_local_address (struct gdbarch *gdbarch, ptid_t ptid, CORE_ADDR lm_addr, CORE_ADDR offset)
 
static void amd64fbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
 
void _initialize_amd64fbsd_tdep ()
 

Variables

static const struct regcache_map_entry amd64_fbsd_gregmap []
 
static const struct regcache_map_entry amd64_fbsd_segbases_regmap []
 
static const struct regcache_map_entry amd64_fbsd_mcregmap []
 
const struct regset amd64_fbsd_gregset
 
const struct regset amd64_fbsd_segbases_regset
 
static const struct tramp_frame amd64_fbsd_sigframe
 
static const struct regset amd64fbsd_xstateregset
 

Macro Definition Documentation

◆ AMD64_FBSD_SIZEOF_GREGSET

#define AMD64_FBSD_SIZEOF_GREGSET   (22 * 8)

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

Referenced by amd64fbsd_iterate_over_regset_sections().

◆ AMD64_FBSD_SIZEOF_SEGBASES_REGSET

#define AMD64_FBSD_SIZEOF_SEGBASES_REGSET   (2 * 8)

Definition at line 41 of file amd64-fbsd-tdep.c.

Referenced by amd64fbsd_iterate_over_regset_sections().

◆ AMD64_SIGFRAME_UCONTEXT_OFFSET

#define AMD64_SIGFRAME_UCONTEXT_OFFSET   16

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

Referenced by amd64_fbsd_sigframe_init().

◆ AMD64_SIZEOF_MCONTEXT_T

#define AMD64_SIZEOF_MCONTEXT_T   800

Definition at line 166 of file amd64-fbsd-tdep.c.

Referenced by amd64_fbsd_sigframe_init().

◆ AMD64_UCONTEXT_MCONTEXT_OFFSET

#define AMD64_UCONTEXT_MCONTEXT_OFFSET   16

Definition at line 165 of file amd64-fbsd-tdep.c.

Referenced by amd64_fbsd_sigframe_init().

Function Documentation

◆ _initialize_amd64fbsd_tdep()

void _initialize_amd64fbsd_tdep ( )

◆ amd64_fbsd_sigframe_init()

static void amd64_fbsd_sigframe_init ( const struct tramp_frame * self,
frame_info_ptr this_frame,
struct trad_frame_cache * this_cache,
CORE_ADDR func )
static

◆ amd64fbsd_collect_xstateregset()

static void amd64fbsd_collect_xstateregset ( const struct regset * regset,
const struct regcache * regcache,
int regnum,
void * xstateregs,
size_t len )
static

Definition at line 248 of file amd64-fbsd-tdep.c.

References amd64_collect_xsave(), and regnum.

◆ amd64fbsd_core_read_description()

static const struct target_desc * amd64fbsd_core_read_description ( struct gdbarch * gdbarch,
struct target_ops * target,
bfd * abfd )
static

Definition at line 223 of file amd64-fbsd-tdep.c.

References amd64_target_description(), and i386_fbsd_core_read_xsave_info().

Referenced by amd64fbsd_init_abi().

◆ amd64fbsd_get_thread_local_address()

static CORE_ADDR amd64fbsd_get_thread_local_address ( struct gdbarch * gdbarch,
ptid_t ptid,
CORE_ADDR lm_addr,
CORE_ADDR offset )
static

◆ amd64fbsd_init_abi()

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

◆ amd64fbsd_iterate_over_regset_sections()

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

◆ amd64fbsd_supply_xstateregset()

static void amd64fbsd_supply_xstateregset ( const struct regset * regset,
struct regcache * regcache,
int regnum,
const void * xstateregs,
size_t len )
static

Definition at line 238 of file amd64-fbsd-tdep.c.

References amd64_supply_xsave(), and regnum.

Variable Documentation

◆ amd64_fbsd_gregmap

const struct regcache_map_entry amd64_fbsd_gregmap[]
static
Initial value:
=
{
{ 1, AMD64_R15_REGNUM, 0 },
{ 1, AMD64_R14_REGNUM, 0 },
{ 1, AMD64_R13_REGNUM, 0 },
{ 1, AMD64_R12_REGNUM, 0 },
{ 1, AMD64_R11_REGNUM, 0 },
{ 1, AMD64_R10_REGNUM, 0 },
{ 1, AMD64_R9_REGNUM, 0 },
{ 1, AMD64_R8_REGNUM, 0 },
{ 1, AMD64_RDI_REGNUM, 0 },
{ 1, AMD64_RSI_REGNUM, 0 },
{ 1, AMD64_RBP_REGNUM, 0 },
{ 1, AMD64_RBX_REGNUM, 0 },
{ 1, AMD64_RDX_REGNUM, 0 },
{ 1, AMD64_RCX_REGNUM, 0 },
{ 1, AMD64_RAX_REGNUM, 0 },
{ 1, REGCACHE_MAP_SKIP, 4 },
{ 1, AMD64_FS_REGNUM, 2 },
{ 1, AMD64_GS_REGNUM, 2 },
{ 1, REGCACHE_MAP_SKIP, 4 },
{ 1, AMD64_ES_REGNUM, 2 },
{ 1, AMD64_DS_REGNUM, 2 },
{ 1, AMD64_RIP_REGNUM, 0 },
{ 1, AMD64_CS_REGNUM, 8 },
{ 1, AMD64_RSP_REGNUM, 0 },
{ 1, AMD64_SS_REGNUM, 8 },
{ 0 }
}
@ AMD64_RAX_REGNUM
Definition amd64-tdep.h:35
@ AMD64_FS_REGNUM
Definition amd64-tdep.h:57
@ AMD64_R11_REGNUM
Definition amd64-tdep.h:46
@ AMD64_R12_REGNUM
Definition amd64-tdep.h:47
@ AMD64_EFLAGS_REGNUM
Definition amd64-tdep.h:52
@ AMD64_R8_REGNUM
Definition amd64-tdep.h:43
@ AMD64_R9_REGNUM
Definition amd64-tdep.h:44
@ AMD64_RCX_REGNUM
Definition amd64-tdep.h:37
@ AMD64_RBX_REGNUM
Definition amd64-tdep.h:36
@ AMD64_RBP_REGNUM
Definition amd64-tdep.h:41
@ AMD64_RSI_REGNUM
Definition amd64-tdep.h:39
@ AMD64_R14_REGNUM
Definition amd64-tdep.h:49
@ AMD64_ES_REGNUM
Definition amd64-tdep.h:56
@ AMD64_RIP_REGNUM
Definition amd64-tdep.h:51
@ AMD64_RDI_REGNUM
Definition amd64-tdep.h:40
@ AMD64_CS_REGNUM
Definition amd64-tdep.h:53
@ AMD64_DS_REGNUM
Definition amd64-tdep.h:55
@ AMD64_GS_REGNUM
Definition amd64-tdep.h:58
@ AMD64_RDX_REGNUM
Definition amd64-tdep.h:38
@ AMD64_R13_REGNUM
Definition amd64-tdep.h:48
@ AMD64_SS_REGNUM
Definition amd64-tdep.h:54
@ AMD64_R10_REGNUM
Definition amd64-tdep.h:45
@ AMD64_R15_REGNUM
Definition amd64-tdep.h:50
@ AMD64_RSP_REGNUM
Definition amd64-tdep.h:42
@ REGCACHE_MAP_SKIP
Definition regcache.h:121

Definition at line 45 of file amd64-fbsd-tdep.c.

◆ amd64_fbsd_gregset

const struct regset amd64_fbsd_gregset
Initial value:
=
{
}
static const struct regcache_map_entry amd64_fbsd_gregmap[]
void regcache_collect_regset(const struct regset *regset, const struct regcache *regcache, int regnum, void *buf, size_t size)
Definition regcache.c:1273
void regcache_supply_regset(const struct regset *regset, struct regcache *regcache, int regnum, const void *buf, size_t size)
Definition regcache.c:1251

Definition at line 128 of file amd64-fbsd-tdep.c.

Referenced by amd64fbsd_iterate_over_regset_sections(), and find_gregset().

◆ amd64_fbsd_mcregmap

const struct regcache_map_entry amd64_fbsd_mcregmap[]
static

Definition at line 86 of file amd64-fbsd-tdep.c.

Referenced by amd64_fbsd_sigframe_init().

◆ amd64_fbsd_segbases_regmap

const struct regcache_map_entry amd64_fbsd_segbases_regmap[]
static
Initial value:
=
{
{ 0 }
}
@ AMD64_GSBASE_REGNUM
Definition amd64-tdep.h:83
@ AMD64_FSBASE_REGNUM
Definition amd64-tdep.h:82

Definition at line 76 of file amd64-fbsd-tdep.c.

◆ amd64_fbsd_segbases_regset

const struct regset amd64_fbsd_segbases_regset
Initial value:
=
{
}
static const struct regcache_map_entry amd64_fbsd_segbases_regmap[]

Definition at line 133 of file amd64-fbsd-tdep.c.

Referenced by amd64fbsd_iterate_over_regset_sections().

◆ amd64_fbsd_sigframe

const struct tramp_frame amd64_fbsd_sigframe
static
Initial value:
=
{
1,
{
{0x48, ULONGEST_MAX},
{0x8d, ULONGEST_MAX},
{0x7c, ULONGEST_MAX},
{0x24, ULONGEST_MAX},
{0x10, ULONGEST_MAX},
{0x6a, ULONGEST_MAX},
{0x00, ULONGEST_MAX},
{0x48, ULONGEST_MAX},
{0xc7, ULONGEST_MAX},
{0xc0, ULONGEST_MAX},
{0xa1, ULONGEST_MAX},
{0x01, ULONGEST_MAX},
{0x00, ULONGEST_MAX},
{0x00, ULONGEST_MAX},
{0x0f, ULONGEST_MAX},
{0x05, ULONGEST_MAX},
{TRAMP_SENTINEL_INSN, ULONGEST_MAX}
},
}
static void amd64_fbsd_sigframe_init(const struct tramp_frame *self, frame_info_ptr this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func)
@ SIGTRAMP_FRAME
Definition frame.h:198
#define TRAMP_SENTINEL_INSN
Definition tramp-frame.h:44

Definition at line 194 of file amd64-fbsd-tdep.c.

Referenced by amd64fbsd_init_abi().

◆ amd64fbsd_xstateregset

const struct regset amd64fbsd_xstateregset
static
Initial value:
=
{
NULL,
}
static void amd64fbsd_supply_xstateregset(const struct regset *regset, struct regcache *regcache, int regnum, const void *xstateregs, size_t len)
static void amd64fbsd_collect_xstateregset(const struct regset *regset, const struct regcache *regcache, int regnum, void *xstateregs, size_t len)

Definition at line 255 of file amd64-fbsd-tdep.c.

Referenced by amd64fbsd_iterate_over_regset_sections().