GDB (xrefs)
|
#include "defs.h"
#include "arch-utils.h"
#include "frame.h"
#include "gdbcore.h"
#include "regcache.h"
#include "osabi.h"
#include "symtab.h"
#include "gdbtypes.h"
#include "reggroups.h"
#include "regset.h"
#include "amd64-linux-tdep.h"
#include "i386-linux-tdep.h"
#include "linux-tdep.h"
#include "i386-xstate.h"
#include "gdb_string.h"
#include "amd64-tdep.h"
#include "solib-svr4.h"
#include "xml-syscall.h"
#include "glibc-tdep.h"
#include "features/i386/amd64-linux.c"
#include "features/i386/amd64-avx-linux.c"
#include "features/i386/x32-linux.c"
#include "features/i386/x32-avx-linux.c"
#include "record-full.h"
#include "linux-record.h"
Go to the source code of this file.
#define AMD64_LINUX_frame_size 560 |
Definition at line 1244 of file amd64-linux-tdep.c.
Referenced by amd64_linux_record_signal().
#define AMD64_LINUX_redzone 128 |
Definition at line 1242 of file amd64-linux-tdep.c.
Referenced by amd64_linux_record_signal().
#define AMD64_LINUX_UCONTEXT_SIGCONTEXT_OFFSET 40 |
Definition at line 194 of file amd64-linux-tdep.c.
Referenced by amd64_linux_sigcontext_addr().
#define AMD64_LINUX_xstate 512 |
Definition at line 1243 of file amd64-linux-tdep.c.
Referenced by amd64_linux_record_signal().
#define LINUX_SIGTRAMP_INSN0 0x48 /* mov $NNNNNNNN, %rax */ |
Definition at line 105 of file amd64-linux-tdep.c.
Referenced by amd64_linux_sigtramp_start().
#define LINUX_SIGTRAMP_INSN1 0x0f /* syscall */ |
Definition at line 107 of file amd64-linux-tdep.c.
Referenced by amd64_linux_sigtramp_start().
#define LINUX_SIGTRAMP_LEN (sizeof amd64_linux_sigtramp_code) |
Definition at line 126 of file amd64-linux-tdep.c.
Referenced by amd64_linux_sigtramp_start().
#define LINUX_SIGTRAMP_OFFSET0 0 |
Definition at line 106 of file amd64-linux-tdep.c.
#define LINUX_SIGTRAMP_OFFSET1 7 |
Definition at line 108 of file amd64-linux-tdep.c.
Referenced by amd64_linux_sigtramp_start().
#define RECORD_ARCH_GET_FS 0x1003 |
Definition at line 1173 of file amd64-linux-tdep.c.
Referenced by amd64_linux_syscall_record().
#define RECORD_ARCH_GET_GS 0x1004 |
Definition at line 1174 of file amd64-linux-tdep.c.
Referenced by amd64_linux_syscall_record().
#define XML_SYSCALL_FILENAME_AMD64 "syscalls/amd64-linux.xml" |
Definition at line 49 of file amd64-linux-tdep.c.
Referenced by amd64_linux_init_abi_common().
void _initialize_amd64_linux_tdep | ( | void | ) |
Definition at line 1616 of file amd64-linux-tdep.c.
References amd64_linux_init_abi(), amd64_x32_linux_init_abi(), GDB_OSABI_LINUX, gdbarch_register_osabi(), initialize_tdesc_amd64_avx_linux(), initialize_tdesc_amd64_linux(), initialize_tdesc_x32_avx_linux(), and initialize_tdesc_x32_linux().
static int amd64_all_but_ip_registers_record | ( | struct regcache * | regcache | ) | [static] |
Definition at line 314 of file amd64-linux-tdep.c.
References AMD64_EFLAGS_REGNUM, AMD64_R10_REGNUM, AMD64_R11_REGNUM, AMD64_R12_REGNUM, AMD64_R13_REGNUM, AMD64_R14_REGNUM, AMD64_R15_REGNUM, AMD64_R8_REGNUM, AMD64_R9_REGNUM, AMD64_RAX_REGNUM, AMD64_RBP_REGNUM, AMD64_RBX_REGNUM, AMD64_RCX_REGNUM, AMD64_RDI_REGNUM, AMD64_RDX_REGNUM, AMD64_RSI_REGNUM, AMD64_RSP_REGNUM, and record_full_arch_list_add_reg().
Referenced by amd64_linux_record_signal(), and amd64_linux_syscall_record().
static enum gdb_syscall amd64_canonicalize_syscall | ( | enum amd64_syscall | syscall_number | ) | [static] |
Definition at line 359 of file amd64-linux-tdep.c.
References amd64_sys_accept, amd64_sys_access, amd64_sys_acct, amd64_sys_add_key, amd64_sys_adjtimex, amd64_sys_alarm, amd64_sys_arch_prctl, amd64_sys_bind, amd64_sys_brk, amd64_sys_capget, amd64_sys_capset, amd64_sys_chdir, amd64_sys_chmod, amd64_sys_chown, amd64_sys_chroot, amd64_sys_clock_getres, amd64_sys_clock_gettime, amd64_sys_clock_nanosleep, amd64_sys_clock_settime, amd64_sys_clone, amd64_sys_close, amd64_sys_connect, amd64_sys_creat, amd64_sys_delete_module, amd64_sys_dup, amd64_sys_dup2, amd64_sys_epoll_create, amd64_sys_epoll_ctl, amd64_sys_epoll_wait, amd64_sys_execve, amd64_sys_exit, amd64_sys_exit_group, amd64_sys_faccessat, amd64_sys_fadvise64, amd64_sys_fchdir, amd64_sys_fchmod, amd64_sys_fchmodat, amd64_sys_fchown, amd64_sys_fchownat, amd64_sys_fcntl, amd64_sys_fdatasync, amd64_sys_fgetxattr, amd64_sys_flistxattr, amd64_sys_flock, amd64_sys_fork, amd64_sys_fremovexattr, amd64_sys_fsetxattr, amd64_sys_fstatfs, amd64_sys_fsync, amd64_sys_ftruncate, amd64_sys_futex, amd64_sys_futimesat, amd64_sys_get_mempolicy, amd64_sys_get_robust_list, amd64_sys_getcwd, amd64_sys_getdents, amd64_sys_getdents64, amd64_sys_getegid, amd64_sys_geteuid, amd64_sys_getgid, amd64_sys_getgroups, amd64_sys_getitimer, amd64_sys_getpeername, amd64_sys_getpgid, amd64_sys_getpgrp, amd64_sys_getpid, amd64_sys_getppid, amd64_sys_getpriority, amd64_sys_getresgid, amd64_sys_getresuid, amd64_sys_getrlimit, amd64_sys_getrusage, amd64_sys_getsid, amd64_sys_getsockname, amd64_sys_getsockopt, amd64_sys_gettid, amd64_sys_gettimeofday, amd64_sys_getuid, amd64_sys_getxattr, amd64_sys_init_module, amd64_sys_inotify_add_watch, amd64_sys_inotify_init, amd64_sys_inotify_rm_watch, amd64_sys_io_cancel, amd64_sys_io_destroy, amd64_sys_io_getevents, amd64_sys_io_setup, amd64_sys_io_submit, amd64_sys_ioctl, amd64_sys_ioperm, amd64_sys_iopl, amd64_sys_ioprio_get, amd64_sys_ioprio_set, amd64_sys_kexec_load, amd64_sys_keyctl, amd64_sys_kill, amd64_sys_lchown, amd64_sys_lgetxattr, amd64_sys_link, amd64_sys_linkat, amd64_sys_listen, amd64_sys_listxattr, amd64_sys_llistxattr, amd64_sys_lookup_dcookie, amd64_sys_lremovexattr, amd64_sys_lseek, amd64_sys_lsetxattr, amd64_sys_madvise, amd64_sys_mbind, amd64_sys_migrate_pages, amd64_sys_mincore, amd64_sys_mkdir, amd64_sys_mkdirat, amd64_sys_mknod, amd64_sys_mknodat, amd64_sys_mlock, amd64_sys_mlockall, amd64_sys_mmap, amd64_sys_modify_ldt, amd64_sys_mount, amd64_sys_move_pages, amd64_sys_mprotect, amd64_sys_mq_getsetattr, amd64_sys_mq_notify, amd64_sys_mq_open, amd64_sys_mq_timedreceive, amd64_sys_mq_timedsend, amd64_sys_mq_unlink, amd64_sys_mremap, amd64_sys_msgctl, amd64_sys_msgget, amd64_sys_msgrcv, amd64_sys_msgsnd, amd64_sys_msync, amd64_sys_munlock, amd64_sys_munlockall, amd64_sys_munmap, amd64_sys_nanosleep, amd64_sys_newfstat, amd64_sys_newfstatat, amd64_sys_newlstat, amd64_sys_newstat, amd64_sys_nfsservctl, amd64_sys_open, amd64_sys_openat, amd64_sys_pause, amd64_sys_personality, amd64_sys_pipe, amd64_sys_pivot_root, amd64_sys_poll, amd64_sys_ppoll, amd64_sys_prctl, amd64_sys_pread64, amd64_sys_pselect6, amd64_sys_ptrace, amd64_sys_pwrite64, amd64_sys_quotactl, amd64_sys_read, amd64_sys_readahead, amd64_sys_readlink, amd64_sys_readlinkat, amd64_sys_readv, amd64_sys_reboot, amd64_sys_recvfrom, amd64_sys_recvmsg, amd64_sys_remap_file_pages, amd64_sys_removexattr, amd64_sys_rename, amd64_sys_renameat, amd64_sys_request_key, amd64_sys_restart_syscall, amd64_sys_rmdir, amd64_sys_rt_sigaction, amd64_sys_rt_sigpending, amd64_sys_rt_sigprocmask, amd64_sys_rt_sigqueueinfo, amd64_sys_rt_sigreturn, amd64_sys_rt_sigsuspend, amd64_sys_rt_sigtimedwait, amd64_sys_sched_get_priority_max, amd64_sys_sched_get_priority_min, amd64_sys_sched_getaffinity, amd64_sys_sched_getparam, amd64_sys_sched_getscheduler, amd64_sys_sched_rr_get_interval, amd64_sys_sched_setaffinity, amd64_sys_sched_setparam, amd64_sys_sched_setscheduler, amd64_sys_sched_yield, amd64_sys_select, amd64_sys_semctl, amd64_sys_semget, amd64_sys_semop, amd64_sys_semtimedop, amd64_sys_sendfile64, amd64_sys_sendmsg, amd64_sys_sendto, amd64_sys_set_mempolicy, amd64_sys_set_robust_list, amd64_sys_set_tid_address, amd64_sys_setdomainname, amd64_sys_setfsgid, amd64_sys_setfsuid, amd64_sys_setgid, amd64_sys_setgroups, amd64_sys_sethostname, amd64_sys_setitimer, amd64_sys_setpgid, amd64_sys_setpriority, amd64_sys_setregid, amd64_sys_setresgid, amd64_sys_setresuid, amd64_sys_setreuid, amd64_sys_setrlimit, amd64_sys_setsid, amd64_sys_setsockopt, amd64_sys_settimeofday, amd64_sys_setuid, amd64_sys_setxattr, amd64_sys_shmat, amd64_sys_shmctl, amd64_sys_shmdt, amd64_sys_shmget, amd64_sys_shutdown, amd64_sys_sigaltstack, amd64_sys_socket, amd64_sys_socketpair, amd64_sys_splice, amd64_sys_statfs, amd64_sys_swapoff, amd64_sys_swapon, amd64_sys_symlink, amd64_sys_symlinkat, amd64_sys_sync, amd64_sys_sync_file_range, amd64_sys_sysctl, amd64_sys_sysfs, amd64_sys_sysinfo, amd64_sys_syslog, amd64_sys_tee, amd64_sys_tgkill, amd64_sys_time, amd64_sys_timer_create, amd64_sys_timer_delete, amd64_sys_timer_getoverrun, amd64_sys_timer_gettime, amd64_sys_timer_settime, amd64_sys_times, amd64_sys_tkill, amd64_sys_truncate, amd64_sys_umask, amd64_sys_umount, amd64_sys_uname, amd64_sys_unlink, amd64_sys_unlinkat, amd64_sys_unshare, amd64_sys_ustat, amd64_sys_utime, amd64_sys_utimes, amd64_sys_vfork, amd64_sys_vhangup, amd64_sys_vmsplice, amd64_sys_wait4, amd64_sys_waitid, amd64_sys_write, amd64_sys_writev, gdb_sys_accept, gdb_sys_access, gdb_sys_acct, gdb_sys_add_key, gdb_sys_adjtimex, gdb_sys_alarm, gdb_sys_bind, gdb_sys_brk, gdb_sys_capget, gdb_sys_capset, gdb_sys_chdir, gdb_sys_chmod, gdb_sys_chown, gdb_sys_chroot, gdb_sys_clock_getres, gdb_sys_clock_gettime, gdb_sys_clock_nanosleep, gdb_sys_clock_settime, gdb_sys_clone, gdb_sys_close, gdb_sys_connect, gdb_sys_creat, gdb_sys_delete_module, gdb_sys_dup, gdb_sys_dup2, gdb_sys_epoll_create, gdb_sys_epoll_ctl, gdb_sys_epoll_wait, gdb_sys_execve, gdb_sys_exit, gdb_sys_exit_group, gdb_sys_faccessat, gdb_sys_fadvise64, gdb_sys_fchdir, gdb_sys_fchmod, gdb_sys_fchmodat, gdb_sys_fchown, gdb_sys_fchownat, gdb_sys_fcntl, gdb_sys_fdatasync, gdb_sys_fgetxattr, gdb_sys_flistxattr, gdb_sys_flock, gdb_sys_fork, gdb_sys_fremovexattr, gdb_sys_fsetxattr, gdb_sys_fstatfs, gdb_sys_fsync, gdb_sys_ftruncate, gdb_sys_futex, gdb_sys_futimesat, gdb_sys_get_mempolicy, gdb_sys_get_robust_list, gdb_sys_getcwd, gdb_sys_getdents, gdb_sys_getdents64, gdb_sys_getegid, gdb_sys_geteuid, gdb_sys_getgid, gdb_sys_getgroups, gdb_sys_getitimer, gdb_sys_getpeername, gdb_sys_getpgid, gdb_sys_getpgrp, gdb_sys_getpid, gdb_sys_getppid, gdb_sys_getpriority, gdb_sys_getresgid, gdb_sys_getresuid, gdb_sys_getrlimit, gdb_sys_getrusage, gdb_sys_getsid, gdb_sys_getsockname, gdb_sys_getsockopt, gdb_sys_gettid, gdb_sys_gettimeofday, gdb_sys_getuid, gdb_sys_getxattr, gdb_sys_init_module, gdb_sys_inotify_add_watch, gdb_sys_inotify_init, gdb_sys_inotify_rm_watch, gdb_sys_io_cancel, gdb_sys_io_destroy, gdb_sys_io_getevents, gdb_sys_io_setup, gdb_sys_io_submit, gdb_sys_ioctl, gdb_sys_ioperm, gdb_sys_iopl, gdb_sys_ioprio_get, gdb_sys_ioprio_set, gdb_sys_kexec_load, gdb_sys_keyctl, gdb_sys_kill, gdb_sys_lchown, gdb_sys_lgetxattr, gdb_sys_link, gdb_sys_linkat, gdb_sys_listen, gdb_sys_listxattr, gdb_sys_llistxattr, gdb_sys_lookup_dcookie, gdb_sys_lremovexattr, gdb_sys_lseek, gdb_sys_lsetxattr, gdb_sys_madvise, gdb_sys_mbind, gdb_sys_migrate_pages, gdb_sys_mincore, gdb_sys_mkdir, gdb_sys_mkdirat, gdb_sys_mknod, gdb_sys_mknodat, gdb_sys_mlock, gdb_sys_mlockall, gdb_sys_mmap2, gdb_sys_modify_ldt, gdb_sys_mount, gdb_sys_move_pages, gdb_sys_mprotect, gdb_sys_mq_getsetattr, gdb_sys_mq_notify, gdb_sys_mq_open, gdb_sys_mq_timedreceive, gdb_sys_mq_timedsend, gdb_sys_mq_unlink, gdb_sys_mremap, gdb_sys_msgctl, gdb_sys_msgget, gdb_sys_msgrcv, gdb_sys_msgsnd, gdb_sys_msync, gdb_sys_munlock, gdb_sys_munlockall, gdb_sys_munmap, gdb_sys_nanosleep, gdb_sys_newfstat, gdb_sys_newfstatat, gdb_sys_newlstat, gdb_sys_newstat, gdb_sys_nfsservctl, gdb_sys_open, gdb_sys_openat, gdb_sys_pause, gdb_sys_personality, gdb_sys_pipe, gdb_sys_pivot_root, gdb_sys_poll, gdb_sys_ppoll, gdb_sys_prctl, gdb_sys_pread64, gdb_sys_pselect6, gdb_sys_ptrace, gdb_sys_pwrite64, gdb_sys_quotactl, gdb_sys_read, gdb_sys_readahead, gdb_sys_readlink, gdb_sys_readlinkat, gdb_sys_readv, gdb_sys_reboot, gdb_sys_recvfrom, gdb_sys_recvmsg, gdb_sys_remap_file_pages, gdb_sys_removexattr, gdb_sys_rename, gdb_sys_renameat, gdb_sys_request_key, gdb_sys_restart_syscall, gdb_sys_rmdir, gdb_sys_rt_sigaction, gdb_sys_rt_sigpending, gdb_sys_rt_sigprocmask, gdb_sys_rt_sigqueueinfo, gdb_sys_rt_sigreturn, gdb_sys_rt_sigsuspend, gdb_sys_rt_sigtimedwait, gdb_sys_sched_get_priority_max, gdb_sys_sched_get_priority_min, gdb_sys_sched_getaffinity, gdb_sys_sched_getparam, gdb_sys_sched_getscheduler, gdb_sys_sched_rr_get_interval, gdb_sys_sched_setaffinity, gdb_sys_sched_setparam, gdb_sys_sched_setscheduler, gdb_sys_sched_yield, gdb_sys_select, gdb_sys_semctl, gdb_sys_semget, gdb_sys_semop, gdb_sys_semtimedop, gdb_sys_sendfile64, gdb_sys_sendmsg, gdb_sys_sendto, gdb_sys_set_mempolicy, gdb_sys_set_robust_list, gdb_sys_set_tid_address, gdb_sys_setdomainname, gdb_sys_setfsgid, gdb_sys_setfsuid, gdb_sys_setgid, gdb_sys_setgroups, gdb_sys_sethostname, gdb_sys_setitimer, gdb_sys_setpgid, gdb_sys_setpriority, gdb_sys_setregid, gdb_sys_setresgid, gdb_sys_setresuid, gdb_sys_setreuid, gdb_sys_setrlimit, gdb_sys_setsid, gdb_sys_setsockopt, gdb_sys_settimeofday, gdb_sys_setuid, gdb_sys_setxattr, gdb_sys_shmat, gdb_sys_shmctl, gdb_sys_shmdt, gdb_sys_shmget, gdb_sys_shutdown, gdb_sys_sigaltstack, gdb_sys_socket, gdb_sys_socketpair, gdb_sys_splice, gdb_sys_statfs, gdb_sys_swapoff, gdb_sys_swapon, gdb_sys_symlink, gdb_sys_symlinkat, gdb_sys_sync, gdb_sys_sync_file_range, gdb_sys_sysctl, gdb_sys_sysfs, gdb_sys_sysinfo, gdb_sys_syslog, gdb_sys_tee, gdb_sys_tgkill, gdb_sys_time, gdb_sys_timer_create, gdb_sys_timer_delete, gdb_sys_timer_getoverrun, gdb_sys_timer_gettime, gdb_sys_timer_settime, gdb_sys_times, gdb_sys_tkill, gdb_sys_truncate, gdb_sys_umask, gdb_sys_umount, gdb_sys_uname, gdb_sys_unlink, gdb_sys_unlinkat, gdb_sys_unshare, gdb_sys_ustat, gdb_sys_utime, gdb_sys_utimes, gdb_sys_vfork, gdb_sys_vhangup, gdb_sys_vmsplice, gdb_sys_wait4, gdb_sys_waitid, gdb_sys_write, and gdb_sys_writev.
Referenced by amd64_linux_syscall_record().
static struct target_desc* amd64_linux_core_read_description | ( | struct gdbarch * | gdbarch, |
struct target_ops * | target, | ||
bfd * | abfd | ||
) | [static, read] |
Definition at line 1284 of file amd64-linux-tdep.c.
References gdbarch_ptr_bit(), i386_linux_core_read_xcr0(), I386_XSTATE_AVX_MASK, tdesc_amd64_avx_linux, tdesc_amd64_linux, tdesc_x32_avx_linux, and tdesc_x32_linux.
Referenced by amd64_linux_init_abi_common().
static LONGEST amd64_linux_get_syscall_number | ( | struct gdbarch * | gdbarch, |
ptid_t | ptid | ||
) | [static] |
Definition at line 221 of file amd64-linux-tdep.c.
References AMD64_LINUX_ORIG_RAX_REGNUM, extract_signed_integer(), gdbarch_byte_order(), get_thread_regcache(), LONGEST, and regcache_cooked_read().
Referenced by amd64_linux_init_abi_common().
static void amd64_linux_init_abi | ( | struct gdbarch_info | info, |
struct gdbarch * | gdbarch | ||
) | [static] |
Definition at line 1530 of file amd64-linux-tdep.c.
References amd64_init_abi(), amd64_linux_gregset_reg_offset, amd64_linux_init_abi_common(), AMD64_LINUX_NUM_REGS, AMD64_LINUX_ORIG_RAX_REGNUM, gdb_assert, gdbarch_tdep(), gdbarch_tdep::gregset_num_regs, gdbarch_tdep::gregset_reg_offset, set_gdbarch_num_regs(), set_solib_svr4_fetch_link_map_offsets(), gdbarch_tdep::sizeof_gregset, svr4_lp64_fetch_link_map_offsets(), gdbarch_info::target_desc, gdbarch_info::tdep_info, gdbarch_tdep::tdesc, tdesc_amd64_linux, tdesc_data, tdesc_find_feature(), tdesc_has_registers(), and tdesc_numbered_register().
Referenced by _initialize_amd64_linux_tdep().
static void amd64_linux_init_abi_common | ( | struct gdbarch_info | info, |
struct gdbarch * | gdbarch | ||
) | [static] |
Definition at line 1306 of file amd64-linux-tdep.c.
References amd64_displaced_step_copy_insn(), amd64_displaced_step_fixup(), amd64_linux_core_read_description(), amd64_linux_get_syscall_number(), amd64_linux_record_signal(), amd64_linux_record_tdep, amd64_linux_register_reggroup_p(), amd64_linux_sc_reg_offset, amd64_linux_sigcontext_addr(), amd64_linux_sigtramp_p(), amd64_linux_syscall_record(), amd64_linux_write_pc(), AMD64_R10_REGNUM, AMD64_R8_REGNUM, AMD64_R9_REGNUM, AMD64_RDI_REGNUM, AMD64_RDX_REGNUM, AMD64_RSI_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, displaced_step_at_entry_point(), 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(), I386_LINUX_XSAVE_XCR0_OFFSET, i386_process_record(), gdbarch_tdep::i386_syscall_record, 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, linux_get_siginfo_type(), linux_init_abi(), gdbarch_tdep::register_reggroup_p, gdbarch_tdep::sc_num_regs, gdbarch_tdep::sc_reg_offset, set_gdbarch_core_read_description(), set_gdbarch_core_regset_sections(), set_gdbarch_displaced_step_copy_insn(), set_gdbarch_displaced_step_fixup(), set_gdbarch_displaced_step_free_closure(), set_gdbarch_displaced_step_location(), set_gdbarch_fetch_tls_load_module_address(), set_gdbarch_get_siginfo_type(), set_gdbarch_get_syscall_number(), set_gdbarch_process_record(), set_gdbarch_process_record_signal(), set_gdbarch_skip_solib_resolver(), set_gdbarch_skip_trampoline_code(), set_gdbarch_write_pc(), set_xml_syscall_file_name(), gdbarch_tdep::sigcontext_addr, gdbarch_tdep::sigtramp_p, simple_displaced_step_free_closure(), 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(), XML_SYSCALL_FILENAME_AMD64, and gdbarch_tdep::xsave_xcr0_offset.
Referenced by amd64_linux_init_abi(), and amd64_x32_linux_init_abi().
static int amd64_linux_record_signal | ( | struct gdbarch * | gdbarch, |
struct regcache * | regcache, | ||
enum gdb_signal | signal | ||
) | [static] |
Definition at line 1247 of file amd64-linux-tdep.c.
References amd64_all_but_ip_registers_record(), AMD64_LINUX_frame_size, AMD64_LINUX_redzone, AMD64_LINUX_xstate, AMD64_RIP_REGNUM, AMD64_RSP_REGNUM, record_full_arch_list_add_end(), record_full_arch_list_add_mem(), record_full_arch_list_add_reg(), regcache_raw_read_unsigned(), and ULONGEST.
Referenced by amd64_linux_init_abi_common().
static int amd64_linux_register_reggroup_p | ( | struct gdbarch * | gdbarch, |
int | regnum, | ||
struct reggroup * | group | ||
) | [static] |
Definition at line 277 of file amd64-linux-tdep.c.
References AMD64_LINUX_ORIG_RAX_REGNUM, i386_register_reggroup_p(), restore_reggroup, save_reggroup, and system_reggroup.
Referenced by amd64_linux_init_abi_common().
static CORE_ADDR amd64_linux_sigcontext_addr | ( | struct frame_info * | this_frame | ) | [static] |
Definition at line 200 of file amd64-linux-tdep.c.
References AMD64_LINUX_UCONTEXT_SIGCONTEXT_OFFSET, AMD64_RSP_REGNUM, gdbarch::byte_order, extract_unsigned_integer(), gdbarch_byte_order(), get_frame_arch(), get_frame_register(), and sp.
Referenced by amd64_linux_init_abi_common().
static int amd64_linux_sigtramp_p | ( | struct frame_info * | this_frame | ) | [static] |
Definition at line 174 of file amd64-linux-tdep.c.
References amd64_linux_sigtramp_start(), find_pc_partial_function(), get_frame_pc(), name, and strstr().
Referenced by amd64_linux_init_abi_common().
static CORE_ADDR amd64_linux_sigtramp_start | ( | struct frame_info * | this_frame | ) | [static] |
Definition at line 132 of file amd64-linux-tdep.c.
References amd64_linux_sigtramp_code, amd64_x32_linux_sigtramp_code, gdbarch_ptr_bit(), get_frame_arch(), get_frame_pc(), LINUX_SIGTRAMP_INSN0, LINUX_SIGTRAMP_INSN1, LINUX_SIGTRAMP_LEN, LINUX_SIGTRAMP_OFFSET1, memcmp(), safe_frame_unwind_memory(), and sigtramp_code.
Referenced by amd64_linux_sigtramp_p().
static int amd64_linux_syscall_record | ( | struct regcache * | regcache | ) | [static] |
Definition at line 1177 of file amd64-linux-tdep.c.
References _, amd64_all_but_ip_registers_record(), amd64_canonicalize_syscall(), amd64_linux_record_tdep, AMD64_R11_REGNUM, AMD64_RAX_REGNUM, AMD64_RCX_REGNUM, amd64_sys_arch_prctl, amd64_sys_rt_sigreturn, linux_record_tdep::arg2, linux_record_tdep::arg3, printf_unfiltered(), pulongest(), RECORD_ARCH_GET_FS, RECORD_ARCH_GET_GS, record_full_arch_list_add_mem(), record_full_arch_list_add_reg(), record_linux_system_call(), regcache_raw_read_unsigned(), linux_record_tdep::size_ulong, and ULONGEST.
Referenced by amd64_linux_init_abi_common().
static void amd64_linux_write_pc | ( | struct regcache * | regcache, |
CORE_ADDR | pc | ||
) | [static] |
Definition at line 290 of file amd64-linux-tdep.c.
References AMD64_LINUX_ORIG_RAX_REGNUM, AMD64_RIP_REGNUM, and regcache_cooked_write_unsigned().
Referenced by amd64_linux_init_abi_common().
static void amd64_x32_linux_init_abi | ( | struct gdbarch_info | info, |
struct gdbarch * | gdbarch | ||
) | [static] |
Definition at line 1571 of file amd64-linux-tdep.c.
References amd64_linux_gregset_reg_offset, amd64_linux_init_abi_common(), AMD64_LINUX_NUM_REGS, AMD64_LINUX_ORIG_RAX_REGNUM, amd64_x32_init_abi(), gdb_assert, gdbarch_tdep(), gdbarch_tdep::gregset_num_regs, gdbarch_tdep::gregset_reg_offset, set_gdbarch_num_regs(), set_solib_svr4_fetch_link_map_offsets(), gdbarch_tdep::sizeof_gregset, svr4_ilp32_fetch_link_map_offsets(), gdbarch_info::target_desc, gdbarch_info::tdep_info, gdbarch_tdep::tdesc, tdesc_data, tdesc_find_feature(), tdesc_has_registers(), tdesc_numbered_register(), and tdesc_x32_linux.
Referenced by _initialize_amd64_linux_tdep().
Definition at line 67 of file amd64-linux-tdep.c.
Referenced by _initialize_amd64_linux_nat(), amd64_linux_init_abi(), and amd64_x32_linux_init_abi().
struct linux_record_tdep amd64_linux_record_tdep [static] |
Definition at line 1171 of file amd64-linux-tdep.c.
Referenced by amd64_linux_init_abi_common(), and amd64_linux_syscall_record().
struct core_regset_section amd64_linux_regset_sections[] [static] |
{ { ".reg", 27 * 8, "general-purpose" }, { ".reg2", 512, "floating-point" }, { ".reg-xstate", I386_XSTATE_MAX_SIZE, "XSAVE extended state" }, { NULL, 0 } }
Definition at line 55 of file amd64-linux-tdep.c.
int amd64_linux_sc_reg_offset[] [static] |
{ 13 * 8, 11 * 8, 14 * 8, 12 * 8, 9 * 8, 8 * 8, 10 * 8, 15 * 8, 0 * 8, 1 * 8, 2 * 8, 3 * 8, 4 * 8, 5 * 8, 6 * 8, 7 * 8, 16 * 8, 17 * 8, -1, -1, -1, -1, -1, -1 }
Definition at line 243 of file amd64-linux-tdep.c.
Referenced by amd64_linux_init_abi_common().
const gdb_byte amd64_linux_sigtramp_code[] [static] |
{ LINUX_SIGTRAMP_INSN0, 0xc7, 0xc0, 0x0f, 0x00, 0x00, 0x00, LINUX_SIGTRAMP_INSN1, 0x05 }
Definition at line 110 of file amd64-linux-tdep.c.
Referenced by amd64_linux_sigtramp_start().
const gdb_byte amd64_x32_linux_sigtramp_code[] [static] |
{ LINUX_SIGTRAMP_INSN0, 0xc7, 0xc0, 0x01, 0x02, 0x00, 0x40, LINUX_SIGTRAMP_INSN1, 0x05 }
Definition at line 118 of file amd64-linux-tdep.c.
Referenced by amd64_linux_sigtramp_start().