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

Go to the source code of this file.

Macros

#define I386_FBSD_SIZEOF_GREGSET   (19 * 4)
 
#define I386_FBSD_SIZEOF_SEGBASES_REGSET   (2 * 4)
 
#define I386_SIGFRAME_UCONTEXT_OFFSET   32
 
#define I386_UCONTEXT_MCONTEXT_OFFSET   16
 
#define I386_SIZEOF_MCONTEXT_T   640
 

Functions

static void i386_fbsd_sigframe_init (const struct tramp_frame *self, frame_info_ptr this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func)
 
uint64_t i386fbsd_core_read_xcr0 (bfd *abfd)
 
static const struct target_desci386fbsd_core_read_description (struct gdbarch *gdbarch, struct target_ops *target, bfd *abfd)
 
static void i386fbsd_supply_xstateregset (const struct regset *regset, struct regcache *regcache, int regnum, const void *xstateregs, size_t len)
 
static void i386fbsd_collect_xstateregset (const struct regset *regset, const struct regcache *regcache, int regnum, void *xstateregs, size_t len)
 
static void i386fbsd_iterate_over_regset_sections (struct gdbarch *gdbarch, iterate_over_regset_sections_cb *cb, void *cb_data, const struct regcache *regcache)
 
static CORE_ADDR i386fbsd_get_thread_local_address (struct gdbarch *gdbarch, ptid_t ptid, CORE_ADDR lm_addr, CORE_ADDR offset)
 
static void i386fbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
 
void _initialize_i386fbsd_tdep ()
 

Variables

static const struct regcache_map_entry i386_fbsd_gregmap []
 
static const struct regcache_map_entry i386_fbsd_segbases_regmap []
 
static const struct regcache_map_entry i386_fbsd_mcregmap []
 
const struct regset i386_fbsd_gregset
 
const struct regset i386_fbsd_segbases_regset
 
static const struct tramp_frame i386_fbsd_sigframe
 
static const struct tramp_frame i386_fbsd64_sigframe
 
static const struct regset i386fbsd_xstateregset
 

Macro Definition Documentation

◆ I386_FBSD_SIZEOF_GREGSET

#define I386_FBSD_SIZEOF_GREGSET   (19 * 4)

Definition at line 36 of file i386-fbsd-tdep.c.

◆ I386_FBSD_SIZEOF_SEGBASES_REGSET

#define I386_FBSD_SIZEOF_SEGBASES_REGSET   (2 * 4)

Definition at line 39 of file i386-fbsd-tdep.c.

◆ I386_SIGFRAME_UCONTEXT_OFFSET

#define I386_SIGFRAME_UCONTEXT_OFFSET   32

Definition at line 151 of file i386-fbsd-tdep.c.

◆ I386_SIZEOF_MCONTEXT_T

#define I386_SIZEOF_MCONTEXT_T   640

Definition at line 153 of file i386-fbsd-tdep.c.

◆ I386_UCONTEXT_MCONTEXT_OFFSET

#define I386_UCONTEXT_MCONTEXT_OFFSET   16

Definition at line 152 of file i386-fbsd-tdep.c.

Function Documentation

◆ _initialize_i386fbsd_tdep()

void _initialize_i386fbsd_tdep ( )

◆ i386_fbsd_sigframe_init()

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

◆ i386fbsd_collect_xstateregset()

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

Definition at line 304 of file i386-fbsd-tdep.c.

References i387_collect_xsave(), and regnum.

◆ i386fbsd_core_read_description()

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

Definition at line 284 of file i386-fbsd-tdep.c.

References i386_target_description(), and i386fbsd_core_read_xcr0().

Referenced by i386fbsd_init_abi().

◆ i386fbsd_core_read_xcr0()

uint64_t i386fbsd_core_read_xcr0 ( bfd *  abfd)

◆ i386fbsd_get_thread_local_address()

static CORE_ADDR i386fbsd_get_thread_local_address ( struct gdbarch gdbarch,
ptid_t  ptid,
CORE_ADDR  lm_addr,
CORE_ADDR  offset 
)
static

◆ i386fbsd_init_abi()

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

◆ i386fbsd_iterate_over_regset_sections()

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

◆ i386fbsd_supply_xstateregset()

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

Definition at line 294 of file i386-fbsd-tdep.c.

References i387_supply_xsave(), and regnum.

Variable Documentation

◆ i386_fbsd64_sigframe

const struct tramp_frame i386_fbsd64_sigframe
static
Initial value:
=
{
1,
{
{0x8d, ULONGEST_MAX},
{0x44, ULONGEST_MAX},
{0x24, ULONGEST_MAX},
{0x20, ULONGEST_MAX},
{0x50, ULONGEST_MAX},
{0xb8, ULONGEST_MAX},
{0xa1, ULONGEST_MAX},
{0x01, ULONGEST_MAX},
{0x00, ULONGEST_MAX},
{0x00, ULONGEST_MAX},
{0x50, ULONGEST_MAX},
{0xcd, ULONGEST_MAX},
{0x80, ULONGEST_MAX},
},
}
#define ULONGEST_MAX
Definition: defs.h:473
@ SIGTRAMP_FRAME
Definition: frame.h:190
static void i386_fbsd_sigframe_init(const struct tramp_frame *self, frame_info_ptr this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func)
#define TRAMP_SENTINEL_INSN
Definition: tramp-frame.h:44

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

