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_desc * | i386fbsd_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 |  | ) |

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

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

## ◆ 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

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

References fbsd_init_abi(), gdbarch_tdep(), gdbarch_tdep::gregset_num_regs, gdbarch_tdep::gregset_reg_offset, I386_FBSD_XSAVE_XCR0_OFFSET, i386fbsd4_r_reg_offset, i386fbsd4_sc_reg_offset, i386fbsd_core_read_description(), i386fbsd_init_abi(), i386fbsd_iterate_over_regset_sections(), gdbarch_tdep::sc_num_regs, gdbarch_tdep::sc_reg_offset, set_gdbarch_core_read_description(), set_gdbarch_iterate_over_regset_sections(), gdbarch_tdep::sizeof_gregset, and gdbarch_tdep::xsave_xcr0_offset.

Referenced by _initialize_i386fbsd_tdep().

## ◆ 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 | ) |

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

References _, I386_FBSD_XSAVE_XCR0_OFFSET, size, warning(), X86_XSTATE_AVX_SIZE, and X86_XSTATE_SSE_MASK.

Referenced by amd64fbsd_core_read_description(), and i386fbsd_core_read_description().

## ◆ i386fbsd_init_abi()

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

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

References gdbarch_tdep(), gdbarch_tdep::gregset_num_regs, gdbarch_tdep::gregset_reg_offset, i386_elf_init_abi(), i386bsd_init_abi(), i386fbsd_r_reg_offset, i386fbsd_sc_reg_offset, i386fbsd_sigtramp_end_addr, i386fbsd_sigtramp_p(), i386fbsd_sigtramp_start_addr, reg_struct_return, gdbarch_tdep::sc_num_regs, gdbarch_tdep::sc_reg_offset, set_solib_svr4_fetch_link_map_offsets(), gdbarch_tdep::sigtramp_end, gdbarch_tdep::sigtramp_p, gdbarch_tdep::sigtramp_start, gdbarch_tdep::sizeof_fpregset, gdbarch_tdep::sizeof_gregset, gdbarch_tdep::struct_return, and svr4_ilp32_fetch_link_map_offsets().

Referenced by i386fbsd4_init_abi().

## ◆ 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

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

References gdbarch_tdep(), i386_fpregset, i386_gregset, i386fbsd_xstateregset, gdbarch_tdep::sizeof_fpregset, gdbarch_tdep::sizeof_gregset, X86_XSTATE_AVX, X86_XSTATE_SIZE, and gdbarch_tdep::xcr0.

Referenced by i386fbsd4_init_abi().

## ◆ i386fbsd_sigtramp_p()

static int i386fbsd_sigtramp_p | ( | struct frame_info * | this_frame | ) |
| static

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

References get_frame_pc(), i386fbsd_freebsd4_sigtramp_end, i386fbsd_freebsd4_sigtramp_middle, i386fbsd_freebsd4_sigtramp_start, i386fbsd_osigtramp_end, i386fbsd_osigtramp_middle, i386fbsd_osigtramp_start, i386fbsd_sigtramp_end, i386fbsd_sigtramp_middle, i386fbsd_sigtramp_start, and safe_frame_unwind_memory().

Referenced by i386fbsd_init_abi().

## ◆ 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,
i386fbsd_supply_xstateregset,
i386fbsd_collect_xstateregset
}
i386fbsd_collect_xstateregset
static void i386fbsd_collect_xstateregset(const struct regset *regset, const struct regcache *regcache, int regnum, void *xstateregs, size_t len)
Definition: i386-fbsd-tdep.c:286
i386fbsd_supply_xstateregset
static void i386fbsd_supply_xstateregset(const struct regset *regset, struct regcache *regcache, int regnum, const void *xstateregs, size_t len)
Definition: i386-fbsd-tdep.c:276

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

Referenced by i386fbsd_iterate_over_regset_sections().