GDB (xrefs)
Functions | Variables
/tmp/gdb-8.1/gdb/i386-fbsd-tdep.c File Reference
#include "defs.h"
#include "arch-utils.h"
#include "gdbcore.h"
#include "osabi.h"
#include "regcache.h"
#include "regset.h"
#include "i386-fbsd-tdep.h"
#include "x86-xstate.h"
#include "i386-tdep.h"
#include "i387-tdep.h"
#include "fbsd-tdep.h"
#include "solib-svr4.h"

Go to the source code of this file.

Functions

 gdb_static_assert (sizeof i386fbsd_sigtramp_start==sizeof i386fbsd_freebsd4_sigtramp_start)
 
 gdb_static_assert (sizeof i386fbsd_sigtramp_middle > sizeof i386fbsd_sigtramp_start)
 
static int i386fbsd_sigtramp_p (struct frame_info *this_frame)
 
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 void i386fbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
 
static void i386fbsd4_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
 
void _initialize_i386fbsd_tdep (void)
 

Variables

static const gdb_byte i386fbsd_sigtramp_start []
 
static const gdb_byte i386fbsd_sigtramp_middle []
 
static const gdb_byte i386fbsd_sigtramp_end []
 
static const gdb_byte i386fbsd_freebsd4_sigtramp_start []
 
static const gdb_byte i386fbsd_freebsd4_sigtramp_middle []
 
static const gdb_byte i386fbsd_freebsd4_sigtramp_end []
 
static const gdb_byte i386fbsd_osigtramp_start []
 
static const gdb_byte i386fbsd_osigtramp_middle []
 
static const gdb_byte i386fbsd_osigtramp_end []
 
static int i386fbsd_r_reg_offset []
 
CORE_ADDR i386fbsd_sigtramp_start_addr
 
CORE_ADDR i386fbsd_sigtramp_end_addr
 
int i386fbsd_sc_reg_offset []
 
static const struct regset i386fbsd_xstateregset
 
static int i386fbsd4_r_reg_offset []
 
int i386fbsd4_sc_reg_offset []
 

Function Documentation

◆ _initialize_i386fbsd_tdep()

void _initialize_i386fbsd_tdep ( void  )

◆ gdb_static_assert() [1/2]

gdb_static_assert ( sizeof  i386fbsd_sigtramp_start = =sizeof i386fbsd_freebsd4_sigtramp_start)

◆ gdb_static_assert() [2/2]

gdb_static_assert ( sizeof  i386fbsd_sigtramp_middle,
sizeof  i386fbsd_sigtramp_start 
)

◆ i386fbsd4_init_abi()

static void i386fbsd4_init_abi ( struct gdbarch_info  info,
struct gdbarch gdbarch 
)
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 286 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 266 of file i386-fbsd-tdep.c.

References i386_target_description(), and i386fbsd_core_read_xcr0().

Referenced by i386fbsd4_init_abi().

◆ i386fbsd_core_read_xcr0()

uint64_t i386fbsd_core_read_xcr0 ( bfd *  abfd)

◆ 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_sigtramp_p()

static int i386fbsd_sigtramp_p ( struct frame_info this_frame)
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 276 of file i386-fbsd-tdep.c.

References i387_supply_xsave(), and regnum.

Variable Documentation

◆ i386fbsd4_r_reg_offset

int i386fbsd4_r_reg_offset[]
static
Initial value:
=
{
10 * 4, 9 * 4, 8 * 4, 7 * 4,
16 * 4, 5 * 4,
4 * 4, 3 * 4,
13 * 4, 15 * 4,
14 * 4, 17 * 4,
2 * 4, 1 * 4, 0 * 4, 18 * 4
}

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

Referenced by i386fbsd4_init_abi().

◆ i386fbsd4_sc_reg_offset

int i386fbsd4_sc_reg_offset[]
Initial value:
=
{
20 + 11 * 4,
20 + 10 * 4,
20 + 9 * 4,
20 + 8 * 4,
20 + 17 * 4,
20 + 6 * 4,
20 + 5 * 4,
20 + 4 * 4,
20 + 14 * 4,
20 + 16 * 4,
20 + 15 * 4,
20 + 18 * 4,
20 + 3 * 4,
20 + 2 * 4,
20 + 1 * 4,
20 + 0 * 4
}

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

Referenced by i386fbsd4_init_abi().

◆ i386fbsd_freebsd4_sigtramp_end