Referenced by i386fbsd_init_abi().

◆ i386_fbsd_gregmap

const struct regcache_map_entry i386_fbsd_gregmap[]
static
Initial value:
=
{
{ 1, I386_FS_REGNUM, 4 },
{ 1, I386_ES_REGNUM, 4 },
{ 1, I386_DS_REGNUM, 4 },
{ 1, I386_EDI_REGNUM, 0 },
{ 1, I386_ESI_REGNUM, 0 },
{ 1, I386_EBP_REGNUM, 0 },
{ 1, REGCACHE_MAP_SKIP, 4 },
{ 1, I386_EBX_REGNUM, 0 },
{ 1, I386_EDX_REGNUM, 0 },
{ 1, I386_ECX_REGNUM, 0 },
{ 1, I386_EAX_REGNUM, 0 },
{ 1, REGCACHE_MAP_SKIP, 4 },
{ 1, REGCACHE_MAP_SKIP, 4 },
{ 1, I386_EIP_REGNUM, 0 },
{ 1, I386_CS_REGNUM, 4 },
{ 1, I386_EFLAGS_REGNUM, 0 },
{ 1, I386_ESP_REGNUM, 0 },
{ 1, I386_SS_REGNUM, 4 },
{ 1, I386_GS_REGNUM, 4 },
{ 0 }
}
@ I386_EFLAGS_REGNUM
Definition: i386-tdep.h:286
@ I386_ESI_REGNUM
Definition: i386-tdep.h:283
@ I386_FS_REGNUM
Definition: i386-tdep.h:291
@ I386_ECX_REGNUM
Definition: i386-tdep.h:278
@ I386_GS_REGNUM
Definition: i386-tdep.h:292
@ I386_EIP_REGNUM
Definition: i386-tdep.h:285
@ I386_EBP_REGNUM
Definition: i386-tdep.h:282
@ I386_ES_REGNUM
Definition: i386-tdep.h:290
@ I386_CS_REGNUM
Definition: i386-tdep.h:287
@ I386_EAX_REGNUM
Definition: i386-tdep.h:277
@ I386_SS_REGNUM
Definition: i386-tdep.h:288
@ I386_EDX_REGNUM
Definition: i386-tdep.h:279
@ I386_ESP_REGNUM
Definition: i386-tdep.h:281
@ I386_EBX_REGNUM
Definition: i386-tdep.h:280
@ I386_DS_REGNUM
Definition: i386-tdep.h:289
@ I386_EDI_REGNUM
Definition: i386-tdep.h:284
@ REGCACHE_MAP_SKIP
Definition: regcache.h:120

Definition at line 43 of file i386-fbsd-tdep.c.

◆ i386_fbsd_gregset

const struct regset i386_fbsd_gregset
Initial value:
=
{
}
static const struct regcache_map_entry i386_fbsd_gregmap[]
void regcache_collect_regset(const struct regset *regset, const struct regcache *regcache, int regnum, void *buf, size_t size)
Definition: regcache.c:1264
void regcache_supply_regset(const struct regset *regset, struct regcache *regcache, int regnum, const void *buf, size_t size)
Definition: regcache.c:1242

Definition at line 111 of file i386-fbsd-tdep.c.

Referenced by i386_fbsd_nat_target::fetch_registers(), i386fbsd_iterate_over_regset_sections(), and i386_fbsd_nat_target::store_registers().

◆ i386_fbsd_mcregmap

const struct regcache_map_entry i386_fbsd_mcregmap[]
static

Definition at line 77 of file i386-fbsd-tdep.c.

Referenced by i386_fbsd_sigframe_init().

◆ i386_fbsd_segbases_regmap

const struct regcache_map_entry i386_fbsd_segbases_regmap[]
static
Initial value:
=
{
{ 1, I386_FSBASE_REGNUM, 0 },
{ 1, I386_GSBASE_REGNUM, 0 },
{ 0 }
}
@ I386_GSBASE_REGNUM
Definition: i386-tdep.h:307
@ I386_FSBASE_REGNUM
Definition: i386-tdep.h:306

Definition at line 67 of file i386-fbsd-tdep.c.

◆ i386_fbsd_segbases_regset

const struct regset i386_fbsd_segbases_regset
Initial value:
=
{
}
static const struct regcache_map_entry i386_fbsd_segbases_regmap[]

Definition at line 116 of file i386-fbsd-tdep.c.

Referenced by i386fbsd_iterate_over_regset_sections().

◆ i386_fbsd_sigframe

const struct tramp_frame i386_fbsd_sigframe
static

Definition at line 181 of file i386-fbsd-tdep.c.

Referenced by i386fbsd_init_abi().

◆ i386fbsd_xstateregset

const struct regset i386fbsd_xstateregset
static
Initial value:
=
{
NULL,
}
static void i386fbsd_collect_xstateregset(const struct regset *regset, const struct regcache *regcache, int regnum, void *xstateregs, size_t len)
static void i386fbsd_supply_xstateregset(const struct regset *regset, struct regcache *regcache, int regnum, const void *xstateregs, size_t len)

Definition at line 313 of file i386-fbsd-tdep.c.

Referenced by i386fbsd_iterate_over_regset_sections().