2009-09-08 Michael Snyder <msnyder@vmware.com>

* amd64-linux-tdep.h (enum amd64_syscall): New enum consts,
	to replace literal consts used in amd64-linux-tdep.c
	* linux-record.h (enum gdb_syscall): New enum consts, to replace
	literal consts used in amd64-linux-tdep.c and linux-record.c.
	* amd64-linux-tdep.c (amd64_canonicalize_syscall): New function,
	translate from native amd64 Linux syscall id to internal gdb id.
	(amd64_linux_syscall_record): Switch statement abstracted out
	and replaced with a call to amd64_canonicalize_syscall.
	* linux-record.c (record_linux_system_call): Replace literal
	consts with enum consts.
	* i386-linux-tdep.c (i386_canonicalize_syscall): New function,
	trivially translate from native i386 Linux syscalls to gdb syscalls.
	(i386_linux_intx80_sysenter_record):
This commit is contained in:
Michael Snyder 2009-09-08 22:50:59 +00:00
parent 6a89f575aa
commit 13b6d1d459
6 changed files with 1877 additions and 1799 deletions

View File

@ -1,3 +1,19 @@
2009-09-08 Michael Snyder <msnyder@vmware.com>
* amd64-linux-tdep.h (enum amd64_syscall): New enum consts,
to replace literal consts used in amd64-linux-tdep.c
* linux-record.h (enum gdb_syscall): New enum consts, to replace
literal consts used in amd64-linux-tdep.c and linux-record.c.
* amd64-linux-tdep.c (amd64_canonicalize_syscall): New function,
translate from native amd64 Linux syscall id to internal gdb id.
(amd64_linux_syscall_record): Switch statement abstracted out
and replaced with a call to amd64_canonicalize_syscall.
* linux-record.c (record_linux_system_call): Replace literal
consts with enum consts.
* i386-linux-tdep.c (i386_canonicalize_syscall): New function,
trivially translate from native i386 Linux syscalls to gdb syscalls.
(i386_linux_intx80_sysenter_record):
2009-09-08 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* gdb/Makefile.in (check//%): Parse 'config.status --version'

File diff suppressed because it is too large Load Diff

View File

@ -31,4 +31,277 @@
/* Total number of registers for GNU/Linux. */
#define AMD64_LINUX_NUM_REGS (AMD64_LINUX_ORIG_RAX_REGNUM + 1)
/* Enum that defines the syscall identifiers for amd64 linux.
Used for process record/replay, these will be translated into
a gdb-canonical set of syscall ids in linux-record.c. */
enum amd64_syscall {
amd64_sys_read = 0,
amd64_sys_write = 1,
amd64_sys_open = 2,
amd64_sys_close = 3,
amd64_sys_newstat = 4,
amd64_sys_newfstat = 5,
amd64_sys_newlstat = 6,
amd64_sys_poll = 7,
amd64_sys_lseek = 8,
amd64_sys_mmap = 9,
amd64_sys_mprotect = 10,
amd64_sys_munmap = 11,
amd64_sys_brk = 12,
amd64_sys_rt_sigaction = 13,
amd64_sys_rt_sigprocmask = 14,
amd64_sys_rt_sigreturn = 15,
amd64_sys_ioctl = 16,
amd64_sys_pread64 = 17,
amd64_sys_pwrite64 = 18,
amd64_sys_readv = 19,
amd64_sys_writev = 20,
amd64_sys_access = 21,
amd64_sys_pipe = 22,
amd64_sys_select = 23,
amd64_sys_sched_yield = 24,
amd64_sys_mremap = 25,
amd64_sys_msync = 26,
amd64_sys_mincore = 27,
amd64_sys_madvise = 28,
amd64_sys_shmget = 29,
amd64_sys_shmat = 30,
amd64_sys_shmctl = 31,
amd64_sys_dup = 32,
amd64_sys_dup2 = 33,
amd64_sys_pause = 34,
amd64_sys_nanosleep = 35,
amd64_sys_getitimer = 36,
amd64_sys_alarm = 37,
amd64_sys_setitimer = 38,
amd64_sys_getpid = 39,
amd64_sys_sendfile64 = 40,
amd64_sys_socket = 41,
amd64_sys_connect = 42,
amd64_sys_accept = 43,
amd64_sys_sendto = 44,
amd64_sys_recvfrom = 45,
amd64_sys_sendmsg = 46,
amd64_sys_recvmsg = 47,
amd64_sys_shutdown = 48,
amd64_sys_bind = 49,
amd64_sys_listen = 50,
amd64_sys_getsockname = 51,
amd64_sys_getpeername = 52,
amd64_sys_socketpair = 53,
amd64_sys_setsockopt = 54,
amd64_sys_getsockopt = 55,
amd64_sys_clone = 56,
amd64_sys_fork = 57,
amd64_sys_vfork = 58,
amd64_sys_execve = 59,
amd64_sys_exit = 60,
amd64_sys_wait4 = 61,
amd64_sys_kill = 62,
amd64_sys_uname = 63,
amd64_sys_semget = 64,
amd64_sys_semop = 65,
amd64_sys_semctl = 66,
amd64_sys_shmdt = 67,
amd64_sys_msgget = 68,
amd64_sys_msgsnd = 69,
amd64_sys_msgrcv = 70,
amd64_sys_msgctl = 71,
amd64_sys_fcntl = 72,
amd64_sys_flock = 73,
amd64_sys_fsync = 74,
amd64_sys_fdatasync = 75,
amd64_sys_truncate = 76,
amd64_sys_ftruncate = 77,
amd64_sys_getdents = 78,
amd64_sys_getcwd = 79,
amd64_sys_chdir = 80,
amd64_sys_fchdir = 81,
amd64_sys_rename = 82,
amd64_sys_mkdir = 83,
amd64_sys_rmdir = 84,
amd64_sys_creat = 85,
amd64_sys_link = 86,
amd64_sys_unlink = 87,
amd64_sys_symlink = 88,
amd64_sys_readlink = 89,
amd64_sys_chmod = 90,
amd64_sys_fchmod = 91,
amd64_sys_chown = 92,
amd64_sys_fchown = 93,
amd64_sys_lchown = 94,
amd64_sys_umask = 95,
amd64_sys_gettimeofday = 96,
amd64_sys_getrlimit = 97,
amd64_sys_getrusage = 98,
amd64_sys_sysinfo = 99,
amd64_sys_times = 100,
amd64_sys_ptrace = 101,
amd64_sys_getuid = 102,
amd64_sys_syslog = 103,
amd64_sys_getgid = 104,
amd64_sys_setuid = 105,
amd64_sys_setgid = 106,
amd64_sys_geteuid = 107,
amd64_sys_getegid = 108,
amd64_sys_setpgid = 109,
amd64_sys_getppid = 110,
amd64_sys_getpgrp = 111,
amd64_sys_setsid = 112,
amd64_sys_setreuid = 113,
amd64_sys_setregid = 114,
amd64_sys_getgroups = 115,
amd64_sys_setgroups = 116,
amd64_sys_setresuid = 117,
amd64_sys_getresuid = 118,
amd64_sys_setresgid = 119,
amd64_sys_getresgid = 120,
amd64_sys_getpgid = 121,
amd64_sys_setfsuid = 122,
amd64_sys_setfsgid = 123,
amd64_sys_getsid = 124,
amd64_sys_capget = 125,
amd64_sys_capset = 126,
amd64_sys_rt_sigpending = 127,
amd64_sys_rt_sigtimedwait = 128,
amd64_sys_rt_sigqueueinfo = 129,
amd64_sys_rt_sigsuspend = 130,
amd64_sys_sigaltstack = 131,
amd64_sys_utime = 132,
amd64_sys_mknod = 133,
amd64_sys_personality = 135,
amd64_sys_ustat = 136,
amd64_sys_statfs = 137,
amd64_sys_fstatfs = 138,
amd64_sys_sysfs = 139,
amd64_sys_getpriority = 140,
amd64_sys_setpriority = 141,
amd64_sys_sched_setparam = 142,
amd64_sys_sched_getparam = 143,
amd64_sys_sched_setscheduler = 144,
amd64_sys_sched_getscheduler = 145,
amd64_sys_sched_get_priority_max = 146,
amd64_sys_sched_get_priority_min = 147,
amd64_sys_sched_rr_get_interval = 148,
amd64_sys_mlock = 149,
amd64_sys_munlock = 150,
amd64_sys_mlockall = 151,
amd64_sys_munlockall = 152,
amd64_sys_vhangup = 153,
amd64_sys_modify_ldt = 154,
amd64_sys_pivot_root = 155,
amd64_sys_sysctl = 156,
amd64_sys_prctl = 157,
amd64_sys_arch_prctl = 158,
amd64_sys_adjtimex = 159,
amd64_sys_setrlimit = 160,
amd64_sys_chroot = 161,
amd64_sys_sync = 162,
amd64_sys_acct = 163,
amd64_sys_settimeofday = 164,
amd64_sys_mount = 165,
amd64_sys_umount = 166,
amd64_sys_swapon = 167,
amd64_sys_swapoff = 168,
amd64_sys_reboot = 169,
amd64_sys_sethostname = 170,
amd64_sys_setdomainname = 171,
amd64_sys_iopl = 172,
amd64_sys_ioperm = 173,
amd64_sys_init_module = 175,
amd64_sys_delete_module = 176,
amd64_sys_quotactl = 179,
amd64_sys_nfsservctl = 180,
amd64_sys_gettid = 186,
amd64_sys_readahead = 187,
amd64_sys_setxattr = 188,
amd64_sys_lsetxattr = 189,
amd64_sys_fsetxattr = 190,
amd64_sys_getxattr = 191,
amd64_sys_lgetxattr = 192,
amd64_sys_fgetxattr = 193,
amd64_sys_listxattr = 194,
amd64_sys_llistxattr = 195,
amd64_sys_flistxattr = 196,
amd64_sys_removexattr = 197,
amd64_sys_lremovexattr = 198,
amd64_sys_fremovexattr = 199,
amd64_sys_tkill = 200,
amd64_sys_time = 201,
amd64_sys_futex = 202,
amd64_sys_sched_setaffinity = 203,
amd64_sys_sched_getaffinity = 204,
amd64_sys_io_setup = 206,
amd64_sys_io_destroy = 207,
amd64_sys_io_getevents = 208,
amd64_sys_io_submit = 209,
amd64_sys_io_cancel = 210,
amd64_sys_lookup_dcookie = 212,
amd64_sys_epoll_create = 213,
amd64_sys_remap_file_pages = 216,
amd64_sys_getdents64 = 217,
amd64_sys_set_tid_address = 218,
amd64_sys_restart_syscall = 219,
amd64_sys_semtimedop = 220,
amd64_sys_fadvise64 = 221,
amd64_sys_timer_create = 222,
amd64_sys_timer_settime = 223,
amd64_sys_timer_gettime = 224,
amd64_sys_timer_getoverrun = 225,
amd64_sys_timer_delete = 226,
amd64_sys_clock_settime = 227,
amd64_sys_clock_gettime = 228,
amd64_sys_clock_getres = 229,
amd64_sys_clock_nanosleep = 230,
amd64_sys_exit_group = 231,
amd64_sys_epoll_wait = 232,
amd64_sys_epoll_ctl = 233,
amd64_sys_tgkill = 234,
amd64_sys_utimes = 235,
amd64_sys_mbind = 237,
amd64_sys_set_mempolicy = 238,
amd64_sys_get_mempolicy = 239,
amd64_sys_mq_open = 240,
amd64_sys_mq_unlink = 241,
amd64_sys_mq_timedsend = 242,
amd64_sys_mq_timedreceive = 243,
amd64_sys_mq_notify = 244,
amd64_sys_mq_getsetattr = 245,
amd64_sys_kexec_load = 246,
amd64_sys_waitid = 247,
amd64_sys_add_key = 248,
amd64_sys_request_key = 249,
amd64_sys_keyctl = 250,
amd64_sys_ioprio_set = 251,
amd64_sys_ioprio_get = 252,
amd64_sys_inotify_init = 253,
amd64_sys_inotify_add_watch = 254,
amd64_sys_inotify_rm_watch = 255,
amd64_sys_migrate_pages = 256,
amd64_sys_openat = 257,
amd64_sys_mkdirat = 258,
amd64_sys_mknodat = 259,
amd64_sys_fchownat = 260,
amd64_sys_futimesat = 261,
amd64_sys_newfstatat = 262,
amd64_sys_unlinkat = 263,
amd64_sys_renameat = 264,
amd64_sys_linkat = 265,
amd64_sys_symlinkat = 266,
amd64_sys_readlinkat = 267,
amd64_sys_fchmodat = 268,
amd64_sys_faccessat = 269,
amd64_sys_pselect6 = 270,
amd64_sys_ppoll = 271,
amd64_sys_unshare = 272,
amd64_sys_set_robust_list = 273,
amd64_sys_get_robust_list = 274,
amd64_sys_splice = 275,
amd64_sys_tee = 276,
amd64_sys_sync_file_range = 277,
amd64_sys_vmsplice = 278,
amd64_sys_move_pages = 279,
};
#endif /* amd64-linux-tdep.h */

View File

@ -354,6 +354,24 @@ i386_linux_write_pc (struct regcache *regcache, CORE_ADDR pc)
regcache_cooked_write_unsigned (regcache, I386_LINUX_ORIG_EAX_REGNUM, -1);
}
static struct linux_record_tdep i386_linux_record_tdep;
/* i386_canonicalize_syscall maps from the native i386 Linux set
of syscall ids into a canonical set of syscall ids used by
process record (a mostly trivial mapping, since the canonical
set was originally taken from the i386 set). */
static enum gdb_syscall
i386_canonicalize_syscall (int syscall)
{
enum { i386_syscall_max = 499 };
if (syscall <= i386_syscall_max)
return syscall;
else
return -1;
}
/* Parse the arguments of current system call instruction and record
the values of the registers and memory that will be changed into
"record_arch_list". This instruction is "int 0x80" (Linux
@ -361,24 +379,26 @@ i386_linux_write_pc (struct regcache *regcache, CORE_ADDR pc)
Return -1 if something wrong. */
static struct linux_record_tdep i386_linux_record_tdep;
static int
i386_linux_intx80_sysenter_record (struct regcache *regcache)
{
int ret;
uint32_t tmpu32;
LONGEST syscall_native;
enum gdb_syscall syscall_gdb;
regcache_raw_read (regcache, I386_EAX_REGNUM, (gdb_byte *) &tmpu32);
regcache_raw_read_signed (regcache, I386_EAX_REGNUM, &syscall_native);
if (tmpu32 > 499)
syscall_gdb = i386_canonicalize_syscall (syscall_native);
if (syscall_gdb < 0)
{
printf_unfiltered (_("Process record and replay target doesn't "
"support syscall number %u\n"), tmpu32);
"support syscall number %s\n"),
plongest (syscall_native));
return -1;
}
ret = record_linux_system_call (tmpu32, regcache,
ret = record_linux_system_call (syscall_gdb, regcache,
&i386_linux_record_tdep);
if (ret)
return ret;

File diff suppressed because it is too large Load Diff

View File

@ -176,7 +176,365 @@ struct linux_record_tdep
int arg6;
};
extern int record_linux_system_call (int num, struct regcache *regcache,
struct linux_record_tdep *tdep);
/* Enum that defines the gdb-canonical set of Linux syscall identifiers.
Different architectures will have different sets of syscall ids, and
each must provide a mapping from their set to this one. */
enum gdb_syscall {
gdb_sys_restart_syscall = 0,
gdb_sys_exit = 1,
gdb_sys_fork = 2,
gdb_sys_read = 3,
gdb_sys_write = 4,
gdb_sys_open = 5,
gdb_sys_close = 6,
gdb_sys_waitpid = 7,
gdb_sys_creat = 8,
gdb_sys_link = 9,
gdb_sys_unlink = 10,
gdb_sys_execve = 11,
gdb_sys_chdir = 12,
gdb_sys_time = 13,
gdb_sys_mknod = 14,
gdb_sys_chmod = 15,
gdb_sys_lchown16 = 16,
gdb_sys_ni_syscall17 = 17,
gdb_sys_stat = 18,
gdb_sys_lseek = 19,
gdb_sys_getpid = 20,
gdb_sys_mount = 21,
gdb_sys_oldumount = 22,
gdb_sys_setuid16 = 23,
gdb_sys_getuid16 = 24,
gdb_sys_stime = 25,
gdb_sys_ptrace = 26,
gdb_sys_alarm = 27,
gdb_sys_fstat = 28,
gdb_sys_pause = 29,
gdb_sys_utime = 30,
gdb_sys_ni_syscall31 = 31,
gdb_sys_ni_syscall32 = 32,
gdb_sys_access = 33,
gdb_sys_nice = 34,
gdb_sys_ni_syscall35 = 35,
gdb_sys_sync = 36,
gdb_sys_kill = 37,
gdb_sys_rename = 38,
gdb_sys_mkdir = 39,
gdb_sys_rmdir = 40,
gdb_sys_dup = 41,
gdb_sys_pipe = 42,
gdb_sys_times = 43,
gdb_sys_ni_syscall44 = 44,
gdb_sys_brk = 45,
gdb_sys_setgid16 = 46,
gdb_sys_getgid16 = 47,
gdb_sys_signal = 48,
gdb_sys_geteuid16 = 49,
gdb_sys_getegid16 = 50,
gdb_sys_acct = 51,
gdb_sys_umount = 52,
gdb_sys_ni_syscall53 = 53,
gdb_sys_ioctl = 54,
gdb_sys_fcntl = 55,
gdb_sys_ni_syscall56 = 56,
gdb_sys_setpgid = 57,
gdb_sys_ni_syscall58 = 58,
gdb_sys_olduname = 59,
gdb_sys_umask = 60,
gdb_sys_chroot = 61,
gdb_sys_ustat = 62,
gdb_sys_dup2 = 63,
gdb_sys_getppid = 64,
gdb_sys_getpgrp = 65,
gdb_sys_setsid = 66,
gdb_sys_sigaction = 67,
gdb_sys_sgetmask = 68,
gdb_sys_ssetmask = 69,
gdb_sys_setreuid16 = 70,
gdb_sys_setregid16 = 71,
gdb_sys_sigsuspend = 72,
gdb_sys_sigpending = 73,
gdb_sys_sethostname = 74,
gdb_sys_setrlimit = 75,
gdb_sys_old_getrlimit = 76,
gdb_sys_getrusage = 77,
gdb_sys_gettimeofday = 78,
gdb_sys_settimeofday = 79,
gdb_sys_getgroups16 = 80,
gdb_sys_setgroups16 = 81,
gdb_old_select = 82,
gdb_sys_symlink = 83,
gdb_sys_lstat = 84,
gdb_sys_readlink = 85,
gdb_sys_uselib = 86,
gdb_sys_swapon = 87,
gdb_sys_reboot = 88,
gdb_old_readdir = 89,
gdb_old_mmap = 90,
gdb_sys_munmap = 91,
gdb_sys_truncate = 92,
gdb_sys_ftruncate = 93,
gdb_sys_fchmod = 94,
gdb_sys_fchown16 = 95,
gdb_sys_getpriority = 96,
gdb_sys_setpriority = 97,
gdb_sys_ni_syscall98 = 98,
gdb_sys_statfs = 99,
gdb_sys_fstatfs = 100,
gdb_sys_ioperm = 101,
gdb_sys_socketcall = 102,
gdb_sys_syslog = 103,
gdb_sys_setitimer = 104,
gdb_sys_getitimer = 105,
gdb_sys_newstat = 106,
gdb_sys_newlstat = 107,
gdb_sys_newfstat = 108,
gdb_sys_uname = 109,
gdb_sys_iopl = 110,
gdb_sys_vhangup = 111,
gdb_sys_ni_syscall112 = 112,
gdb_sys_vm86old = 113,
gdb_sys_wait4 = 114,
gdb_sys_swapoff = 115,
gdb_sys_sysinfo = 116,
gdb_sys_ipc = 117,
gdb_sys_fsync = 118,
gdb_sys_sigreturn = 119,
gdb_sys_clone = 120,
gdb_sys_setdomainname = 121,
gdb_sys_newuname = 122,
gdb_sys_modify_ldt = 123,
gdb_sys_adjtimex = 124,
gdb_sys_mprotect = 125,
gdb_sys_sigprocmask = 126,
gdb_sys_ni_syscall127 = 127,
gdb_sys_init_module = 128,
gdb_sys_delete_module = 129,
gdb_sys_ni_syscall130 = 130,
gdb_sys_quotactl = 131,
gdb_sys_getpgid = 132,
gdb_sys_fchdir = 133,
gdb_sys_bdflush = 134,
gdb_sys_sysfs = 135,
gdb_sys_personality = 136,
gdb_sys_ni_syscall137 = 137,
gdb_sys_setfsuid16 = 138,
gdb_sys_setfsgid16 = 139,
gdb_sys_llseek = 140,
gdb_sys_getdents = 141,
gdb_sys_select = 142,
gdb_sys_flock = 143,
gdb_sys_msync = 144,
gdb_sys_readv = 145,
gdb_sys_writev = 146,
gdb_sys_getsid = 147,
gdb_sys_fdatasync = 148,
gdb_sys_sysctl = 149,
gdb_sys_mlock = 150,
gdb_sys_munlock = 151,
gdb_sys_mlockall = 152,
gdb_sys_munlockall = 153,
gdb_sys_sched_setparam = 154,
gdb_sys_sched_getparam = 155,
gdb_sys_sched_setscheduler = 156,
gdb_sys_sched_getscheduler = 157,
gdb_sys_sched_yield = 158,
gdb_sys_sched_get_priority_max = 159,
gdb_sys_sched_get_priority_min = 160,
gdb_sys_sched_rr_get_interval = 161,
gdb_sys_nanosleep = 162,
gdb_sys_mremap = 163,
gdb_sys_setresuid16 = 164,
gdb_sys_getresuid16 = 165,
gdb_sys_vm86 = 166,
gdb_sys_ni_syscall167 = 167,
gdb_sys_poll = 168,
gdb_sys_nfsservctl = 169,
gdb_sys_setresgid16 = 170,
gdb_sys_getresgid16 = 171,
gdb_sys_prctl = 172,
gdb_sys_rt_sigreturn = 173,
gdb_sys_rt_sigaction = 174,
gdb_sys_rt_sigprocmask = 175,
gdb_sys_rt_sigpending = 176,
gdb_sys_rt_sigtimedwait = 177,
gdb_sys_rt_sigqueueinfo = 178,
gdb_sys_rt_sigsuspend = 179,
gdb_sys_pread64 = 180,
gdb_sys_pwrite64 = 181,
gdb_sys_chown16 = 182,
gdb_sys_getcwd = 183,
gdb_sys_capget = 184,
gdb_sys_capset = 185,
gdb_sys_sigaltstack = 186,
gdb_sys_sendfile = 187,
gdb_sys_ni_syscall188 = 188,
gdb_sys_ni_syscall189 = 189,
gdb_sys_vfork = 190,
gdb_sys_getrlimit = 191,
gdb_sys_mmap2 = 192,
gdb_sys_truncate64 = 193,
gdb_sys_ftruncate64 = 194,
gdb_sys_stat64 = 195,
gdb_sys_lstat64 = 196,
gdb_sys_fstat64 = 197,
gdb_sys_lchown = 198,
gdb_sys_getuid = 199,
gdb_sys_getgid = 200,
gdb_sys_geteuid = 201,
gdb_sys_getegid = 202,
gdb_sys_setreuid = 203,
gdb_sys_setregid = 204,
gdb_sys_getgroups = 205,
gdb_sys_setgroups = 206,
gdb_sys_fchown = 207,
gdb_sys_setresuid = 208,
gdb_sys_getresuid = 209,
gdb_sys_setresgid = 210,
gdb_sys_getresgid = 211,
gdb_sys_chown = 212,
gdb_sys_setuid = 213,
gdb_sys_setgid = 214,
gdb_sys_setfsuid = 215,
gdb_sys_setfsgid = 216,
gdb_sys_pivot_root = 217,
gdb_sys_mincore = 218,
gdb_sys_madvise = 219,
gdb_sys_getdents64 = 220,
gdb_sys_fcntl64 = 221,
gdb_sys_ni_syscall222 = 222,
gdb_sys_ni_syscall223 = 223,
gdb_sys_gettid = 224,
gdb_sys_readahead = 225,
gdb_sys_setxattr = 226,
gdb_sys_lsetxattr = 227,
gdb_sys_fsetxattr = 228,
gdb_sys_getxattr = 229,
gdb_sys_lgetxattr = 230,
gdb_sys_fgetxattr = 231,
gdb_sys_listxattr = 232,
gdb_sys_llistxattr = 233,
gdb_sys_flistxattr = 234,
gdb_sys_removexattr = 235,
gdb_sys_lremovexattr = 236,
gdb_sys_fremovexattr = 237,
gdb_sys_tkill = 238,
gdb_sys_sendfile64 = 239,
gdb_sys_futex = 240,
gdb_sys_sched_setaffinity = 241,
gdb_sys_sched_getaffinity = 242,
gdb_sys_set_thread_area = 243,
gdb_sys_get_thread_area = 244,
gdb_sys_io_setup = 245,
gdb_sys_io_destroy = 246,
gdb_sys_io_getevents = 247,
gdb_sys_io_submit = 248,
gdb_sys_io_cancel = 249,
gdb_sys_fadvise64 = 250,
gdb_sys_ni_syscall251 = 251,
gdb_sys_exit_group = 252,
gdb_sys_lookup_dcookie = 253,
gdb_sys_epoll_create = 254,
gdb_sys_epoll_ctl = 255,
gdb_sys_epoll_wait = 256,
gdb_sys_remap_file_pages = 257,
gdb_sys_set_tid_address = 258,
gdb_sys_timer_create = 259,
gdb_sys_timer_settime = 260,
gdb_sys_timer_gettime = 261,
gdb_sys_timer_getoverrun = 262,
gdb_sys_timer_delete = 263,
gdb_sys_clock_settime = 264,
gdb_sys_clock_gettime = 265,
gdb_sys_clock_getres = 266,
gdb_sys_clock_nanosleep = 267,
gdb_sys_statfs64 = 268,
gdb_sys_fstatfs64 = 269,
gdb_sys_tgkill = 270,
gdb_sys_utimes = 271,
gdb_sys_fadvise64_64 = 272,
gdb_sys_ni_syscall273 = 273,
gdb_sys_mbind = 274,
gdb_sys_get_mempolicy = 275,
gdb_sys_set_mempolicy = 276,
gdb_sys_mq_open = 277,
gdb_sys_mq_unlink = 278,
gdb_sys_mq_timedsend = 279,
gdb_sys_mq_timedreceive = 280,
gdb_sys_mq_notify = 281,
gdb_sys_mq_getsetattr = 282,
gdb_sys_kexec_load = 283,
gdb_sys_waitid = 284,
gdb_sys_ni_syscall285 = 285,
gdb_sys_add_key = 286,
gdb_sys_request_key = 287,
gdb_sys_keyctl = 288,
gdb_sys_ioprio_set = 289,
gdb_sys_ioprio_get = 290,
gdb_sys_inotify_init = 291,
gdb_sys_inotify_add_watch = 292,
gdb_sys_inotify_rm_watch = 293,
gdb_sys_migrate_pages = 294,
gdb_sys_openat = 295,
gdb_sys_mkdirat = 296,
gdb_sys_mknodat = 297,
gdb_sys_fchownat = 298,
gdb_sys_futimesat = 299,
gdb_sys_fstatat64 = 300,
gdb_sys_unlinkat = 301,
gdb_sys_renameat = 302,
gdb_sys_linkat = 303,
gdb_sys_symlinkat = 304,
gdb_sys_readlinkat = 305,
gdb_sys_fchmodat = 306,
gdb_sys_faccessat = 307,
gdb_sys_pselect6 = 308,
gdb_sys_ppoll = 309,
gdb_sys_unshare = 310,
gdb_sys_set_robust_list = 311,
gdb_sys_get_robust_list = 312,
gdb_sys_splice = 313,
gdb_sys_sync_file_range = 314,
gdb_sys_tee = 315,
gdb_sys_vmsplice = 316,
gdb_sys_move_pages = 317,
gdb_sys_getcpu = 318,
gdb_sys_epoll_pwait = 319,
gdb_sys_socket = 500,
gdb_sys_connect = 501,
gdb_sys_accept = 502,
gdb_sys_sendto = 503,
gdb_sys_recvfrom = 504,
gdb_sys_sendmsg = 505,
gdb_sys_recvmsg = 506,
gdb_sys_shutdown = 507,
gdb_sys_bind = 508,
gdb_sys_listen = 509,
gdb_sys_getsockname = 510,
gdb_sys_getpeername = 511,
gdb_sys_socketpair = 512,
gdb_sys_setsockopt = 513,
gdb_sys_getsockopt = 514,
gdb_sys_recv = 515,
gdb_sys_shmget = 520,
gdb_sys_shmat = 521,
gdb_sys_shmctl = 522,
gdb_sys_semget = 523,
gdb_sys_semop = 524,
gdb_sys_semctl = 525,
gdb_sys_shmdt = 527,
gdb_sys_msgget = 528,
gdb_sys_msgsnd = 529,
gdb_sys_msgrcv = 530,
gdb_sys_msgctl = 531,
gdb_sys_semtimedop = 532,
gdb_sys_newfstatat = 540,
};
/* Record a linux syscall. */
extern int record_linux_system_call (enum gdb_syscall num,
struct regcache *regcache,
struct linux_record_tdep *tdep);
#endif /* _LINUX_RECORD_H_ */