GDB (xrefs)
Loading...
Searching...
No Matches
Macros | Functions | Variables
arm-fbsd-tdep.c File Reference
#include "defs.h"
#include "elf/common.h"
#include "target-descriptions.h"
#include "aarch32-tdep.h"
#include "arm-tdep.h"
#include "arm-fbsd-tdep.h"
#include "auxv.h"
#include "fbsd-tdep.h"
#include "gdbcore.h"
#include "inferior.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_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, frame_info_ptr this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func)
 
static void arm_fbsd_supply_tls_regset (const struct regset *regset, struct regcache *regcache, int regnum, const void *buf, size_t size)
 
static void arm_fbsd_collect_tls_regset (const struct regset *regset, const struct regcache *regcache, int regnum, void *buf, size_t size)
 
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_descarm_fbsd_read_description_auxv (const gdb::optional< gdb::byte_vector > &auxv, target_ops *target, gdbarch *gdbarch, bool tls)
 
const struct target_descarm_fbsd_read_description_auxv (bool tls)
 
static const struct target_descarm_fbsd_core_read_description (struct gdbarch *gdbarch, struct target_ops *target, bfd *abfd)
 
static CORE_ADDR arm_fbsd_get_thread_local_address (struct gdbarch *gdbarch, ptid_t ptid, CORE_ADDR lm_addr, CORE_ADDR offset)
 
static void arm_fbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
 
void _initialize_arm_fbsd_tdep ()
 

Variables

static const struct regcache_map_entry arm_fbsd_gregmap []
 
static const struct regcache_map_entry arm_fbsd_vfpregmap []
 
static const struct regcache_map_entry arm_fbsd_tls_regmap []
 
static const struct tramp_frame arm_fbsd_sigframe
 
const struct regset arm_fbsd_gregset
 
const struct regset arm_fbsd_vfpregset
 
const struct regset arm_fbsd_tls_regset
 

Macro Definition Documentation

◆ ARM_MCONTEXT_VFP_PTR_OFFSET

#define ARM_MCONTEXT_VFP_PTR_OFFSET   72

Definition at line 102 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 100 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 101 of file arm-fbsd-tdep.c.

Referenced by arm_fbsd_sigframe_init().

Function Documentation

◆ _initialize_arm_fbsd_tdep()

void _initialize_arm_fbsd_tdep ( )

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

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

◆ arm_fbsd_collect_tls_regset()

static void arm_fbsd_collect_tls_regset ( const struct regset * regset,
const struct regcache * regcache,
int regnum,
void * buf,
size_t size )
static

◆ 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 257 of file arm-fbsd-tdep.c.

References arm_fbsd_read_description_auxv(), and target_read_auxv_raw().

Referenced by arm_fbsd_init_abi().

◆ arm_fbsd_get_thread_local_address()

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

◆ arm_fbsd_init_abi()

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

◆ 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

◆ arm_fbsd_read_description_auxv() [1/2]

const struct target_desc * arm_fbsd_read_description_auxv ( bool tls)

◆ arm_fbsd_read_description_auxv() [2/2]

const struct target_desc * arm_fbsd_read_description_auxv ( const gdb::optional< gdb::byte_vector > & auxv,
target_ops * target,
gdbarch * gdbarch,
bool tls )

◆ arm_fbsd_sigframe_init()

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

◆ arm_fbsd_supply_tls_regset()

static void arm_fbsd_supply_tls_regset ( const struct regset * regset,
struct regcache * regcache,
int regnum,
const void * buf,
size_t size )
static

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_PC_REGNUM
Definition arm.h:46
@ ARM_LR_REGNUM
Definition arm.h:45
@ ARM_PS_REGNUM
Definition arm.h:52
@ ARM_A1_REGNUM
Definition arm.h:40
@ ARM_SP_REGNUM
Definition arm.h:44

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

Referenced by arm_fbsd_sigframe_init().

◆ arm_fbsd_gregset

const struct regset arm_fbsd_gregset
Initial value:
=
{
}
static const struct regcache_map_entry arm_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 150 of file arm-fbsd-tdep.c.

Referenced by arm_fbsd_iterate_over_regset_sections(), arm_fbsd_nat_target::fetch_registers(), and arm_fbsd_nat_target::store_registers().

◆ arm_fbsd_sigframe

const struct tramp_frame arm_fbsd_sigframe
static
Initial value:
=
{
4,
{
{0xe1a0000d, ULONGEST_MAX},
{0xe2800040, ULONGEST_MAX},
{0xe59f700c, ULONGEST_MAX},
{0xef0001a1, ULONGEST_MAX},
{TRAMP_SENTINEL_INSN, ULONGEST_MAX}
},
}
static void arm_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 134 of file arm-fbsd-tdep.c.

Referenced by arm_fbsd_init_abi().

◆ arm_fbsd_tls_regmap

const struct regcache_map_entry arm_fbsd_tls_regmap[]
static
Initial value:
=
{
{ 1, 0, 4 },
{ 0 }
}

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

◆ arm_fbsd_tls_regset

const struct regset arm_fbsd_tls_regset
Initial value:
=
{
}
static void arm_fbsd_collect_tls_regset(const struct regset *regset, const struct regcache *regcache, int regnum, void *buf, size_t size)
static const struct regcache_map_entry arm_fbsd_tls_regmap[]
static void arm_fbsd_supply_tls_regset(const struct regset *regset, struct regcache *regcache, int regnum, const void *buf, size_t size)

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

Referenced by arm_fbsd_iterate_over_regset_sections(), arm_fbsd_nat_target::fetch_registers(), and arm_fbsd_nat_target::store_registers().

◆ 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_FPSCR_REGNUM
Definition arm.h:64
@ ARM_D0_REGNUM
Definition arm.h:62

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

Referenced by arm_fbsd_sigframe_init().

◆ arm_fbsd_vfpregset

const struct regset arm_fbsd_vfpregset