GDB (xrefs)

Macros | Enumerations | Functions | Variables
/tmp/gdb-8.1/gdb/aarch64-linux-tdep.c File Reference
`#include "defs.h"`
`#include "gdbarch.h"`
`#include "arch-utils.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"`
`#include "auxv.h"`
`#include "elf/common.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)
#define | UNSUPPORTED_SYSCALL_MAP(SYSCALL)

## Enumerations
enum | aarch64_syscall { aarch64_sys_io_setup = 0, aarch64_sys_io_destroy = 1, aarch64_sys_io_submit = 2, aarch64_sys_io_cancel = 3, aarch64_sys_io_getevents = 4, aarch64_sys_setxattr = 5, aarch64_sys_lsetxattr = 6, aarch64_sys_fsetxattr = 7, aarch64_sys_getxattr = 8, aarch64_sys_lgetxattr = 9, aarch64_sys_fgetxattr = 10, aarch64_sys_listxattr = 11, aarch64_sys_llistxattr = 12, aarch64_sys_flistxattr = 13, aarch64_sys_removexattr = 14, aarch64_sys_lremovexattr = 15, aarch64_sys_fremovexattr = 16, aarch64_sys_getcwd = 17, aarch64_sys_lookup_dcookie = 18, aarch64_sys_eventfd2 = 19, aarch64_sys_epoll_create1 = 20, aarch64_sys_epoll_ctl = 21, aarch64_sys_epoll_pwait = 22, aarch64_sys_dup = 23, aarch64_sys_dup3 = 24, aarch64_sys_fcntl = 25, aarch64_sys_inotify_init1 = 26, aarch64_sys_inotify_add_watch = 27, aarch64_sys_inotify_rm_watch = 28, aarch64_sys_ioctl = 29, aarch64_sys_ioprio_set = 30, aarch64_sys_ioprio_get = 31, aarch64_sys_flock = 32, aarch64_sys_mknodat = 33, aarch64_sys_mkdirat = 34, aarch64_sys_unlinkat = 35, aarch64_sys_symlinkat = 36, aarch64_sys_linkat = 37, aarch64_sys_renameat = 38, aarch64_sys_umount2 = 39, aarch64_sys_mount = 40, aarch64_sys_pivot_root = 41, aarch64_sys_nfsservctl = 42, aarch64_sys_statfs = 43, aarch64_sys_fstatfs = 44, aarch64_sys_truncate = 45, aarch64_sys_ftruncate = 46, aarch64_sys_fallocate = 47, aarch64_sys_faccessat = 48, aarch64_sys_chdir = 49, aarch64_sys_fchdir = 50, aarch64_sys_chroot = 51, aarch64_sys_fchmod = 52, aarch64_sys_fchmodat = 53, aarch64_sys_fchownat = 54, aarch64_sys_fchown = 55, aarch64_sys_openat = 56, aarch64_sys_close = 57, aarch64_sys_vhangup = 58, aarch64_sys_pipe2 = 59, aarch64_sys_quotactl = 60, aarch64_sys_getdents64 = 61, aarch64_sys_lseek = 62, aarch64_sys_read = 63, aarch64_sys_write = 64, aarch64_sys_readv = 65, aarch64_sys_writev = 66, aarch64_sys_pread64 = 67, aarch64_sys_pwrite64 = 68, aarch64_sys_preadv = 69, aarch64_sys_pwritev = 70, aarch64_sys_sendfile = 71, aarch64_sys_pselect6 = 72, aarch64_sys_ppoll = 73, aarch64_sys_signalfd4 = 74, aarch64_sys_vmsplice = 75, aarch64_sys_splice = 76, aarch64_sys_tee = 77, aarch64_sys_readlinkat = 78, aarch64_sys_newfstatat = 79, aarch64_sys_fstat = 80, aarch64_sys_sync = 81, aarch64_sys_fsync = 82, aarch64_sys_fdatasync = 83, aarch64_sys_sync_file_range2 = 84, aarch64_sys_sync_file_range = 84, aarch64_sys_timerfd_create = 85, aarch64_sys_timerfd_settime = 86, aarch64_sys_timerfd_gettime = 87, aarch64_sys_utimensat = 88, aarch64_sys_acct = 89, aarch64_sys_capget = 90, aarch64_sys_capset = 91, aarch64_sys_personality = 92, aarch64_sys_exit = 93, aarch64_sys_exit_group = 94, aarch64_sys_waitid = 95, aarch64_sys_set_tid_address = 96, aarch64_sys_unshare = 97, aarch64_sys_futex = 98, aarch64_sys_set_robust_list = 99, aarch64_sys_get_robust_list = 100, aarch64_sys_nanosleep = 101, aarch64_sys_getitimer = 102, aarch64_sys_setitimer = 103, aarch64_sys_kexec_load = 104, aarch64_sys_init_module = 105, aarch64_sys_delete_module = 106, aarch64_sys_timer_create = 107, aarch64_sys_timer_gettime = 108, aarch64_sys_timer_getoverrun = 109, aarch64_sys_timer_settime = 110, aarch64_sys_timer_delete = 111, aarch64_sys_clock_settime = 112, aarch64_sys_clock_gettime = 113, aarch64_sys_clock_getres = 114, aarch64_sys_clock_nanosleep = 115, aarch64_sys_syslog = 116, aarch64_sys_ptrace = 117, aarch64_sys_sched_setparam = 118, aarch64_sys_sched_setscheduler = 119, aarch64_sys_sched_getscheduler = 120, aarch64_sys_sched_getparam = 121, aarch64_sys_sched_setaffinity = 122, aarch64_sys_sched_getaffinity = 123, aarch64_sys_sched_yield = 124, aarch64_sys_sched_get_priority_max = 125, aarch64_sys_sched_get_priority_min = 126, aarch64_sys_sched_rr_get_interval = 127, aarch64_sys_kill = 129, aarch64_sys_tkill = 130, aarch64_sys_tgkill = 131, aarch64_sys_sigaltstack = 132, aarch64_sys_rt_sigsuspend = 133, aarch64_sys_rt_sigaction = 134, aarch64_sys_rt_sigprocmask = 135, aarch64_sys_rt_sigpending = 136, aarch64_sys_rt_sigtimedwait = 137, aarch64_sys_rt_sigqueueinfo = 138, aarch64_sys_rt_sigreturn = 139, aarch64_sys_setpriority = 140, aarch64_sys_getpriority = 141, aarch64_sys_reboot = 142, aarch64_sys_setregid = 143, aarch64_sys_setgid = 144, aarch64_sys_setreuid = 145, aarch64_sys_setuid = 146, aarch64_sys_setresuid = 147, aarch64_sys_getresuid = 148, aarch64_sys_setresgid = 149, aarch64_sys_getresgid = 150, aarch64_sys_setfsuid = 151, aarch64_sys_setfsgid = 152, aarch64_sys_times = 153, aarch64_sys_setpgid = 154, aarch64_sys_getpgid = 155, aarch64_sys_getsid = 156, aarch64_sys_setsid = 157, aarch64_sys_getgroups = 158, aarch64_sys_setgroups = 159, aarch64_sys_uname = 160, aarch64_sys_sethostname = 161, aarch64_sys_setdomainname = 162, aarch64_sys_getrlimit = 163, aarch64_sys_setrlimit = 164, aarch64_sys_getrusage = 165, aarch64_sys_umask = 166, aarch64_sys_prctl = 167, aarch64_sys_getcpu = 168, aarch64_sys_gettimeofday = 169, aarch64_sys_settimeofday = 170, aarch64_sys_adjtimex = 171, aarch64_sys_getpid = 172, aarch64_sys_getppid = 173, aarch64_sys_getuid = 174, aarch64_sys_geteuid = 175, aarch64_sys_getgid = 176, aarch64_sys_getegid = 177, aarch64_sys_gettid = 178, aarch64_sys_sysinfo = 179, aarch64_sys_mq_open = 180, aarch64_sys_mq_unlink = 181, aarch64_sys_mq_timedsend = 182, aarch64_sys_mq_timedreceive = 183, aarch64_sys_mq_notify = 184, aarch64_sys_mq_getsetattr = 185, aarch64_sys_msgget = 186, aarch64_sys_msgctl = 187, aarch64_sys_msgrcv = 188, aarch64_sys_msgsnd = 189, aarch64_sys_semget = 190, aarch64_sys_semctl = 191, aarch64_sys_semtimedop = 192, aarch64_sys_semop = 193, aarch64_sys_shmget = 194, aarch64_sys_shmctl = 195, aarch64_sys_shmat = 196, aarch64_sys_shmdt = 197, aarch64_sys_socket = 198, aarch64_sys_socketpair = 199, aarch64_sys_bind = 200, aarch64_sys_listen = 201, aarch64_sys_accept = 202, aarch64_sys_connect = 203, aarch64_sys_getsockname = 204, aarch64_sys_getpeername = 205, aarch64_sys_sendto = 206, aarch64_sys_recvfrom = 207, aarch64_sys_setsockopt = 208, aarch64_sys_getsockopt = 209, aarch64_sys_shutdown = 210, aarch64_sys_sendmsg = 211, aarch64_sys_recvmsg = 212, aarch64_sys_readahead = 213, aarch64_sys_brk = 214, aarch64_sys_munmap = 215, aarch64_sys_mremap = 216, aarch64_sys_add_key = 217, aarch64_sys_request_key = 218, aarch64_sys_keyctl = 219, aarch64_sys_clone = 220, aarch64_sys_execve = 221, aarch64_sys_mmap = 222, aarch64_sys_fadvise64 = 223, aarch64_sys_swapon = 224, aarch64_sys_swapoff = 225, aarch64_sys_mprotect = 226, aarch64_sys_msync = 227, aarch64_sys_mlock = 228, aarch64_sys_munlock = 229, aarch64_sys_mlockall = 230, aarch64_sys_munlockall = 231, aarch64_sys_mincore = 232, aarch64_sys_madvise = 233, aarch64_sys_remap_file_pages = 234, aarch64_sys_mbind = 235, aarch64_sys_get_mempolicy = 236, aarch64_sys_set_mempolicy = 237, aarch64_sys_migrate_pages = 238, aarch64_sys_move_pages = 239, aarch64_sys_rt_tgsigqueueinfo = 240, aarch64_sys_perf_event_open = 241, aarch64_sys_accept4 = 242, aarch64_sys_recvmmsg = 243, aarch64_sys_wait4 = 260, aarch64_sys_prlimit64 = 261, aarch64_sys_fanotify_init = 262, aarch64_sys_fanotify_mark = 263, aarch64_sys_name_to_handle_at = 264, aarch64_sys_open_by_handle_at = 265, aarch64_sys_clock_adjtime = 266, aarch64_sys_syncfs = 267, aarch64_sys_setns = 268, aarch64_sys_sendmmsg = 269, aarch64_sys_process_vm_readv = 270, aarch64_sys_process_vm_writev = 271, aarch64_sys_kcmp = 272, aarch64_sys_finit_module = 273, aarch64_sys_sched_setattr = 274, aarch64_sys_sched_getattr = 275 }

## 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 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 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 char * | aarch64_linux_gcc_target_options (struct gdbarch *gdbarch)
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

## Macro Definition Documentation

## ◆ AARCH64_RT_SIGFRAME_UCONTEXT_OFFSET

#define AARCH64_RT_SIGFRAME_UCONTEXT_OFFSET 128

Definition at line 136 of file aarch64-linux-tdep.c.

Referenced by aarch64_linux_sigframe_init().

## ◆ AARCH64_SIGCONTEXT_REG_SIZE

#define AARCH64_SIGCONTEXT_REG_SIZE 8

Definition at line 135 of file aarch64-linux-tdep.c.

Referenced by aarch64_linux_sigframe_init().

## ◆ AARCH64_SIGCONTEXT_XO_OFFSET

#define AARCH64_SIGCONTEXT_XO_OFFSET 8

Definition at line 138 of file aarch64-linux-tdep.c.

Referenced by aarch64_linux_sigframe_init().

## ◆ AARCH64_UCONTEXT_SIGCONTEXT_OFFSET

#define AARCH64_UCONTEXT_SIGCONTEXT_OFFSET 176

Definition at line 137 of file aarch64-linux-tdep.c.

Referenced by aarch64_linux_sigframe_init().

## ◆ SYSCALL_MAP

#define SYSCALL_MAP | ( |  | SYSCALL | ) |

Value:
case aarch64_sys_##SYSCALL: \
return gdb_sys_##SYSCALL

Referenced by aarch64_canonicalize_syscall().

## ◆ UNSUPPORTED_SYSCALL_MAP

#define UNSUPPORTED_SYSCALL_MAP | ( |  | SYSCALL | ) |

Value:
case aarch64_sys_##SYSCALL: \
return gdb_sys_no_syscall
gdb_sys_no_syscall
Definition: linux-record.h:185

Referenced by aarch64_canonicalize_syscall().

## Enumeration Type Documentation

## ◆ aarch64_syscall

enum aarch64_syscall

Enumerator
aarch64_sys_io_setup |
aarch64_sys_io_destroy |
aarch64_sys_io_submit |
aarch64_sys_io_cancel |
aarch64_sys_io_getevents |
aarch64_sys_setxattr |
aarch64_sys_lsetxattr |
aarch64_sys_fsetxattr |
aarch64_sys_getxattr |
aarch64_sys_lgetxattr |
aarch64_sys_fgetxattr |
aarch64_sys_listxattr |
aarch64_sys_llistxattr |
aarch64_sys_flistxattr |
aarch64_sys_removexattr |
aarch64_sys_lremovexattr |
aarch64_sys_fremovexattr |
aarch64_sys_getcwd |
aarch64_sys_lookup_dcookie |
aarch64_sys_eventfd2 |
aarch64_sys_epoll_create1 |
aarch64_sys_epoll_ctl |
aarch64_sys_epoll_pwait |
aarch64_sys_dup |
aarch64_sys_dup3 |
aarch64_sys_fcntl |
aarch64_sys_inotify_init1 |
aarch64_sys_inotify_add_watch |
aarch64_sys_inotify_rm_watch |
aarch64_sys_ioctl |
aarch64_sys_ioprio_set |
aarch64_sys_ioprio_get |
aarch64_sys_flock |
aarch64_sys_mknodat |
aarch64_sys_mkdirat |
aarch64_sys_unlinkat |
aarch64_sys_symlinkat |
aarch64_sys_linkat |
aarch64_sys_renameat |
aarch64_sys_umount2 |
aarch64_sys_mount |
aarch64_sys_pivot_root |
aarch64_sys_nfsservctl |
aarch64_sys_statfs |
aarch64_sys_fstatfs |
aarch64_sys_truncate |
aarch64_sys_ftruncate |
aarch64_sys_fallocate |
aarch64_sys_faccessat |
aarch64_sys_chdir |
aarch64_sys_fchdir |
aarch64_sys_chroot |
aarch64_sys_fchmod |
aarch64_sys_fchmodat |
aarch64_sys_fchownat |
aarch64_sys_fchown |
aarch64_sys_openat |
aarch64_sys_close |
aarch64_sys_vhangup |
aarch64_sys_pipe2 |
aarch64_sys_quotactl |
aarch64_sys_getdents64 |
aarch64_sys_lseek |
aarch64_sys_read |
aarch64_sys_write |
aarch64_sys_readv |
aarch64_sys_writev |
aarch64_sys_pread64 |
aarch64_sys_pwrite64 |
aarch64_sys_preadv |
aarch64_sys_pwritev |
aarch64_sys_sendfile |
aarch64_sys_pselect6 |
aarch64_sys_ppoll |
aarch64_sys_signalfd4 |
aarch64_sys_vmsplice |
aarch64_sys_splice |
aarch64_sys_tee |
aarch64_sys_readlinkat |
aarch64_sys_newfstatat |
aarch64_sys_fstat |
aarch64_sys_sync |
aarch64_sys_fsync |
aarch64_sys_fdatasync |
aarch64_sys_sync_file_range2 |
aarch64_sys_sync_file_range |
aarch64_sys_timerfd_create |
aarch64_sys_timerfd_settime |
aarch64_sys_timerfd_gettime |
aarch64_sys_utimensat |
aarch64_sys_acct |
aarch64_sys_capget |
aarch64_sys_capset |
aarch64_sys_personality |
aarch64_sys_exit |
aarch64_sys_exit_group |
aarch64_sys_waitid |
aarch64_sys_set_tid_address |
aarch64_sys_unshare |
aarch64_sys_futex |
aarch64_sys_set_robust_list |
aarch64_sys_get_robust_list |
aarch64_sys_nanosleep |
aarch64_sys_getitimer |
aarch64_sys_setitimer |
aarch64_sys_kexec_load |
aarch64_sys_init_module |
aarch64_sys_delete_module |
aarch64_sys_timer_create |
aarch64_sys_timer_gettime |
aarch64_sys_timer_getoverrun |
aarch64_sys_timer_settime |
aarch64_sys_timer_delete |
aarch64_sys_clock_settime |
aarch64_sys_clock_gettime |
aarch64_sys_clock_getres |
aarch64_sys_clock_nanosleep |
aarch64_sys_syslog |
aarch64_sys_ptrace |
aarch64_sys_sched_setparam |
aarch64_sys_sched_setscheduler |
aarch64_sys_sched_getscheduler |
aarch64_sys_sched_getparam |
aarch64_sys_sched_setaffinity |
aarch64_sys_sched_getaffinity |
aarch64_sys_sched_yield |
aarch64_sys_sched_get_priority_max |
aarch64_sys_sched_get_priority_min |
aarch64_sys_sched_rr_get_interval |
aarch64_sys_kill |
aarch64_sys_tkill |
aarch64_sys_tgkill |
aarch64_sys_sigaltstack |
aarch64_sys_rt_sigsuspend |
aarch64_sys_rt_sigaction |
aarch64_sys_rt_sigprocmask |
aarch64_sys_rt_sigpending |
aarch64_sys_rt_sigtimedwait |
aarch64_sys_rt_sigqueueinfo |
aarch64_sys_rt_sigreturn |
aarch64_sys_setpriority |
aarch64_sys_getpriority |
aarch64_sys_reboot |
aarch64_sys_setregid |
aarch64_sys_setgid |
aarch64_sys_setreuid |
aarch64_sys_setuid |
aarch64_sys_setresuid |
aarch64_sys_getresuid |
aarch64_sys_setresgid |
aarch64_sys_getresgid |
aarch64_sys_setfsuid |
aarch64_sys_setfsgid |
aarch64_sys_times |
aarch64_sys_setpgid |
aarch64_sys_getpgid |
aarch64_sys_getsid |
aarch64_sys_setsid |
aarch64_sys_getgroups |
aarch64_sys_setgroups |
aarch64_sys_uname |
aarch64_sys_sethostname |
aarch64_sys_setdomainname |
aarch64_sys_getrlimit |
aarch64_sys_setrlimit |
aarch64_sys_getrusage |
aarch64_sys_umask |
aarch64_sys_prctl |
aarch64_sys_getcpu |
aarch64_sys_gettimeofday |
aarch64_sys_settimeofday |
aarch64_sys_adjtimex |
aarch64_sys_getpid |
aarch64_sys_getppid |
aarch64_sys_getuid |
aarch64_sys_geteuid |
aarch64_sys_getgid |
aarch64_sys_getegid |
aarch64_sys_gettid |
aarch64_sys_sysinfo |
aarch64_sys_mq_open |
aarch64_sys_mq_unlink |
aarch64_sys_mq_timedsend |
aarch64_sys_mq_timedreceive |
aarch64_sys_mq_notify |
aarch64_sys_mq_getsetattr |
aarch64_sys_msgget |
aarch64_sys_msgctl |
aarch64_sys_msgrcv |
aarch64_sys_msgsnd |
aarch64_sys_semget |
aarch64_sys_semctl |
aarch64_sys_semtimedop |
aarch64_sys_semop |
aarch64_sys_shmget |
aarch64_sys_shmctl |
aarch64_sys_shmat |
aarch64_sys_shmdt |
aarch64_sys_socket |
aarch64_sys_socketpair |
aarch64_sys_bind |
aarch64_sys_listen |
aarch64_sys_accept |
aarch64_sys_connect |
aarch64_sys_getsockname |
aarch64_sys_getpeername |
aarch64_sys_sendto |
aarch64_sys_recvfrom |
aarch64_sys_setsockopt |
aarch64_sys_getsockopt |
aarch64_sys_shutdown |
aarch64_sys_sendmsg |
aarch64_sys_recvmsg |
aarch64_sys_readahead |
aarch64_sys_brk |
aarch64_sys_munmap |
aarch64_sys_mremap |
aarch64_sys_add_key |
aarch64_sys_request_key |
aarch64_sys_keyctl |
aarch64_sys_clone |
aarch64_sys_execve |
aarch64_sys_mmap |
aarch64_sys_fadvise64 |
aarch64_sys_swapon |
aarch64_sys_swapoff |
aarch64_sys_mprotect |
aarch64_sys_msync |
aarch64_sys_mlock |
aarch64_sys_munlock |
aarch64_sys_mlockall |
aarch64_sys_munlockall |
aarch64_sys_mincore |
aarch64_sys_madvise |
aarch64_sys_remap_file_pages |
aarch64_sys_mbind |
aarch64_sys_get_mempolicy |
aarch64_sys_set_mempolicy |
aarch64_sys_migrate_pages |
aarch64_sys_move_pages |
aarch64_sys_rt_tgsigqueueinfo |
aarch64_sys_perf_event_open |
aarch64_sys_accept4 |
aarch64_sys_recvmmsg |
aarch64_sys_wait4 |
aarch64_sys_prlimit64 |
aarch64_sys_fanotify_init |
aarch64_sys_fanotify_mark |
aarch64_sys_name_to_handle_at |
aarch64_sys_open_by_handle_at |
aarch64_sys_clock_adjtime |
aarch64_sys_syncfs |
aarch64_sys_setns |
aarch64_sys_sendmmsg |
aarch64_sys_process_vm_readv |
aarch64_sys_process_vm_writev |
aarch64_sys_kcmp |
aarch64_sys_finit_module |
aarch64_sys_sched_setattr |
aarch64_sys_sched_getattr |

Definition at line 393 of file aarch64-linux-tdep.c.

## Function Documentation

## ◆ _initialize_aarch64_linux_tdep()

void _initialize_aarch64_linux_tdep | ( | void |  | ) |

Definition at line 1242 of file aarch64-linux-tdep.c.

References aarch64_linux_init_abi(), GDB_OSABI_LINUX, and gdbarch_register_osabi().

## ◆ aarch64_all_but_pc_registers_record()

static int aarch64_all_but_pc_registers_record | ( | struct regcache * | regcache | ) |
| static

Definition at line 944 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().

## ◆ aarch64_canonicalize_syscall()

static enum gdb_syscall aarch64_canonicalize_syscall | ( | enum aarch64_syscall | syscall_number | ) |
| static

Definition at line 661 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().

## ◆ aarch64_linux_core_read_description()

static const struct target_desc* aarch64_linux_core_read_description | ( | struct gdbarch * | gdbarch,
|  | struct target_ops * | target,
|  | bfd * | abfd
| ) |  |
| static

Definition at line 239 of file aarch64-linux-tdep.c.

References aarch64_read_description(), and target_auxv_search().

Referenced by aarch64_linux_init_abi().

## ◆ aarch64_linux_gcc_target_options()

static char* aarch64_linux_gcc_target_options | ( | struct gdbarch * | gdbarch | ) |
| static

Definition at line 1007 of file aarch64-linux-tdep.c.

Referenced by aarch64_linux_init_abi().

## ◆ aarch64_linux_get_syscall_number()

static LONGEST aarch64_linux_get_syscall_number | ( | struct gdbarch * | gdbarch,
|  | ptid_t | ptid
| ) |  |
| static

Definition at line 367 of file aarch64-linux-tdep.c.

References AARCH64_DWARF_X0, extract_signed_integer(), gdbarch_byte_order(), get_thread_regcache(), regcache::ptid(), regcache_cooked_read(), and X_REGISTER_SIZE.

Referenced by aarch64_linux_init_abi().

## ◆ aarch64_linux_init_abi()

static void aarch64_linux_init_abi | ( | struct gdbarch_info | info,
|  | struct gdbarch * | gdbarch
| ) |  |
| static

Definition at line 1014 of file aarch64-linux-tdep.c.

References aarch64_displaced_step_copy_insn(), aarch64_displaced_step_fixup(), aarch64_displaced_step_hw_singlestep(), aarch64_linux_core_read_description(), aarch64_linux_gcc_target_options(), aarch64_linux_get_syscall_number(), aarch64_linux_iterate_over_regset_sections(), aarch64_linux_record_tdep, aarch64_linux_rt_sigframe, 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, DISPLACED_MODIFIED_INSNS, 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(), glibc_skip_solib_resolver(), 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_displaced_step_location(), linux_init_abi(), gdbarch_tdep::lowest_pc, set_gdbarch_core_read_description(), set_gdbarch_displaced_step_copy_insn(), set_gdbarch_displaced_step_fixup(), set_gdbarch_displaced_step_hw_singlestep(), set_gdbarch_displaced_step_location(), set_gdbarch_fetch_tls_load_module_address(), set_gdbarch_gcc_target_options(), set_gdbarch_get_syscall_number(), set_gdbarch_iterate_over_regset_sections(), set_gdbarch_max_insn_length(), set_gdbarch_process_record(), 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_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(), svr4_lp64_fetch_link_map_offsets(), TARGET_CHAR_BIT, and tramp_frame_prepend_unwinder().

Referenced by _initialize_aarch64_linux_tdep().

## ◆ aarch64_linux_iterate_over_regset_sections()

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

Definition at line 225 of file aarch64-linux-tdep.c.

References aarch64_linux_fpregset, aarch64_linux_gregset, AARCH64_LINUX_SIZEOF_FPREGSET, and AARCH64_LINUX_SIZEOF_GREGSET.

Referenced by aarch64_linux_init_abi().

## ◆ aarch64_linux_sigframe_init()

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

Definition at line 143 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(), func, get_frame_register_unsigned(), trad_frame_set_id(), and trad_frame_set_reg_addr().

## ◆ aarch64_linux_syscall_record()

static int aarch64_linux_syscall_record | ( | struct regcache * | regcache,
|  | unsigned long | svc_number
| ) |  |
| static

Definition at line 961 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().

## ◆ aarch64_stap_is_single_operand()

static int aarch64_stap_is_single_operand | ( | struct gdbarch * | gdbarch,
|  | const char * | s
| ) |  |
| static

Definition at line 254 of file aarch64-linux-tdep.c.

Referenced by aarch64_linux_init_abi().

## ◆ aarch64_stap_parse_special_token()

static int aarch64_stap_parse_special_token | ( | struct gdbarch * | gdbarch,
|  | struct stap_parse_info * | p
| ) |  |
| static

Definition at line 271 of file aarch64-linux-tdep.c.

References _, stap_parse_info::arg, stap_parse_info::arg_type, error(), stoken::length, lookup_pointer_type(), stap_parse_info::pstate, stoken::ptr, stap_parse_info::saved_arg, skip_spaces(), 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().

## Variable Documentation

## ◆ aarch64_linux_fpregmap

const struct regcache_map_entry aarch64_linux_fpregmap[]
| static

Initial value:
=
{
{ 32, AARCH64_V0_REGNUM, 16 },
{ 1, AARCH64_FPSR_REGNUM, 4 },
{ 1, AARCH64_FPCR_REGNUM, 4 },
{ 0 }
}
AARCH64_FPSR_REGNUM
Definition: aarch64.h:38
AARCH64_FPCR_REGNUM
Definition: aarch64.h:39
AARCH64_V0_REGNUM
Definition: aarch64.h:36

Definition at line 200 of file aarch64-linux-tdep.c.

## ◆ aarch64_linux_fpregset

const struct regset aarch64_linux_fpregset

Initial value:
=
{
aarch64_linux_fpregmap,
regcache_supply_regset, regcache_collect_regset
}
regcache_supply_regset
void regcache_supply_regset(const struct regset *regset, struct regcache *regcache, int regnum, const void *buf, size_t size)
Definition: regcache.c:1192
aarch64_linux_fpregmap
static const struct regcache_map_entry aarch64_linux_fpregmap[]
Definition: aarch64-linux-tdep.c:200
regcache_collect_regset
void regcache_collect_regset(const struct regset *regset, const struct regcache *regcache, int regnum, void *buf, size_t size)
Definition: regcache.c:1211

Definition at line 216 of file aarch64-linux-tdep.c.

Referenced by aarch64_linux_iterate_over_regset_sections(), fill_fpregset(), and supply_fpregset().

## ◆ aarch64_linux_gregmap

const struct regcache_map_entry aarch64_linux_gregmap[]
| static

Initial value:
=
{
{ 31, AARCH64_X0_REGNUM, 8 },
{ 1, AARCH64_SP_REGNUM, 8 },
{ 1, AARCH64_PC_REGNUM, 8 },
{ 1, AARCH64_CPSR_REGNUM, 8 },
{ 0 }
}
AARCH64_CPSR_REGNUM
Definition: aarch64.h:35
AARCH64_SP_REGNUM
Definition: aarch64.h:33
AARCH64_PC_REGNUM
Definition: aarch64.h:34
AARCH64_X0_REGNUM
Definition: aarch64.h:30

Definition at line 191 of file aarch64-linux-tdep.c.

## ◆ aarch64_linux_gregset

const struct regset aarch64_linux_gregset

Initial value:
=
{
aarch64_linux_gregmap,
regcache_supply_regset, regcache_collect_regset
}
regcache_supply_regset
void regcache_supply_regset(const struct regset *regset, struct regcache *regcache, int regnum, const void *buf, size_t size)
Definition: regcache.c:1192
aarch64_linux_gregmap
static const struct regcache_map_entry aarch64_linux_gregmap[]
Definition: aarch64-linux-tdep.c:191
regcache_collect_regset
void regcache_collect_regset(const struct regset *regset, const struct regcache *regcache, int regnum, void *buf, size_t size)
Definition: regcache.c:1211

Definition at line 210 of file aarch64-linux-tdep.c.

Referenced by aarch64_linux_iterate_over_regset_sections(), fill_gregset(), and supply_gregset().

## ◆ aarch64_linux_record_tdep

struct linux_record_tdep aarch64_linux_record_tdep

Definition at line 388 of file aarch64-linux-tdep.c.

Referenced by aarch64_linux_init_abi(), and aarch64_linux_syscall_record().

## ◆ aarch64_linux_rt_sigframe

const struct tramp_frame aarch64_linux_rt_sigframe
| static

Initial value:
=
{
SIGTRAMP_FRAME,
4,
{
{0xd2801168, -1},
{0xd4000001, -1},
{TRAMP_SENTINEL_INSN, -1}
},
aarch64_linux_sigframe_init
}
TRAMP_SENTINEL_INSN
#define TRAMP_SENTINEL_INSN
Definition: tramp-frame.h:44
SIGTRAMP_FRAME
Definition: frame.h:255
aarch64_linux_sigframe_init
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)
Definition: aarch64-linux-tdep.c:143

Definition at line 172 of file aarch64-linux-tdep.c.

Referenced by aarch64_linux_init_abi().