Process record for aarch64-linux syscall
This patch updates the syscalls in sync with syscalls/aarch64-linux.xml. Some syscalls are still not supported by gdb/linux-record.c yet. Mark them UNSUPPORTED_SYSCALL_MAP. This patch fixes the following test fail, Process record and replay target doesn't support syscall number 56^M Process record: failed to record execution log.^M ^M Program stopped.^M 0x00000020000e9dfc in open () from /lib/aarch64-linux-gnu/libc.so.6^M (gdb) FAIL: gdb.reverse/fstatat-reverse.exp: continue to breakpoint: marker2 gdb: 2016-02-23 Yao Qi <yao.qi@linaro.org> * aarch64-linux-tdep.c (enum aarch64_syscall) <aarch64_sys_mknod>: Remove. <aarch64_sys_mkdir, aarch64_sys_unlink, aarch64_sys_symlink>: Remove. <aarch64_sys_link, aarch64_sys_rename, aarch64_sys_faccess>: Remove. <aarch64_sys_mknodat, aarch64_sys_mkdirat>: New. <aarch64_sys_unlinkat, aarch64_sys_symlinkat>: New. <aarch64_sys_linkat, aarch64_sys_renameat, aarch64_sys_faccessat>: New. <aarch64_sys_open, aarch64_sys_readlink, aarch64_sys_fstatat>: Remove. <aarch64_sys_openat, aarch64_sys_readlinkat>: New. <aarch64_sys_newfstatat>: New. (UNSUPPORTED_SYSCALL_MAP): New macro. (aarch64_canonicalize_syscall): Add missing syscalls.
This commit is contained in:
parent
2d8dcb8135
commit
c955ae7389
@ -1,3 +1,19 @@
|
||||
2016-02-23 Yao Qi <yao.qi@linaro.org>
|
||||
|
||||
* aarch64-linux-tdep.c (enum aarch64_syscall) <aarch64_sys_mknod>:
|
||||
Remove.
|
||||
<aarch64_sys_mkdir, aarch64_sys_unlink, aarch64_sys_symlink>: Remove.
|
||||
<aarch64_sys_link, aarch64_sys_rename, aarch64_sys_faccess>: Remove.
|
||||
<aarch64_sys_mknodat, aarch64_sys_mkdirat>: New.
|
||||
<aarch64_sys_unlinkat, aarch64_sys_symlinkat>: New.
|
||||
<aarch64_sys_linkat, aarch64_sys_renameat>: New.
|
||||
<aarch64_sys_faccessat>: New.
|
||||
<aarch64_sys_open, aarch64_sys_readlink, aarch64_sys_fstatat>: Remove.
|
||||
<aarch64_sys_openat, aarch64_sys_readlinkat>: New.
|
||||
<aarch64_sys_newfstatat>: New.
|
||||
(UNSUPPORTED_SYSCALL_MAP): New macro.
|
||||
(aarch64_canonicalize_syscall): Add missing syscalls.
|
||||
|
||||
2016-02-22 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||
|
||||
* gdb-gdb.py (class TypeFlagsPrinter): Use parentheses for print.
|
||||
|
@ -409,12 +409,12 @@ enum aarch64_syscall {
|
||||
aarch64_sys_ioprio_set = 30,
|
||||
aarch64_sys_ioprio_get = 31,
|
||||
aarch64_sys_flock = 32,
|
||||
aarch64_sys_mknod = 33,
|
||||
aarch64_sys_mkdir = 34,
|
||||
aarch64_sys_unlink = 35,
|
||||
aarch64_sys_symlink = 36,
|
||||
aarch64_sys_link = 37,
|
||||
aarch64_sys_rename = 38,
|
||||
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,
|
||||
@ -424,7 +424,7 @@ enum aarch64_syscall {
|
||||
aarch64_sys_truncate = 45,
|
||||
aarch64_sys_ftruncate = 46,
|
||||
aarch64_sys_fallocate = 47,
|
||||
aarch64_sys_faccess = 48,
|
||||
aarch64_sys_faccessat = 48,
|
||||
aarch64_sys_chdir = 49,
|
||||
aarch64_sys_fchdir = 50,
|
||||
aarch64_sys_chroot = 51,
|
||||
@ -432,7 +432,7 @@ enum aarch64_syscall {
|
||||
aarch64_sys_fchmodat = 53,
|
||||
aarch64_sys_fchownat = 54,
|
||||
aarch64_sys_fchown = 55,
|
||||
aarch64_sys_open = 56,
|
||||
aarch64_sys_openat = 56,
|
||||
aarch64_sys_close = 57,
|
||||
aarch64_sys_vhangup = 58,
|
||||
aarch64_sys_pipe2 = 59,
|
||||
@ -454,8 +454,8 @@ enum aarch64_syscall {
|
||||
aarch64_sys_vmsplice = 75,
|
||||
aarch64_sys_splice = 76,
|
||||
aarch64_sys_tee = 77,
|
||||
aarch64_sys_readlink = 78,
|
||||
aarch64_sys_fstatat = 79,
|
||||
aarch64_sys_readlinkat = 78,
|
||||
aarch64_sys_newfstatat = 79,
|
||||
aarch64_sys_fstat = 80,
|
||||
aarch64_sys_sync = 81,
|
||||
aarch64_sys_fsync = 82,
|
||||
@ -648,6 +648,9 @@ aarch64_canonicalize_syscall (enum aarch64_syscall syscall_number)
|
||||
#define SYSCALL_MAP(SYSCALL) case aarch64_sys_##SYSCALL: \
|
||||
return gdb_sys_##SYSCALL
|
||||
|
||||
#define UNSUPPORTED_SYSCALL_MAP(SYSCALL) case aarch64_sys_##SYSCALL: \
|
||||
return gdb_sys_no_syscall
|
||||
|
||||
switch (syscall_number)
|
||||
{
|
||||
SYSCALL_MAP (io_setup);
|
||||
@ -670,6 +673,7 @@ aarch64_canonicalize_syscall (enum aarch64_syscall syscall_number)
|
||||
SYSCALL_MAP (fremovexattr);
|
||||
SYSCALL_MAP (getcwd);
|
||||
SYSCALL_MAP (lookup_dcookie);
|
||||
UNSUPPORTED_SYSCALL_MAP (eventfd2);
|
||||
|
||||
case aarch64_sys_epoll_create1:
|
||||
return gdb_sys_epoll_create;
|
||||
@ -677,26 +681,40 @@ aarch64_canonicalize_syscall (enum aarch64_syscall syscall_number)
|
||||
SYSCALL_MAP (epoll_ctl);
|
||||
SYSCALL_MAP (epoll_pwait);
|
||||
SYSCALL_MAP (dup);
|
||||
UNSUPPORTED_SYSCALL_MAP (dup3);
|
||||
SYSCALL_MAP (fcntl);
|
||||
UNSUPPORTED_SYSCALL_MAP (inotify_init1);
|
||||
SYSCALL_MAP (inotify_add_watch);
|
||||
SYSCALL_MAP (inotify_rm_watch);
|
||||
SYSCALL_MAP (ioctl);
|
||||
SYSCALL_MAP (ioprio_set);
|
||||
SYSCALL_MAP (ioprio_get);
|
||||
SYSCALL_MAP (flock);
|
||||
SYSCALL_MAP (mknodat);
|
||||
SYSCALL_MAP (mkdirat);
|
||||
SYSCALL_MAP (unlinkat);
|
||||
SYSCALL_MAP (symlinkat);
|
||||
SYSCALL_MAP (linkat);
|
||||
SYSCALL_MAP (renameat);
|
||||
UNSUPPORTED_SYSCALL_MAP (umount2);
|
||||
SYSCALL_MAP (mount);
|
||||
SYSCALL_MAP (pivot_root);
|
||||
SYSCALL_MAP (nfsservctl);
|
||||
SYSCALL_MAP (statfs);
|
||||
SYSCALL_MAP (truncate);
|
||||
SYSCALL_MAP (ftruncate);
|
||||
UNSUPPORTED_SYSCALL_MAP (fallocate);
|
||||
SYSCALL_MAP (faccessat);
|
||||
SYSCALL_MAP (fchdir);
|
||||
SYSCALL_MAP (chroot);
|
||||
SYSCALL_MAP (fchmod);
|
||||
SYSCALL_MAP (fchmodat);
|
||||
SYSCALL_MAP (fchownat);
|
||||
SYSCALL_MAP (fchown);
|
||||
SYSCALL_MAP (openat);
|
||||
SYSCALL_MAP (close);
|
||||
SYSCALL_MAP (vhangup);
|
||||
UNSUPPORTED_SYSCALL_MAP (pipe2);
|
||||
SYSCALL_MAP (quotactl);
|
||||
SYSCALL_MAP (getdents64);
|
||||
SYSCALL_MAP (lseek);
|
||||
@ -706,17 +724,27 @@ aarch64_canonicalize_syscall (enum aarch64_syscall syscall_number)
|
||||
SYSCALL_MAP (writev);
|
||||
SYSCALL_MAP (pread64);
|
||||
SYSCALL_MAP (pwrite64);
|
||||
UNSUPPORTED_SYSCALL_MAP (preadv);
|
||||
UNSUPPORTED_SYSCALL_MAP (pwritev);
|
||||
SYSCALL_MAP (sendfile);
|
||||
SYSCALL_MAP (pselect6);
|
||||
SYSCALL_MAP (ppoll);
|
||||
UNSUPPORTED_SYSCALL_MAP (signalfd4);
|
||||
SYSCALL_MAP (vmsplice);
|
||||
SYSCALL_MAP (splice);
|
||||
SYSCALL_MAP (tee);
|
||||
SYSCALL_MAP (readlinkat);
|
||||
SYSCALL_MAP (newfstatat);
|
||||
|
||||
SYSCALL_MAP (fstat);
|
||||
SYSCALL_MAP (sync);
|
||||
SYSCALL_MAP (fsync);
|
||||
SYSCALL_MAP (fdatasync);
|
||||
SYSCALL_MAP (sync_file_range);
|
||||
UNSUPPORTED_SYSCALL_MAP (timerfd_create);
|
||||
UNSUPPORTED_SYSCALL_MAP (timerfd_settime);
|
||||
UNSUPPORTED_SYSCALL_MAP (timerfd_gettime);
|
||||
UNSUPPORTED_SYSCALL_MAP (utimensat);
|
||||
SYSCALL_MAP (acct);
|
||||
SYSCALL_MAP (capget);
|
||||
SYSCALL_MAP (capset);
|
||||
@ -796,6 +824,7 @@ aarch64_canonicalize_syscall (enum aarch64_syscall syscall_number)
|
||||
SYSCALL_MAP (getrusage);
|
||||
SYSCALL_MAP (umask);
|
||||
SYSCALL_MAP (prctl);
|
||||
SYSCALL_MAP (getcpu);
|
||||
SYSCALL_MAP (gettimeofday);
|
||||
SYSCALL_MAP (settimeofday);
|
||||
SYSCALL_MAP (adjtimex);
|
||||
@ -870,7 +899,28 @@ aarch64_canonicalize_syscall (enum aarch64_syscall syscall_number)
|
||||
SYSCALL_MAP (set_mempolicy);
|
||||
SYSCALL_MAP (migrate_pages);
|
||||
SYSCALL_MAP (move_pages);
|
||||
UNSUPPORTED_SYSCALL_MAP (rt_tgsigqueueinfo);
|
||||
UNSUPPORTED_SYSCALL_MAP (perf_event_open);
|
||||
UNSUPPORTED_SYSCALL_MAP (accept4);
|
||||
UNSUPPORTED_SYSCALL_MAP (recvmmsg);
|
||||
|
||||
SYSCALL_MAP (wait4);
|
||||
|
||||
UNSUPPORTED_SYSCALL_MAP (prlimit64);
|
||||
UNSUPPORTED_SYSCALL_MAP (fanotify_init);
|
||||
UNSUPPORTED_SYSCALL_MAP (fanotify_mark);
|
||||
UNSUPPORTED_SYSCALL_MAP (name_to_handle_at);
|
||||
UNSUPPORTED_SYSCALL_MAP (open_by_handle_at);
|
||||
UNSUPPORTED_SYSCALL_MAP (clock_adjtime);
|
||||
UNSUPPORTED_SYSCALL_MAP (syncfs);
|
||||
UNSUPPORTED_SYSCALL_MAP (setns);
|
||||
UNSUPPORTED_SYSCALL_MAP (sendmmsg);
|
||||
UNSUPPORTED_SYSCALL_MAP (process_vm_readv);
|
||||
UNSUPPORTED_SYSCALL_MAP (process_vm_writev);
|
||||
UNSUPPORTED_SYSCALL_MAP (kcmp);
|
||||
UNSUPPORTED_SYSCALL_MAP (finit_module);
|
||||
UNSUPPORTED_SYSCALL_MAP (sched_setattr);
|
||||
UNSUPPORTED_SYSCALL_MAP (sched_getattr);
|
||||
default:
|
||||
return gdb_sys_no_syscall;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user