const gdb_byte i386fbsd_freebsd4_sigtramp_end[]
static
Initial value:
=
{
0xb8, 0x58, 0x01, 0x00, 0x00,
0x50,
0xcd, 0x80
}

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

Referenced by i386fbsd_sigtramp_p().

◆ i386fbsd_freebsd4_sigtramp_middle

const gdb_byte i386fbsd_freebsd4_sigtramp_middle[]
static
Initial value:
=
{
0xf7, 0x40, 0x54, 0x00, 0x00, 0x02, 0x00,
0x75, 0x03,
0x8e, 0x68, 0x14
}

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

Referenced by i386fbsd_sigtramp_p().

◆ i386fbsd_freebsd4_sigtramp_start

const gdb_byte i386fbsd_freebsd4_sigtramp_start[]
static
Initial value:
=
{
0x8d, 0x44, 0x24, 0x14,
0x50
}

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

Referenced by i386fbsd_sigtramp_p().

◆ i386fbsd_osigtramp_end

const gdb_byte i386fbsd_osigtramp_end[]
static
Initial value:
=
{
0xb8, 0x67, 0x00, 0x00, 0x00,
0x50,
0xcd, 0x80
}

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

Referenced by i386fbsd_sigtramp_p().

◆ i386fbsd_osigtramp_middle

const gdb_byte i386fbsd_osigtramp_middle[]
static
Initial value:
=
{
0xf7, 0x40, 0x18, 0x00, 0x00, 0x02, 0x00,
0x75, 0x03,
0x8e, 0x68, 0x44
}

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

Referenced by i386fbsd_sigtramp_p().

◆ i386fbsd_osigtramp_start

const gdb_byte i386fbsd_osigtramp_start[]
static
Initial value:
=
{
0x8d, 0x44, 0x24, 0x14,
0x50
}

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

Referenced by i386fbsd_sigtramp_p().

◆ i386fbsd_r_reg_offset

int i386fbsd_r_reg_offset[]
static
Initial value:
=
{
9 * 4, 8 * 4, 7 * 4, 6 * 4,
15 * 4, 4 * 4,
3 * 4, 2 * 4,
12 * 4, 14 * 4,
13 * 4, 16 * 4,
1 * 4, 0 * 4, -1, -1
}

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

Referenced by i386fbsd_init_abi().

◆ i386fbsd_sc_reg_offset

int i386fbsd_sc_reg_offset[]
Initial value:
=
{
8 + 14 * 4,
8 + 13 * 4,
8 + 12 * 4,
8 + 11 * 4,
8 + 0 * 4,
8 + 1 * 4,
8 + 10 * 4,
8 + 9 * 4,
8 + 3 * 4,
8 + 4 * 4,
8 + 7 * 4,
8 + 8 * 4,
8 + 6 * 4,
8 + 5 * 4,
8 + 15 * 4,
8 + 16 * 4
}

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

Referenced by i386fbsd_init_abi().

◆ i386fbsd_sigtramp_end

const gdb_byte i386fbsd_sigtramp_end[]
static
Initial value:
=
{
0xb8, 0xa1, 0x01, 0x00, 0x00,
0x50,
0xcd, 0x80
}

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

Referenced by i386fbsd_sigtramp_p().

◆ i386fbsd_sigtramp_end_addr

CORE_ADDR i386fbsd_sigtramp_end_addr

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

Referenced by _initialize_i386fbsd_nat(), and i386fbsd_init_abi().

◆ i386fbsd_sigtramp_middle

const gdb_byte i386fbsd_sigtramp_middle[]
static
Initial value:
=
{
0xf7, 0x40, 0x54, 0x00, 0x00, 0x02, 0x00,
0x75, 0x03,
0x8e, 0x68, 0x14
}

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

Referenced by i386fbsd_sigtramp_p().

◆ i386fbsd_sigtramp_start

const gdb_byte i386fbsd_sigtramp_start[]
static
Initial value:
=
{
0x8d, 0x44, 0x24, 0x20,
0x50
}

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

Referenced by i386fbsd_sigtramp_p().

◆ i386fbsd_sigtramp_start_addr

CORE_ADDR i386fbsd_sigtramp_start_addr

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

Referenced by _initialize_i386fbsd_nat(), and 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 295 of file i386-fbsd-tdep.c.

Referenced by i386fbsd_iterate_over_regset_sections().