22#include "elf/common.h"
100#define ARM_SIGFRAME_UCONTEXT_OFFSET 64
101#define ARM_UCONTEXT_MCONTEXT_OFFSET 16
102#define ARM_MCONTEXT_VFP_PTR_OFFSET 72
115 CORE_ADDR mcontext_addr = (sp
118 ULONGEST mcontext_vfp_addr;
127 && mcontext_vfp_addr != 0)
139 {0xe1a0000d, ULONGEST_MAX},
140 {0xe2800040, ULONGEST_MAX},
141 {0xe59f700c, ULONGEST_MAX},
142 {0xef0001a1, ULONGEST_MAX},
221 CORE_ADDR arm_hwcap = 0;
223 if (!auxv.has_value ()
261 asection *tls = bfd_get_section_by_name (abfd,
".reg-aarch-tls");
271 CORE_ADDR
lm_addr, CORE_ADDR offset)
283 error (_(
"Unable to fetch %%tpidruro"));
287 CORE_ADDR dtv_addr = tpidruro;
const target_desc * aarch32_read_description()
static const struct tramp_frame arm_fbsd_sigframe
#define ARM_UCONTEXT_MCONTEXT_OFFSET
static const struct regcache_map_entry arm_fbsd_gregmap[]
static void arm_fbsd_init_abi(struct gdbarch_info info, struct gdbarch *gdbarch)
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_collect_tls_regset(const struct regset *regset, const struct regcache *regcache, int regnum, void *buf, size_t size)
#define ARM_SIGFRAME_UCONTEXT_OFFSET
const struct target_desc * arm_fbsd_read_description_auxv(const gdb::optional< gdb::byte_vector > &auxv, target_ops *target, gdbarch *gdbarch, bool tls)
static const struct target_desc * arm_fbsd_core_read_description(struct gdbarch *gdbarch, struct target_ops *target, bfd *abfd)
const struct regset arm_fbsd_vfpregset
static const struct regcache_map_entry arm_fbsd_tls_regmap[]
static const struct regcache_map_entry arm_fbsd_vfpregmap[]
#define ARM_MCONTEXT_VFP_PTR_OFFSET
const struct regset arm_fbsd_gregset
static void arm_fbsd_iterate_over_regset_sections(struct gdbarch *gdbarch, iterate_over_regset_sections_cb *cb, void *cb_data, const struct regcache *regcache)
void _initialize_arm_fbsd_tdep()
const struct regset arm_fbsd_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 CORE_ADDR arm_fbsd_get_thread_local_address(struct gdbarch *gdbarch, ptid_t ptid, CORE_ADDR lm_addr, CORE_ADDR offset)
#define ARM_FBSD_SIZEOF_TLSREGSET
#define ARM_FBSD_SIZEOF_VFPREGSET
#define ARM_FBSD_SIZEOF_GREGSET
std::vector< CORE_ADDR > arm_software_single_step(struct regcache *regcache)
const target_desc * arm_read_description(arm_fp_type fp_type, bool tls)
int target_auxv_search(const gdb::byte_vector &auxv, target_ops *ops, gdbarch *gdbarch, CORE_ADDR match, CORE_ADDR *valp)
const gdb::optional< gdb::byte_vector > & target_read_auxv()
gdb::optional< gdb::byte_vector > target_read_auxv_raw(target_ops *ops)
enum register_status cooked_read(int regnum, gdb_byte *buf)
void collect_regset(const struct regset *regset, int regbase, int regnum, void *buf, size_t size) const
void supply_regset(const struct regset *regset, int regbase, int regnum, const void *buf, size_t size)
int safe_read_memory_unsigned_integer(CORE_ADDR memaddr, int len, enum bfd_endian byte_order, ULONGEST *return_value)
CORE_ADDR fbsd_get_thread_local_address(struct gdbarch *gdbarch, CORE_ADDR dtv_addr, CORE_ADDR lm_addr, CORE_ADDR offset)
void fbsd_init_abi(struct gdbarch_info info, struct gdbarch *gdbarch)
ULONGEST get_frame_register_unsigned(frame_info_ptr frame, int regnum)
struct frame_id frame_id_build(CORE_ADDR stack_addr, CORE_ADDR code_addr)
struct gdbarch * get_frame_arch(frame_info_ptr this_frame)
enum bfd_endian gdbarch_byte_order(struct gdbarch *gdbarch)
void set_gdbarch_software_single_step(struct gdbarch *gdbarch, gdbarch_software_single_step_ftype *software_single_step)
void set_gdbarch_get_thread_local_address(struct gdbarch *gdbarch, gdbarch_get_thread_local_address_ftype *get_thread_local_address)
void set_gdbarch_core_read_description(struct gdbarch *gdbarch, gdbarch_core_read_description_ftype *core_read_description)
void set_gdbarch_fetch_tls_load_module_address(struct gdbarch *gdbarch, gdbarch_fetch_tls_load_module_address_ftype *fetch_tls_load_module_address)
void set_gdbarch_iterate_over_regset_sections(struct gdbarch *gdbarch, gdbarch_iterate_over_regset_sections_ftype *iterate_over_regset_sections)
void iterate_over_regset_sections_cb(const char *sect_name, int supply_size, int collect_size, const struct regset *regset, const char *human_name, void *cb_data)
struct inferior * current_inferior(void)
static CORE_ADDR lm_addr(struct so_list *so)
void gdbarch_register_osabi(enum bfd_architecture arch, unsigned long machine, enum gdb_osabi osabi, void(*init_osabi)(struct gdbarch_info, struct gdbarch *))
void regcache_collect_regset(const struct regset *regset, const struct regcache *regcache, int regnum, void *buf, size_t size)
struct regcache * get_thread_arch_regcache(process_stratum_target *target, ptid_t ptid, struct gdbarch *gdbarch)
void regcache_supply_regset(const struct regset *regset, struct regcache *regcache, int regnum, const void *buf, size_t size)
static int regcache_map_entry_size(const struct regcache_map_entry *map)
void(* func)(remote_target *remote, char *)
void set_solib_svr4_fetch_link_map_offsets(struct gdbarch *gdbarch, struct link_map_offsets *(*flmo)(void))
CORE_ADDR svr4_fetch_objfile_link_map(struct objfile *objfile)
struct link_map_offsets * svr4_ilp32_fetch_link_map_offsets(void)
void target_fetch_registers(struct regcache *regcache, int regno)
void trad_frame_set_reg_regmap(struct trad_frame_cache *this_trad_cache, const struct regcache_map_entry *regmap, CORE_ADDR addr, size_t size)
void trad_frame_set_id(struct trad_frame_cache *this_trad_cache, struct frame_id this_id)
void tramp_frame_prepend_unwinder(struct gdbarch *gdbarch, const struct tramp_frame *tramp_frame)
#define TRAMP_SENTINEL_INSN