132 #define AARCH64_SIGCONTEXT_REG_SIZE 8
133 #define AARCH64_RT_SIGFRAME_UCONTEXT_OFFSET 128
134 #define AARCH64_UCONTEXT_SIGCONTEXT_OFFSET 176
135 #define AARCH64_SIGCONTEXT_XO_OFFSET 8
153 for (i = 0; i < 31; i++)
208 const struct regset aarch64_linux_gregset =
214 const struct regset aarch64_linux_fpregset =
240 return (*s ==
'#' || isdigit (*s)
261 const char *tmp = p->
arg;
275 while (isalnum (*tmp))
282 regname = alloca (len + 2);
284 strncpy (regname, start, len);
288 error (
_(
"Invalid register name `%s' on expression `%s'."),
303 else if (*tmp ==
'+')
309 displacement = strtol (tmp, &endp, 10);
647 #define SYSCALL_MAP(SYSCALL) case aarch64_sys_##SYSCALL: \
648 return gdb_sys_##SYSCALL
650 switch (syscall_number)
899 unsigned long svc_number)
909 "support syscall number %s\n"),
943 static const char *
const stap_integer_prefixes[] = {
"#",
"", NULL };
944 static const char *
const stap_register_prefixes[] = {
"", NULL };
945 static const char *
const stap_register_indirection_prefixes[] = {
"[",
947 static const char *
const stap_register_indirection_suffixes[] = {
"]",
977 stap_register_indirection_prefixes);
979 stap_register_indirection_suffixes);
ssize_t read(int fd, void *buf, size_t count)
void trad_frame_set_reg_addr(struct trad_frame_cache *this_trad_cache, int regnum, CORE_ADDR addr)
int size_serial_icounter_struct
struct frame_id frame_id_build(CORE_ADDR stack_addr, CORE_ADDR code_addr)
void set_gdbarch_fetch_tls_load_module_address(struct gdbarch *gdbarch, gdbarch_fetch_tls_load_module_address_ftype fetch_tls_load_module_address)
#define TRAMP_SENTINEL_INSN
struct link_map_offsets * svr4_lp64_fetch_link_map_offsets(void)
struct regcache * get_thread_regcache(ptid_t ptid)
void set_gdbarch_stap_parse_special_token(struct gdbarch *gdbarch, gdbarch_stap_parse_special_token_ftype stap_parse_special_token)
int record_full_arch_list_add_reg(struct regcache *regcache, int regnum)
int gdbarch_int_bit(struct gdbarch *gdbarch)
void set_gdbarch_skip_trampoline_code(struct gdbarch *gdbarch, gdbarch_skip_trampoline_code_ftype skip_trampoline_code)
int gdbarch_ptr_bit(struct gdbarch *gdbarch)
void trad_frame_set_id(struct trad_frame_cache *this_trad_cache, struct frame_id this_id)
char * plongest(LONGEST l)
void set_gdbarch_stap_register_prefixes(struct gdbarch *gdbarch, const char *const *stap_register_prefixes)
int ioctl_TIOCSERGETMULTI
int(* aarch64_syscall_record)(struct regcache *regcache, unsigned long svc_number)
void regcache_supply_regset(const struct regset *regset, struct regcache *regcache, int regnum, const void *buf, size_t size)
void linux_init_abi(struct gdbarch_info info, struct gdbarch *gdbarch)
int gdbarch_long_bit(struct gdbarch *gdbarch)
static const struct regcache_map_entry aarch64_linux_gregmap[]
struct gdbarch_tdep * gdbarch_tdep(struct gdbarch *gdbarch)
void set_gdbarch_process_record(struct gdbarch *gdbarch, gdbarch_process_record_ftype process_record)
void set_gdbarch_stap_register_indirection_suffixes(struct gdbarch *gdbarch, const char *const *stap_register_indirection_suffixes)
static int aarch64_linux_syscall_record(struct regcache *regcache, unsigned long svc_number)
CORE_ADDR svr4_fetch_objfile_link_map(struct objfile *objfile)
#define AARCH64_SIGCONTEXT_REG_SIZE
void set_gdbarch_stap_integer_prefixes(struct gdbarch *gdbarch, const char *const *stap_integer_prefixes)
static void aarch64_linux_init_abi(struct gdbarch_info info, struct gdbarch *gdbarch)
struct parser_state pstate
int ioctl_TIOCSERSETMULTI
static const struct regcache_map_entry aarch64_linux_fpregmap[]
void write_exp_elt_longcst(struct parser_state *ps, LONGEST expelt)
static void aarch64_linux_iterate_over_regset_sections(struct gdbarch *gdbarch, iterate_over_regset_sections_cb *cb, void *cb_data, const struct regcache *regcache)
#define AARCH64_RT_SIGFRAME_UCONTEXT_OFFSET
void initialize_file_ftype(void)
int record_linux_system_call(enum gdb_syscall syscall, struct regcache *regcache, struct linux_record_tdep *tdep)
CORE_ADDR find_solib_trampoline_target(struct frame_info *frame, CORE_ADDR pc)
const char * skip_spaces_const(const char *chp)
static int aarch64_stap_parse_special_token(struct gdbarch *gdbarch, struct stap_parse_info *p)
static LONGEST aarch64_linux_get_syscall_number(struct gdbarch *gdbarch, ptid_t ptid)
enum bfd_endian gdbarch_byte_order(struct gdbarch *gdbarch)
void set_solib_svr4_fetch_link_map_offsets(struct gdbarch *gdbarch, struct link_map_offsets *(*flmo)(void))
void set_gdbarch_stap_register_indirection_prefixes(struct gdbarch *gdbarch, const char *const *stap_register_indirection_prefixes)
void regcache_collect_regset(const struct regset *regset, const struct regcache *regcache, int regnum, void *buf, size_t size)
#define SYSCALL_MAP(SYSCALL)
void set_xml_syscall_file_name(struct gdbarch *gdbarch, const char *name)
void printf_unfiltered(const char *format,...)
void( iterate_over_regset_sections_cb)(const char *sect_name, int size, const struct regset *regset, const char *human_name, void *cb_data)
int user_reg_map_name_to_regnum(struct gdbarch *gdbarch, const char *name, int len)
ULONGEST get_frame_register_unsigned(struct frame_info *frame, int regnum)
#define AARCH64_UCONTEXT_SIGCONTEXT_OFFSET
void write_exp_elt_opcode(struct parser_state *ps, enum exp_opcode expelt)
initialize_file_ftype _initialize_aarch64_linux_tdep
#define AARCH64_LINUX_SIZEOF_FPREGSET
static void aarch64_linux_sigframe_init(const struct tramp_frame *self, struct frame_info *this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func)
void set_gdbarch_stap_is_single_operand(struct gdbarch *gdbarch, gdbarch_stap_is_single_operand_ftype stap_is_single_operand)
void set_gdbarch_get_syscall_number(struct gdbarch *gdbarch, gdbarch_get_syscall_number_ftype get_syscall_number)
void tramp_frame_prepend_unwinder(struct gdbarch *gdbarch, const struct tramp_frame *tramp_frame)
int aarch64_process_record(struct gdbarch *gdbarch, struct regcache *regcache, CORE_ADDR insn_addr)
enum register_status regcache_cooked_read(struct regcache *regcache, int regnum, gdb_byte *buf)
#define AARCH64_LINUX_SIZEOF_GREGSET
static int aarch64_all_but_pc_registers_record(struct regcache *regcache)
static enum gdb_syscall aarch64_canonicalize_syscall(enum aarch64_syscall syscall_number)
int size_hayes_esp_config
void set_gdbarch_iterate_over_regset_sections(struct gdbarch *gdbarch, gdbarch_iterate_over_regset_sections_ftype iterate_over_regset_sections)
LONGEST extract_signed_integer(const gdb_byte *, int, enum bfd_endian)
int size__old_kernel_stat
#define AARCH64_SIGCONTEXT_XO_OFFSET
void write_exp_string(struct parser_state *ps, struct stoken str)
void write_exp_elt_type(struct parser_state *ps, struct type *expelt)
static int aarch64_stap_is_single_operand(struct gdbarch *gdbarch, const char *s)
void gdbarch_register_osabi(enum bfd_architecture arch, unsigned long machine, enum gdb_osabi osabi, void(*init_osabi)(struct gdbarch_info, struct gdbarch *))
void error(const char *fmt,...)
struct linux_record_tdep aarch64_linux_record_tdep
struct type * lookup_pointer_type(struct type *type)
struct gdbarch * get_frame_arch(struct frame_info *this_frame)
const ULONGEST const LONGEST len