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 "inferior.h"
#include "regcache.h"
#include "regset.h"
#include "cli/cli-utils.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"
Go to the source code of this file.
Macros | |
#define | AARCH64_SIGCONTEXT_REG_SIZE 8 |
#define | AARCH64_RT_SIGFRAME_UCONTEXT_OFFSET 128 |
#define | AARCH64_UCONTEXT_SIGCONTEXT_OFFSET 176 |
#define | AARCH64_SIGCONTEXT_XO_OFFSET 8 |
#define | SYSCALL_MAP(SYSCALL) |
Functions | |
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) |
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 int | aarch64_stap_is_single_operand (struct gdbarch *gdbarch, const char *s) |
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) |
static enum gdb_syscall | aarch64_canonicalize_syscall (enum aarch64_syscall syscall_number) |
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 void | aarch64_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch) |
void | _initialize_aarch64_linux_tdep (void) |
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 |
struct linux_record_tdep | aarch64_linux_record_tdep |
initialize_file_ftype | _initialize_aarch64_linux_tdep |
#define AARCH64_RT_SIGFRAME_UCONTEXT_OFFSET 128 |
Definition at line 133 of file aarch64-linux-tdep.c.
Referenced by aarch64_linux_sigframe_init().
#define AARCH64_SIGCONTEXT_REG_SIZE 8 |
Definition at line 132 of file aarch64-linux-tdep.c.
Referenced by aarch64_linux_sigframe_init().
#define AARCH64_SIGCONTEXT_XO_OFFSET 8 |
Definition at line 135 of file aarch64-linux-tdep.c.
Referenced by aarch64_linux_sigframe_init().
#define AARCH64_UCONTEXT_SIGCONTEXT_OFFSET 176 |
Definition at line 134 of file aarch64-linux-tdep.c.
Referenced by aarch64_linux_sigframe_init().
#define SYSCALL_MAP | ( | SYSCALL | ) |
Referenced by aarch64_canonicalize_syscall().
enum aarch64_syscall |
Definition at line 377 of file aarch64-linux-tdep.c.
void _initialize_aarch64_linux_tdep | ( | void | ) |
Definition at line 1159 of file aarch64-linux-tdep.c.
References aarch64_linux_init_abi(), GDB_OSABI_LINUX, and gdbarch_register_osabi().
Definition at line 881 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 645 of file aarch64-linux-tdep.c.
References aarch64_sys_epoll_create1, aarch64_sys_mmap, gdb_sys_epoll_create, gdb_sys_mmap2, ptrace(), read(), and SYSCALL_MAP.
Referenced by aarch64_linux_syscall_record().
Definition at line 351 of file aarch64-linux-tdep.c.
References AARCH64_DWARF_X0, extract_signed_integer(), gdbarch_byte_order(), get_thread_regcache(), regcache_cooked_read(), and X_REGISTER_SIZE.
Referenced by aarch64_linux_init_abi().
|
static |
Definition at line 941 of file aarch64-linux-tdep.c.
References aarch64_linux_get_syscall_number(), aarch64_linux_iterate_over_regset_sections(), aarch64_linux_record_tdep, aarch64_linux_syscall_record(), aarch64_process_record(), aarch64_stap_is_single_operand(), aarch64_stap_parse_special_token(), 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(), gdbarch_tdep(), 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, gdbarch_tdep::jb_pc, linux_init_abi(), gdbarch_tdep::lowest_pc, set_gdbarch_fetch_tls_load_module_address(), set_gdbarch_get_syscall_number(), set_gdbarch_iterate_over_regset_sections(), set_gdbarch_process_record(), 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_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_dirent, linux_record_tdep::size_dirent64, 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_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, 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_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(), svr4_lp64_fetch_link_map_offsets(), TARGET_CHAR_BIT, and tramp_frame_prepend_unwinder().
Referenced by _initialize_aarch64_linux_tdep().
|
static |
Definition at line 223 of file aarch64-linux-tdep.c.
References AARCH64_LINUX_SIZEOF_FPREGSET, and AARCH64_LINUX_SIZEOF_GREGSET.
Referenced by aarch64_linux_init_abi().
|
static |
Definition at line 140 of file aarch64-linux-tdep.c.
References AARCH64_PC_REGNUM, AARCH64_RT_SIGFRAME_UCONTEXT_OFFSET, AARCH64_SIGCONTEXT_REG_SIZE, AARCH64_SIGCONTEXT_XO_OFFSET, AARCH64_SP_REGNUM, AARCH64_UCONTEXT_SIGCONTEXT_OFFSET, AARCH64_X0_REGNUM, frame_id_build(), get_frame_arch(), get_frame_register_unsigned(), trad_frame_set_id(), and trad_frame_set_reg_addr().
|
static |
Definition at line 898 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_sys_rt_sigreturn, gdb_sys_sigreturn, plongest(), printf_unfiltered(), record_full_arch_list_add_reg(), and record_linux_system_call().
Referenced by aarch64_linux_init_abi().
Definition at line 238 of file aarch64-linux-tdep.c.
Referenced by aarch64_linux_init_abi().
|
static |
Definition at line 255 of file aarch64-linux-tdep.c.
References _, stap_parse_info::arg, stap_parse_info::arg_type, error(), len, stoken::length, lookup_pointer_type(), stap_parse_info::pstate, stoken::ptr, stap_parse_info::saved_arg, skip_spaces_const(), user_reg_map_name_to_regnum(), write_exp_elt_longcst(), write_exp_elt_opcode(), write_exp_elt_type(), and write_exp_string().
Referenced by aarch64_linux_init_abi().
initialize_file_ftype _initialize_aarch64_linux_tdep |
|
static |
Definition at line 198 of file aarch64-linux-tdep.c.
Definition at line 214 of file aarch64-linux-tdep.c.
Referenced by fill_fpregset(), and supply_fpregset().
|
static |
Definition at line 189 of file aarch64-linux-tdep.c.
Definition at line 208 of file aarch64-linux-tdep.c.
Referenced by fill_gregset(), and supply_gregset().
struct linux_record_tdep aarch64_linux_record_tdep |
Definition at line 372 of file aarch64-linux-tdep.c.
Referenced by aarch64_linux_init_abi(), and aarch64_linux_syscall_record().
|
static |
Definition at line 170 of file aarch64-linux-tdep.c.