GDB (xrefs)
|
#include "defs.h"
#include "gdbarch.h"
#include "glibc-tdep.h"
#include "linux-tdep.h"
#include "aarch64-tdep.h"
#include "aarch64-linux-tdep.h"
#include "osabi.h"
#include "solib-svr4.h"
#include "symtab.h"
#include "tramp-frame.h"
#include "trad-frame.h"
#include "target.h"
#include "target/target.h"
#include "expop.h"
#include "auxv.h"
#include "regcache.h"
#include "regset.h"
#include "stap-probe.h"
#include "parser-defs.h"
#include "user-regs.h"
#include "xml-syscall.h"
#include <ctype.h>
#include "record-full.h"
#include "linux-record.h"
#include "arch/aarch64-mte-linux.h"
#include "arch-utils.h"
#include "value.h"
#include "gdbsupport/selftest.h"
#include "elf/common.h"
#include "elf/aarch64.h"
Go to the source code of this file.
Functions | |
static uint32_t | read_aarch64_ctx (CORE_ADDR ctx_addr, enum bfd_endian byte_order, uint32_t *size) |
static void | aarch64_linux_restore_vreg (struct trad_frame_cache *cache, int num_regs, int vreg_num, CORE_ADDR offset, enum bfd_endian byte_order, bool has_sve) |
static void | aarch64_linux_sigframe_init (const struct tramp_frame *self, frame_info_ptr this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func) |
static uint64_t | aarch64_linux_core_read_vq (struct gdbarch *gdbarch, bfd *abfd) |
static void | aarch64_linux_supply_sve_regset (const struct regset *regset, struct regcache *regcache, int regnum, const void *buf, size_t size) |
static void | aarch64_linux_collect_sve_regset (const struct regset *regset, const struct regcache *regcache, int regnum, void *buf, size_t size) |
static void | aarch64_linux_iterate_over_regset_sections (struct gdbarch *gdbarch, iterate_over_regset_sections_cb *cb, void *cb_data, const struct regcache *regcache) |
static const struct target_desc * | aarch64_linux_core_read_description (struct gdbarch *gdbarch, struct target_ops *target, bfd *abfd) |
static int | aarch64_stap_is_single_operand (struct gdbarch *gdbarch, const char *s) |
static expr::operation_up | aarch64_stap_parse_special_token (struct gdbarch *gdbarch, struct stap_parse_info *p) |
static enum gdb_syscall | aarch64_canonicalize_syscall (enum aarch64_syscall syscall_number) |
static LONGEST | aarch64_linux_get_syscall_number (struct gdbarch *gdbarch, thread_info *thread) |
static int | aarch64_all_but_pc_registers_record (struct regcache *regcache) |
static int | aarch64_linux_syscall_record (struct regcache *regcache, unsigned long svc_number) |
static std::string | aarch64_linux_gcc_target_options (struct gdbarch *gdbarch) |
static gdb::optional< CORE_ADDR > | aarch64_mte_get_atag (CORE_ADDR address) |
static bool | aarch64_linux_tagged_address_p (struct gdbarch *gdbarch, struct value *address) |
static bool | aarch64_linux_memtag_matches_p (struct gdbarch *gdbarch, struct value *address) |
static bool | aarch64_linux_set_memtags (struct gdbarch *gdbarch, struct value *address, size_t length, const gdb::byte_vector &tags, memtag_type tag_type) |
static struct value * | aarch64_linux_get_memtag (struct gdbarch *gdbarch, struct value *address, memtag_type tag_type) |
static std::string | aarch64_linux_memtag_to_string (struct gdbarch *gdbarch, struct value *tag_value) |
static void | aarch64_linux_report_signal_info (struct gdbarch *gdbarch, struct ui_out *uiout, enum gdb_signal siggnal) |
static asection * | aarch64_linux_create_memtag_section (struct gdbarch *gdbarch, bfd *obfd, CORE_ADDR address, size_t size) |
static bool | aarch64_linux_fill_memtag_section (struct gdbarch *gdbarch, asection *osec) |
static gdb::byte_vector | aarch64_linux_decode_memtag_section (struct gdbarch *gdbarch, bfd_section *section, int type, CORE_ADDR address, size_t length) |
static CORE_ADDR | aarch64_remove_non_address_bits (struct gdbarch *gdbarch, CORE_ADDR pointer) |
static void | aarch64_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch) |
void | _initialize_aarch64_linux_tdep () |
Variables | |
static const struct tramp_frame | aarch64_linux_rt_sigframe |
static const struct regcache_map_entry | aarch64_linux_gregmap [] |
static const struct regcache_map_entry | aarch64_linux_fpregmap [] |
const struct regset | aarch64_linux_gregset |
const struct regset | aarch64_linux_fpregset |
static linux_record_tdep | aarch64_linux_record_tdep |
#define AARCH64_EXTRA_DATAP_OFFSET 8 |
Definition at line 157 of file aarch64-linux-tdep.c.
#define AARCH64_EXTRA_MAGIC 0x45585401 |
Definition at line 152 of file aarch64-linux-tdep.c.
#define AARCH64_FPSIMD_FPCR_OFFSET 12 |
Definition at line 161 of file aarch64-linux-tdep.c.
#define AARCH64_FPSIMD_FPSR_OFFSET 8 |
Definition at line 160 of file aarch64-linux-tdep.c.
#define AARCH64_FPSIMD_MAGIC 0x46508001 |
Definition at line 153 of file aarch64-linux-tdep.c.
#define AARCH64_FPSIMD_V0_OFFSET 16 |
Definition at line 162 of file aarch64-linux-tdep.c.
#define AARCH64_FPSIMD_VREG_SIZE 16 |
Definition at line 163 of file aarch64-linux-tdep.c.
#define AARCH64_RT_SIGFRAME_UCONTEXT_OFFSET 128 |
Definition at line 144 of file aarch64-linux-tdep.c.
#define AARCH64_SIGCONTEXT_REG_SIZE 8 |
Definition at line 143 of file aarch64-linux-tdep.c.
#define AARCH64_SIGCONTEXT_RESERVED_OFFSET 288 |
Definition at line 147 of file aarch64-linux-tdep.c.
#define AARCH64_SIGCONTEXT_RESERVED_SIZE 4096 |
Definition at line 149 of file aarch64-linux-tdep.c.
#define AARCH64_SIGCONTEXT_XO_OFFSET 8 |
Definition at line 146 of file aarch64-linux-tdep.c.
#define AARCH64_SVE_CONTEXT_FFR_OFFSET | ( | vq | ) | (AARCH64_SVE_CONTEXT_P_REGS_OFFSET (vq) + (16 * vq * 2)) |
Definition at line 169 of file aarch64-linux-tdep.c.
#define AARCH64_SVE_CONTEXT_P_REGS_OFFSET | ( | vq | ) | (32 * vq * 16) |
Definition at line 168 of file aarch64-linux-tdep.c.
#define AARCH64_SVE_CONTEXT_REGS_OFFSET 16 |
Definition at line 167 of file aarch64-linux-tdep.c.
#define AARCH64_SVE_CONTEXT_SIZE | ( | vq | ) | (AARCH64_SVE_CONTEXT_FFR_OFFSET (vq) + (vq * 2)) |
Definition at line 171 of file aarch64-linux-tdep.c.
#define AARCH64_SVE_CONTEXT_VL_OFFSET 8 |
Definition at line 166 of file aarch64-linux-tdep.c.
#define AARCH64_SVE_MAGIC 0x53564501 |
Definition at line 154 of file aarch64-linux-tdep.c.
#define AARCH64_UCONTEXT_SIGCONTEXT_OFFSET 176 |
Definition at line 145 of file aarch64-linux-tdep.c.
#define MAX_TAGS_TO_TRANSFER 1024 |
Definition at line 1867 of file aarch64-linux-tdep.c.
#define SVE_HEADER_FLAG_SVE 1 |
Definition at line 523 of file aarch64-linux-tdep.c.
#define SVE_HEADER_FLAGS_LENGTH 2 |
Definition at line 506 of file aarch64-linux-tdep.c.
#define SVE_HEADER_FLAGS_OFFSET (SVE_HEADER_MAX_VL_OFFSET + SVE_HEADER_MAX_VL_LENGTH) |
Definition at line 516 of file aarch64-linux-tdep.c.
#define SVE_HEADER_MAX_SIZE_LENGTH 4 |
Definition at line 503 of file aarch64-linux-tdep.c.
#define SVE_HEADER_MAX_SIZE_OFFSET (SVE_HEADER_SIZE_OFFSET + SVE_HEADER_SIZE_LENGTH) |
Definition at line 510 of file aarch64-linux-tdep.c.
#define SVE_HEADER_MAX_VL_LENGTH 2 |
Definition at line 505 of file aarch64-linux-tdep.c.
#define SVE_HEADER_MAX_VL_OFFSET (SVE_HEADER_VL_OFFSET + SVE_HEADER_VL_LENGTH) |
Definition at line 514 of file aarch64-linux-tdep.c.
#define SVE_HEADER_RESERVED_LENGTH 2 |
Definition at line 507 of file aarch64-linux-tdep.c.
#define SVE_HEADER_RESERVED_OFFSET (SVE_HEADER_FLAGS_OFFSET + SVE_HEADER_FLAGS_LENGTH) |
Definition at line 518 of file aarch64-linux-tdep.c.
#define SVE_HEADER_SIZE (SVE_HEADER_RESERVED_OFFSET + SVE_HEADER_RESERVED_LENGTH) |
Definition at line 520 of file aarch64-linux-tdep.c.
#define SVE_HEADER_SIZE_LENGTH 4 |
Definition at line 502 of file aarch64-linux-tdep.c.
#define SVE_HEADER_SIZE_OFFSET 0 |
Definition at line 509 of file aarch64-linux-tdep.c.
#define SVE_HEADER_VL_LENGTH 2 |
Definition at line 504 of file aarch64-linux-tdep.c.
#define SVE_HEADER_VL_OFFSET (SVE_HEADER_MAX_SIZE_OFFSET + SVE_HEADER_MAX_SIZE_LENGTH) |
Definition at line 512 of file aarch64-linux-tdep.c.
#define SYSCALL_MAP | ( | SYSCALL | ) |
#define UNSUPPORTED_SYSCALL_MAP | ( | SYSCALL | ) |
enum aarch64_syscall |
Definition at line 922 of file aarch64-linux-tdep.c.
void _initialize_aarch64_linux_tdep | ( | ) |
Definition at line 2319 of file aarch64-linux-tdep.c.
References aarch64_linux_init_abi(), GDB_OSABI_LINUX, and gdbarch_register_osabi().
|
static |
Definition at line 1509 of file aarch64-linux-tdep.c.
References AARCH64_CPSR_REGNUM, AARCH64_PC_REGNUM, AARCH64_X0_REGNUM, and record_full_arch_list_add_reg().
Referenced by aarch64_linux_syscall_record().
|
static |
Definition at line 1191 of file aarch64-linux-tdep.c.
References aarch64_sys_mmap, gdb_sys_mmap2, gdb_sys_no_syscall, ptrace, read(), SYSCALL_MAP, and UNSUPPORTED_SYSCALL_MAP.
Referenced by aarch64_linux_syscall_record().
|
static |
Definition at line 640 of file aarch64-linux-tdep.c.
References reg_buffer::arch(), regcache::collect_regset(), gdbarch_byte_order(), regnum, size, store_unsigned_integer(), SVE_HEADER_FLAG_SVE, SVE_HEADER_FLAGS_LENGTH, SVE_HEADER_FLAGS_OFFSET, SVE_HEADER_MAX_SIZE_LENGTH, SVE_HEADER_MAX_SIZE_OFFSET, SVE_HEADER_MAX_VL_LENGTH, SVE_HEADER_MAX_VL_OFFSET, SVE_HEADER_RESERVED_LENGTH, SVE_HEADER_RESERVED_OFFSET, SVE_HEADER_SIZE, SVE_HEADER_SIZE_LENGTH, SVE_HEADER_SIZE_OFFSET, SVE_HEADER_VL_LENGTH, SVE_HEADER_VL_OFFSET, sve_vl_from_vq, and aarch64_gdbarch_tdep::vq.
Referenced by aarch64_linux_iterate_over_regset_sections().
|
static |
Definition at line 787 of file aarch64-linux-tdep.c.
References AARCH64_HWCAP_PACA, aarch64_linux_core_read_vq(), aarch64_read_description(), AARCH64_TLS_REGISTER_SIZE, target_desc::features, HWCAP2_MTE, linux_get_hwcap(), linux_get_hwcap2(), size, and target_read_auxv_raw().
Referenced by aarch64_linux_init_abi().
|
static |
Definition at line 528 of file aarch64-linux-tdep.c.
References AARCH64_MAX_SVE_VQ, extract_unsigned_integer(), gdbarch_byte_order(), size, SVE_HEADER_SIZE, SVE_HEADER_VL_LENGTH, SVE_HEADER_VL_OFFSET, and sve_vq_from_vl.
Referenced by aarch64_linux_core_read_description().
|
static |
Definition at line 1833 of file aarch64-linux-tdep.c.
References aarch64_mte_get_tag_granules(), AARCH64_MTE_GRANULE_SIZE, value::address, and size.
Referenced by aarch64_linux_init_abi().
|
static |
Definition at line 1940 of file aarch64-linux-tdep.c.
References aarch64_mte_get_tag_granules(), AARCH64_MTE_GRANULE_SIZE, aarch64_mte_unpack_tags(), value::address, and value::offset.
Referenced by aarch64_linux_init_abi().
|
static |
Definition at line 1872 of file aarch64-linux-tdep.c.
References aarch64_mte_get_tag_granules(), AARCH64_MTE_GRANULE_SIZE, aarch64_mte_pack_tags(), value::address, allocation, MAX_TAGS_TO_TRANSFER, and target_fetch_memtags().
Referenced by aarch64_linux_init_abi().
|
static |
Definition at line 1573 of file aarch64-linux-tdep.c.
Referenced by aarch64_linux_init_abi().
|
static |
Definition at line 1716 of file aarch64-linux-tdep.c.
References aarch64_linux_tagged_address_p(), aarch64_mte_get_atag(), aarch64_mte_get_ltag(), value::address, gdbarch_remove_non_address_bits(), logical, value_as_address(), and value_from_ulongest().
Referenced by aarch64_linux_init_abi().
|
static |
Definition at line 1476 of file aarch64-linux-tdep.c.
References AARCH64_FP_REGNUM, AARCH64_LR_REGNUM, aarch64_sys_execve, AARCH64_X0_REGNUM, readable_regcache::cooked_read(), and get_thread_regcache().
Referenced by aarch64_linux_init_abi().
|
static |
Definition at line 2018 of file aarch64-linux-tdep.c.
References AARCH64_DISPLACED_MODIFIED_INSNS, aarch64_displaced_step_copy_insn(), aarch64_displaced_step_fixup(), aarch64_displaced_step_hw_singlestep(), aarch64_linux_core_read_description(), aarch64_linux_create_memtag_section(), aarch64_linux_decode_memtag_section(), aarch64_linux_fill_memtag_section(), aarch64_linux_gcc_target_options(), aarch64_linux_get_memtag(), aarch64_linux_get_syscall_number(), aarch64_linux_iterate_over_regset_sections(), aarch64_linux_memtag_matches_p(), aarch64_linux_memtag_to_string(), aarch64_linux_record_tdep, aarch64_linux_report_signal_info(), aarch64_linux_rt_sigframe, aarch64_linux_set_memtags(), aarch64_linux_syscall_record(), aarch64_linux_tagged_address_p(), AARCH64_MTE_GRANULE_SIZE, aarch64_process_record(), aarch64_remove_non_address_bits(), aarch64_stap_is_single_operand(), aarch64_stap_parse_special_token(), aarch64_gdbarch_tdep::aarch64_syscall_record, AARCH64_X0_REGNUM, linux_record_tdep::arg1, linux_record_tdep::arg2, linux_record_tdep::arg3, linux_record_tdep::arg4, linux_record_tdep::arg5, linux_record_tdep::arg6, linux_record_tdep::arg7, linux_record_tdep::fcntl_F_GETLK, linux_record_tdep::fcntl_F_GETLK64, linux_record_tdep::fcntl_F_SETLK64, linux_record_tdep::fcntl_F_SETLKW64, find_solib_trampoline_target(), gdbarch_int_bit(), gdbarch_long_bit(), gdbarch_ptr_bit(), glibc_skip_solib_resolver(), aarch64_gdbarch_tdep::has_mte(), linux_record_tdep::ioctl_FIOASYNC, linux_record_tdep::ioctl_FIOCLEX, linux_record_tdep::ioctl_FIONBIO, linux_record_tdep::ioctl_FIONCLEX, linux_record_tdep::ioctl_FIONREAD, linux_record_tdep::ioctl_FIOQSIZE, linux_record_tdep::ioctl_TCFLSH, linux_record_tdep::ioctl_TCGETA, linux_record_tdep::ioctl_TCGETS, linux_record_tdep::ioctl_TCGETS2, linux_record_tdep::ioctl_TCSBRK, linux_record_tdep::ioctl_TCSBRKP, linux_record_tdep::ioctl_TCSETA, linux_record_tdep::ioctl_TCSETAF, linux_record_tdep::ioctl_TCSETAW, linux_record_tdep::ioctl_TCSETS, linux_record_tdep::ioctl_TCSETS2, linux_record_tdep::ioctl_TCSETSF, linux_record_tdep::ioctl_TCSETSF2, linux_record_tdep::ioctl_TCSETSW, linux_record_tdep::ioctl_TCSETSW2, linux_record_tdep::ioctl_TCXONC, linux_record_tdep::ioctl_TIOCCBRK, linux_record_tdep::ioctl_TIOCCONS, linux_record_tdep::ioctl_TIOCEXCL, linux_record_tdep::ioctl_TIOCGETD, linux_record_tdep::ioctl_TIOCGHAYESESP, linux_record_tdep::ioctl_TIOCGICOUNT, linux_record_tdep::ioctl_TIOCGLCKTRMIOS, linux_record_tdep::ioctl_TIOCGPGRP, linux_record_tdep::ioctl_TIOCGPTN, linux_record_tdep::ioctl_TIOCGSERIAL, linux_record_tdep::ioctl_TIOCGSID, linux_record_tdep::ioctl_TIOCGSOFTCAR, linux_record_tdep::ioctl_TIOCGWINSZ, linux_record_tdep::ioctl_TIOCINQ, linux_record_tdep::ioctl_TIOCLINUX, linux_record_tdep::ioctl_TIOCMBIC, linux_record_tdep::ioctl_TIOCMBIS, linux_record_tdep::ioctl_TIOCMGET, linux_record_tdep::ioctl_TIOCMIWAIT, linux_record_tdep::ioctl_TIOCMSET, linux_record_tdep::ioctl_TIOCNOTTY, linux_record_tdep::ioctl_TIOCNXCL, linux_record_tdep::ioctl_TIOCOUTQ, linux_record_tdep::ioctl_TIOCPKT, linux_record_tdep::ioctl_TIOCSBRK, linux_record_tdep::ioctl_TIOCSCTTY, linux_record_tdep::ioctl_TIOCSERCONFIG, linux_record_tdep::ioctl_TIOCSERGETLSR, linux_record_tdep::ioctl_TIOCSERGETMULTI, linux_record_tdep::ioctl_TIOCSERGSTRUCT, linux_record_tdep::ioctl_TIOCSERGWILD, linux_record_tdep::ioctl_TIOCSERSETMULTI, linux_record_tdep::ioctl_TIOCSERSWILD, linux_record_tdep::ioctl_TIOCSETD, linux_record_tdep::ioctl_TIOCSHAYESESP, linux_record_tdep::ioctl_TIOCSLCKTRMIOS, linux_record_tdep::ioctl_TIOCSPGRP, linux_record_tdep::ioctl_TIOCSPTLCK, linux_record_tdep::ioctl_TIOCSSERIAL, linux_record_tdep::ioctl_TIOCSSOFTCAR, linux_record_tdep::ioctl_TIOCSTI, linux_record_tdep::ioctl_TIOCSWINSZ, linux_record_tdep::ioctl_TIOCTTYGSTRUCT, aarch64_gdbarch_tdep::jb_pc, linux_init_abi(), linux_lp64_fetch_link_map_offsets(), aarch64_gdbarch_tdep::lowest_pc, set_gdbarch_core_read_description(), set_gdbarch_create_memtag_section(), set_gdbarch_decode_memtag_section(), set_gdbarch_displaced_step_copy_insn(), set_gdbarch_displaced_step_fixup(), set_gdbarch_displaced_step_hw_singlestep(), set_gdbarch_fetch_tls_load_module_address(), set_gdbarch_fill_memtag_section(), set_gdbarch_gcc_target_options(), set_gdbarch_get_memtag(), set_gdbarch_get_syscall_number(), set_gdbarch_iterate_over_regset_sections(), set_gdbarch_max_insn_length(), set_gdbarch_memtag_granule_size(), set_gdbarch_memtag_matches_p(), set_gdbarch_memtag_to_string(), set_gdbarch_process_record(), set_gdbarch_remove_non_address_bits(), set_gdbarch_report_signal_info(), set_gdbarch_set_memtags(), set_gdbarch_skip_solib_resolver(), set_gdbarch_skip_trampoline_code(), set_gdbarch_stap_integer_prefixes(), set_gdbarch_stap_is_single_operand(), set_gdbarch_stap_parse_special_token(), set_gdbarch_stap_register_indirection_prefixes(), set_gdbarch_stap_register_indirection_suffixes(), set_gdbarch_stap_register_prefixes(), set_gdbarch_tagged_address_p(), set_solib_svr4_fetch_link_map_offsets(), set_xml_syscall_file_name(), linux_record_tdep::size__old_kernel_stat, linux_record_tdep::size_cap_user_data_t, linux_record_tdep::size_epoll_event, linux_record_tdep::size_fd_set, linux_record_tdep::size_flock, linux_record_tdep::size_flock64, linux_record_tdep::size_fs_quota_stat, linux_record_tdep::size_gid_t, linux_record_tdep::size_hayes_esp_config, linux_record_tdep::size_if_dqblk, linux_record_tdep::size_int, linux_record_tdep::size_io_event, linux_record_tdep::size_iocb, linux_record_tdep::size_iovec, linux_record_tdep::size_itimerspec, linux_record_tdep::size_itimerval, linux_record_tdep::size_knfsd_fh, linux_record_tdep::size_loff_t, linux_record_tdep::size_long, linux_record_tdep::size_mem_dqinfo, linux_record_tdep::size_mq_attr, linux_record_tdep::size_msghdr, linux_record_tdep::size_msqid_ds, linux_record_tdep::size_new_utsname, linux_record_tdep::size_NFS_FHSIZE, linux_record_tdep::size_off_t, linux_record_tdep::size_old_dirent, linux_record_tdep::size_old_gid_t, linux_record_tdep::size_old_sigaction, linux_record_tdep::size_old_sigset_t, linux_record_tdep::size_old_uid_t, linux_record_tdep::size_old_utsname, linux_record_tdep::size_oldold_utsname, linux_record_tdep::size_PAGE_SIZE, linux_record_tdep::size_pid_t, linux_record_tdep::size_pointer, linux_record_tdep::size_pollfd, linux_record_tdep::size_rlimit, linux_record_tdep::size_rusage, linux_record_tdep::size_serial_icounter_struct, linux_record_tdep::size_serial_struct, linux_record_tdep::size_shmid_ds, linux_record_tdep::size_sigaction, linux_record_tdep::size_siginfo_t, linux_record_tdep::size_sigset_t, linux_record_tdep::size_size_t, linux_record_tdep::size_sockaddr, linux_record_tdep::size_stack_t, linux_record_tdep::size_stat, linux_record_tdep::size_stat64, linux_record_tdep::size_statfs, linux_record_tdep::size_statfs64, linux_record_tdep::size_sysinfo, linux_record_tdep::size_TASK_COMM_LEN, linux_record_tdep::size_termios, linux_record_tdep::size_termios2, linux_record_tdep::size_time_t, linux_record_tdep::size_timespec, linux_record_tdep::size_timeval, linux_record_tdep::size_timex, linux_record_tdep::size_timezone, linux_record_tdep::size_tms, linux_record_tdep::size_uid_t, linux_record_tdep::size_ulong, linux_record_tdep::size_user_desc, linux_record_tdep::size_ustat, linux_record_tdep::size_winsize, svr4_fetch_objfile_link_map(), and tramp_frame_prepend_unwinder().
Referenced by _initialize_aarch64_linux_tdep().
|
static |
Definition at line 678 of file aarch64-linux-tdep.c.
References AARCH64_FPCR_REGNUM, AARCH64_FPSR_REGNUM, aarch64_linux_collect_sve_regset(), aarch64_linux_fpregmap, aarch64_linux_fpregset, aarch64_linux_gregset, AARCH64_LINUX_SIZEOF_FPREGSET, AARCH64_LINUX_SIZEOF_GREGSET, AARCH64_LINUX_SIZEOF_MTE_REGSET, AARCH64_LINUX_SIZEOF_PAUTH, aarch64_linux_supply_sve_regset(), AARCH64_PAUTH_DMASK_REGNUM, AARCH64_SVE_FFR_REGNUM, AARCH64_SVE_P0_REGNUM, AARCH64_SVE_Z0_REGNUM, AARCH64_TLS_REGISTER_SIZE, aarch64_gdbarch_tdep::has_mte(), aarch64_gdbarch_tdep::has_pauth(), aarch64_gdbarch_tdep::has_sve(), aarch64_gdbarch_tdep::has_tls(), aarch64_gdbarch_tdep::mte_reg_base, aarch64_gdbarch_tdep::pauth_reg_base, regcache_collect_regset(), regcache_map_entry_size(), regcache_supply_regset(), REGSET_VARIABLE_SIZE, SVE_HEADER_SIZE, aarch64_gdbarch_tdep::tls_register_count, aarch64_gdbarch_tdep::tls_regnum_base, and aarch64_gdbarch_tdep::vq.
Referenced by aarch64_linux_init_abi().
|
static |
Definition at line 1625 of file aarch64-linux-tdep.c.
References aarch64_linux_tagged_address_p(), aarch64_mte_get_atag(), aarch64_mte_get_ltag(), gdbarch_remove_non_address_bits(), and value_as_address().
Referenced by aarch64_linux_init_abi().
|
static |
Definition at line 1751 of file aarch64-linux-tdep.c.
References value_as_address().
Referenced by aarch64_linux_init_abi().
|
static |
Definition at line 1765 of file aarch64-linux-tdep.c.
References aarch64_mte_get_atag(), aarch64_mte_get_ltag(), exception_print(), ui_out::field_core_addr(), ui_out::field_string(), gdb_stderr, gdbarch_remove_non_address_bits(), aarch64_gdbarch_tdep::has_mte(), parse_and_eval_long(), SEGV_MTEAERR, SEGV_MTESERR, and ui_out::text().
Referenced by aarch64_linux_init_abi().
|
static |
Definition at line 204 of file aarch64-linux-tdep.c.
References AARCH64_B0_REGNUM, AARCH64_D0_REGNUM, AARCH64_H0_REGNUM, AARCH64_Q0_REGNUM, AARCH64_S0_REGNUM, AARCH64_SVE_V0_REGNUM, AARCH64_V0_REGNUM, B_REGISTER_SIZE, D_REGISTER_SIZE, extract_unsigned_integer(), H_REGISTER_SIZE, Q_REGISTER_SIZE, S_REGISTER_SIZE, size, store_unsigned_integer(), target_read_memory(), trad_frame_set_reg_addr(), trad_frame_set_reg_value_bytes(), and V_REGISTER_SIZE.
Referenced by aarch64_linux_sigframe_init().
|
static |
Definition at line 1653 of file aarch64-linux-tdep.c.
References aarch64_linux_tagged_address_p(), aarch64_mte_get_tag_granules(), AARCH64_MTE_GRANULE_SIZE, aarch64_mte_set_ltag(), allocation, gdbarch_byte_order(), gdbarch_remove_non_address_bits(), logical, store_unsigned_integer(), target_store_memtags(), value_as_address(), and value_contents_raw().
Referenced by aarch64_linux_init_abi().
|
static |
Definition at line 286 of file aarch64-linux-tdep.c.
References AARCH64_B0_REGNUM, AARCH64_D0_REGNUM, AARCH64_EXTRA_DATAP_OFFSET, AARCH64_EXTRA_MAGIC, AARCH64_FPCR_REGNUM, AARCH64_FPSIMD_FPCR_OFFSET, AARCH64_FPSIMD_FPSR_OFFSET, AARCH64_FPSIMD_MAGIC, AARCH64_FPSIMD_V0_OFFSET, AARCH64_FPSIMD_VREG_SIZE, AARCH64_FPSR_REGNUM, AARCH64_H0_REGNUM, aarch64_linux_restore_vreg(), AARCH64_PC_REGNUM, AARCH64_Q0_REGNUM, AARCH64_RT_SIGFRAME_UCONTEXT_OFFSET, AARCH64_S0_REGNUM, AARCH64_SIGCONTEXT_REG_SIZE, AARCH64_SIGCONTEXT_RESERVED_OFFSET, AARCH64_SIGCONTEXT_RESERVED_SIZE, AARCH64_SIGCONTEXT_XO_OFFSET, AARCH64_SP_REGNUM, AARCH64_SVE_CONTEXT_FFR_OFFSET, AARCH64_SVE_CONTEXT_P_REGS_OFFSET, AARCH64_SVE_CONTEXT_REGS_OFFSET, AARCH64_SVE_CONTEXT_SIZE, AARCH64_SVE_CONTEXT_VL_OFFSET, AARCH64_SVE_FFR_REGNUM, AARCH64_SVE_MAGIC, AARCH64_SVE_P0_REGNUM, AARCH64_SVE_V0_REGNUM, AARCH64_SVE_Z0_REGNUM, AARCH64_UCONTEXT_SIGCONTEXT_OFFSET, AARCH64_X0_REGNUM, extract_unsigned_integer(), frame_id_build(), func, gdbarch_byte_order(), gdbarch_num_regs(), get_frame_arch(), get_frame_register_unsigned(), aarch64_gdbarch_tdep::has_sve(), read_aarch64_ctx(), size, sve_vq_from_vl, target_read_memory(), trad_frame_set_id(), trad_frame_set_reg_addr(), and aarch64_gdbarch_tdep::vq.
|
static |
Definition at line 581 of file aarch64-linux-tdep.c.
References aarch64_linux_fpregset, AARCH64_SVE_FFR_REGNUM, AARCH64_SVE_P0_REGNUM, AARCH64_SVE_P_REGS_NUM, AARCH64_SVE_VG_REGNUM, AARCH64_SVE_Z0_REGNUM, AARCH64_SVE_Z_REGS_NUM, reg_buffer::arch(), extract_unsigned_integer(), flags, gdbarch_byte_order(), reg_buffer::raw_supply(), reg_buffer::raw_supply_zeroed(), regnum, size, store_integer(), regcache::supply_regset(), SVE_HEADER_FLAG_SVE, SVE_HEADER_FLAGS_LENGTH, SVE_HEADER_FLAGS_OFFSET, SVE_HEADER_SIZE, SVE_HEADER_VL_LENGTH, SVE_HEADER_VL_OFFSET, and sve_vg_from_vl.
Referenced by aarch64_linux_iterate_over_regset_sections().
|
static |
Definition at line 1526 of file aarch64-linux-tdep.c.
References aarch64_all_but_pc_registers_record(), aarch64_canonicalize_syscall(), AARCH64_CPSR_REGNUM, aarch64_linux_record_tdep, AARCH64_LR_REGNUM, AARCH64_X0_REGNUM, gdb_printf(), gdb_stderr, gdb_sys_rt_sigreturn, gdb_sys_sigreturn, record_full_arch_list_add_reg(), and record_linux_system_call().
Referenced by aarch64_linux_init_abi().
|
static |
Definition at line 1605 of file aarch64-linux-tdep.c.
References gdbarch_remove_non_address_bits(), linux_address_in_memtag_page(), and value_as_address().
Referenced by aarch64_linux_get_memtag(), aarch64_linux_init_abi(), aarch64_linux_memtag_matches_p(), and aarch64_linux_set_memtags().
|
static |
Definition at line 1584 of file aarch64-linux-tdep.c.
References allocation, and target_fetch_memtags().
Referenced by aarch64_linux_get_memtag(), aarch64_linux_memtag_matches_p(), and aarch64_linux_report_signal_info().
|
static |
Definition at line 1987 of file aarch64-linux-tdep.c.
References aarch64_mask_from_pac_registers(), aarch64_remove_top_bits(), AARCH64_TOP_BITS_MASK, readable_regcache::cooked_read(), get_current_regcache(), aarch64_gdbarch_tdep::has_pauth(), and aarch64_gdbarch_tdep::pauth_reg_base.
Referenced by aarch64_linux_init_abi().
|
static |
Definition at line 816 of file aarch64-linux-tdep.c.
Referenced by aarch64_linux_init_abi().
|
static |
Definition at line 833 of file aarch64-linux-tdep.c.
References stap_parse_info::arg, stap_parse_info::arg_type, builtin_type::builtin_long, lookup_pointer_type(), stap_parse_info::saved_arg, and user_reg_map_name_to_regnum().
Referenced by aarch64_linux_init_abi().
|
static |
Definition at line 179 of file aarch64-linux-tdep.c.
References extract_unsigned_integer(), size, and target_read_memory().
Referenced by aarch64_linux_sigframe_init().
|
static |
Definition at line 478 of file aarch64-linux-tdep.c.
Referenced by aarch64_linux_iterate_over_regset_sections().
const struct regset aarch64_linux_fpregset |
Definition at line 494 of file aarch64-linux-tdep.c.
Referenced by aarch64_linux_iterate_over_regset_sections(), aarch64_linux_supply_sve_regset(), fill_fpregset(), and supply_fpregset().
|
static |
Definition at line 469 of file aarch64-linux-tdep.c.
const struct regset aarch64_linux_gregset |
Definition at line 488 of file aarch64-linux-tdep.c.
Referenced by aarch64_linux_iterate_over_regset_sections(), fill_gregset(), and supply_gregset().
|
static |
Definition at line 917 of file aarch64-linux-tdep.c.
Referenced by aarch64_linux_init_abi(), and aarch64_linux_syscall_record().
|
static |
Definition at line 450 of file aarch64-linux-tdep.c.
Referenced by aarch64_linux_init_abi().