GDB (xrefs)

Macros | Functions | Variables
/tmp/gdb-8.1/gdb/arm-fbsd-tdep.c File Reference
`#include "defs.h"`
`#include "elf/common.h"`
`#include "arm-tdep.h"`
`#include "arm-fbsd-tdep.h"`
`#include "auxv.h"`
`#include "fbsd-tdep.h"`
`#include "gdbcore.h"`
`#include "osabi.h"`
`#include "solib-svr4.h"`
`#include "trad-frame.h"`
`#include "tramp-frame.h"`

Go to the source code of this file.

## Macros
#define | ARM_MCONTEXT_REG_SIZE 4
#define | ARM_MCONTEXT_VFP_REG_SIZE 8
#define | ARM_SIGFRAME_UCONTEXT_OFFSET 64
#define | ARM_UCONTEXT_MCONTEXT_OFFSET 16
#define | ARM_MCONTEXT_VFP_PTR_OFFSET 72

## Functions
static void | arm_fbsd_sigframe_init (const struct tramp_frame *self, struct frame_info *this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func)
static void | arm_fbsd_iterate_over_regset_sections (struct gdbarch *gdbarch, iterate_over_regset_sections_cb *cb, void *cb_data, const struct regcache *regcache)
const struct target_desc * | arm_fbsd_read_description_auxv (struct target_ops *target)
static const struct target_desc * | arm_fbsd_core_read_description (struct gdbarch *gdbarch, struct target_ops *target, bfd *abfd)
static void | arm_fbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
void | _initialize_arm_fbsd_tdep (void)

## Variables
static const struct tramp_frame | arm_fbsd_sigframe
static const struct regcache_map_entry | arm_fbsd_gregmap []
static const struct regcache_map_entry | arm_fbsd_vfpregmap []
const struct regset | arm_fbsd_gregset
const struct regset | arm_fbsd_vfpregset

## Macro Definition Documentation

## ◆ ARM_MCONTEXT_REG_SIZE

#define ARM_MCONTEXT_REG_SIZE 4

Definition at line 70 of file arm-fbsd-tdep.c.

Referenced by arm_fbsd_sigframe_init().

## ◆ ARM_MCONTEXT_VFP_PTR_OFFSET

#define ARM_MCONTEXT_VFP_PTR_OFFSET 72

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

Referenced by arm_fbsd_sigframe_init().

## ◆ ARM_MCONTEXT_VFP_REG_SIZE

#define ARM_MCONTEXT_VFP_REG_SIZE 8

Definition at line 71 of file arm-fbsd-tdep.c.

Referenced by arm_fbsd_sigframe_init().

## ◆ ARM_SIGFRAME_UCONTEXT_OFFSET

#define ARM_SIGFRAME_UCONTEXT_OFFSET 64

Definition at line 72 of file arm-fbsd-tdep.c.

Referenced by arm_fbsd_sigframe_init().

## ◆ ARM_UCONTEXT_MCONTEXT_OFFSET

#define ARM_UCONTEXT_MCONTEXT_OFFSET 16

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

Referenced by arm_fbsd_sigframe_init().

## Function Documentation

## ◆ _initialize_arm_fbsd_tdep()

void _initialize_arm_fbsd_tdep | ( | void |  | ) |

Definition at line 253 of file arm-fbsd-tdep.c.

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

## ◆ arm_fbsd_core_read_description()

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

Definition at line 216 of file arm-fbsd-tdep.c.

References arm_fbsd_read_description_auxv().

Referenced by arm_fbsd_init_abi().

## ◆ arm_fbsd_init_abi()

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

Definition at line 226 of file arm-fbsd-tdep.c.

References arm_fbsd_core_read_description(), arm_fbsd_iterate_over_regset_sections(), arm_fbsd_sigframe, ARM_FLOAT_AUTO, ARM_FLOAT_SOFT_VFP, arm_software_single_step(), fbsd_init_abi(), gdbarch_tdep::fp_model, gdbarch_tdep(), gdbarch_tdep::jb_elt_size, gdbarch_tdep::jb_pc, set_gdbarch_core_read_description(), set_gdbarch_iterate_over_regset_sections(), set_gdbarch_software_single_step(), set_solib_svr4_fetch_link_map_offsets(), svr4_ilp32_fetch_link_map_offsets(), and tramp_frame_prepend_unwinder().

Referenced by _initialize_arm_fbsd_tdep().

## ◆ arm_fbsd_iterate_over_regset_sections()

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

Definition at line 171 of file arm-fbsd-tdep.c.

References arm_fbsd_gregset, ARM_FBSD_SIZEOF_GREGSET, ARM_FBSD_SIZEOF_VFPREGSET, arm_fbsd_vfpregset, gdbarch_tdep(), and gdbarch_tdep::vfp_register_count.

Referenced by arm_fbsd_init_abi().

## ◆ arm_fbsd_read_description_auxv()

const struct target_desc* arm_fbsd_read_description_auxv | ( | struct target_ops * | target | ) |

Definition at line 192 of file arm-fbsd-tdep.c.

References HWCAP_NEON, HWCAP_VFP, HWCAP_VFPD32, HWCAP_VFPv3, target_auxv_search(), tdesc_arm_with_neon, tdesc_arm_with_vfpv2, and tdesc_arm_with_vfpv3.

Referenced by arm_fbsd_core_read_description(), and arm_fbsd_read_description().

## ◆ arm_fbsd_sigframe_init()

static void arm_fbsd_sigframe_init | ( | const struct tramp_frame * | self,
|  | struct frame_info * | this_frame,
|  | struct trad_frame_cache * | this_cache,
|  | CORE_ADDR | func
| ) |  |
| static

Definition at line 79 of file arm-fbsd-tdep.c.

References ARM_A1_REGNUM, ARM_D0_REGNUM, ARM_FPSCR_REGNUM, ARM_MCONTEXT_REG_SIZE, ARM_MCONTEXT_VFP_PTR_OFFSET, ARM_MCONTEXT_VFP_REG_SIZE, ARM_PS_REGNUM, ARM_SIGFRAME_UCONTEXT_OFFSET, ARM_SP_REGNUM, ARM_UCONTEXT_MCONTEXT_OFFSET, gdbarch::byte_order, frame_id_build(), func, gdbarch_byte_order(), get_frame_arch(), get_frame_register_unsigned(), safe_read_memory_unsigned_integer(), trad_frame_set_id(), and trad_frame_set_reg_addr().

## Variable Documentation

## ◆ arm_fbsd_gregmap

const struct regcache_map_entry arm_fbsd_gregmap[]
| static

Initial value:
=
{
{ 13, ARM_A1_REGNUM, 4 },
{ 1, ARM_SP_REGNUM, 4 },
{ 1, ARM_LR_REGNUM, 4 },
{ 1, ARM_PC_REGNUM, 4 },
{ 1, ARM_PS_REGNUM, 4 },
{ 0 }
}
ARM_A1_REGNUM
Definition: arm.h:25
ARM_LR_REGNUM
Definition: arm.h:30
ARM_PS_REGNUM
Definition: arm.h:36
ARM_SP_REGNUM
Definition: arm.h:29
ARM_PC_REGNUM
Definition: arm.h:31

Definition at line 137 of file arm-fbsd-tdep.c.

## ◆ arm_fbsd_gregset

const struct regset arm_fbsd_gregset

Initial value:
=
{
arm_fbsd_gregmap,
regcache_supply_regset, regcache_collect_regset
}
arm_fbsd_gregmap
static const struct regcache_map_entry arm_fbsd_gregmap[]
Definition: arm-fbsd-tdep.c:137
regcache_supply_regset
void regcache_supply_regset(const struct regset *regset, struct regcache *regcache, int regnum, const void *buf, size_t size)
Definition: regcache.c:1192
regcache_collect_regset
void regcache_collect_regset(const struct regset *regset, const struct regcache *regcache, int regnum, void *buf, size_t size)
Definition: regcache.c:1211

Definition at line 156 of file arm-fbsd-tdep.c.

Referenced by arm_fbsd_fetch_inferior_registers(), arm_fbsd_iterate_over_regset_sections(), and arm_fbsd_store_inferior_registers().

## ◆ arm_fbsd_sigframe

const struct tramp_frame arm_fbsd_sigframe
| static

Initial value:
=
{
SIGTRAMP_FRAME,
4,
{
{0xe1a0000d, -1},
{0xe2800040, -1},
{0xe59f700c, -1},
{0xef0001a1, -1},
{TRAMP_SENTINEL_INSN, -1}
},
arm_fbsd_sigframe_init
}
TRAMP_SENTINEL_INSN
#define TRAMP_SENTINEL_INSN
Definition: tramp-frame.h:44
SIGTRAMP_FRAME
Definition: frame.h:255
arm_fbsd_sigframe_init
static void arm_fbsd_sigframe_init(const struct tramp_frame *self, struct frame_info *this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func)
Definition: arm-fbsd-tdep.c:79

Definition at line 121 of file arm-fbsd-tdep.c.

Referenced by arm_fbsd_init_abi().

## ◆ arm_fbsd_vfpregmap

const struct regcache_map_entry arm_fbsd_vfpregmap[]
| static

Initial value:
=
{
{ 32, ARM_D0_REGNUM, 8 },
{ 1, ARM_FPSCR_REGNUM, 4 },
{ 0 }
}
ARM_D0_REGNUM
Definition: arm.h:46
ARM_FPSCR_REGNUM
Definition: arm.h:48

Definition at line 147 of file arm-fbsd-tdep.c.

## ◆ arm_fbsd_vfpregset

const struct regset arm_fbsd_vfpregset

Initial value:
=
{
arm_fbsd_vfpregmap,
regcache_supply_regset, regcache_collect_regset
}
arm_fbsd_vfpregmap
static const struct regcache_map_entry arm_fbsd_vfpregmap[]
Definition: arm-fbsd-tdep.c:147
regcache_supply_regset
void regcache_supply_regset(const struct regset *regset, struct regcache *regcache, int regnum, const void *buf, size_t size)
Definition: regcache.c:1192
regcache_collect_regset
void regcache_collect_regset(const struct regset *regset, const struct regcache *regcache, int regnum, void *buf, size_t size)
Definition: regcache.c:1211

Definition at line 162 of file arm-fbsd-tdep.c.

Referenced by arm_fbsd_fetch_inferior_registers(), arm_fbsd_iterate_over_regset_sections(), and arm_fbsd_store_inferior_registers().