diff options
author | Yao Qi <yao.qi@linaro.org> | 2016-02-19 15:54:03 +0000 |
---|---|---|
committer | Yao Qi <yao.qi@linaro.org> | 2016-02-29 16:44:54 +0000 |
commit | d521906965b3e94648a723a13576236aaba301d0 (patch) | |
tree | b700ae6613688b54351fce66d32c745118fac1ab | |
parent | 253b4d3a09e9edbb72d21127fbc85934ab1b7c07 (diff) | |
download | gdb-d521906965b3e94648a723a13576236aaba301d0.zip gdb-d521906965b3e94648a723a13576236aaba301d0.tar.gz gdb-d521906965b3e94648a723a13576236aaba301d0.tar.bz2 |
aarch64-linux process record: more syscalls
The last patch supports several syscalls in linux-record.c, so now
GDB aarch64-linux backend can return these canonicalized syscall numbers
per aarch64 syscall number.
This patch fixes the following fails,
Process record and replay target doesn't support syscall number 59^M
Process record: failed to record execution log.^M
^M
Program stopped.^M
0x00000020000eab28 in pipe () from /lib/aarch64-linux-gnu/libc.so.6^M
(gdb) FAIL: gdb.reverse/pipe-reverse.exp: continue to breakpoint: marker2
Process record and replay target doesn't support syscall number 59^M
Process record: failed to record execution log.^M
^M
Program stopped.^M
0x00000020000eab28 in pipe () from /lib/aarch64-linux-gnu/libc.so.6^M
(gdb) FAIL: gdb.reverse/readv-reverse.exp: continue to breakpoint: marker2
gdb:
2016-02-29 Yao Qi <yao.qi@linaro.org>
* aarch64-linux-tdep.c (aarch64_canonicalize_syscall): Support
eventfd2, eventfd2, dup3, inotify_init1, fallocate and pipe2.
Return gdb_sys_epoll_create1 instead of gdb_sys_epoll_create
for aarch64_sys_epoll_create1.
-rw-r--r-- | gdb/ChangeLog | 7 | ||||
-rw-r--r-- | gdb/aarch64-linux-tdep.c | 15 |
2 files changed, 13 insertions, 9 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index aa5bb97..a728959 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,12 @@ 2016-02-29 Yao Qi <yao.qi@linaro.org> + * aarch64-linux-tdep.c (aarch64_canonicalize_syscall): Support + eventfd2, eventfd2, dup3, inotify_init1, fallocate and pipe2. + Return gdb_sys_epoll_create1 instead of gdb_sys_epoll_create + for aarch64_sys_epoll_create1. + +2016-02-29 Yao Qi <yao.qi@linaro.org> + * linux-record.h (enum gdb_syscall) <gdb_sys_fallocate>: New. <gdb_sys_eventfd2, gdb_sys_epoll_create1, gdb_sys_dup3>: New. <gdb_sys_pipe2, gdb_sys_inotify_init1>: New. diff --git a/gdb/aarch64-linux-tdep.c b/gdb/aarch64-linux-tdep.c index 50c9c3f..651a0f0 100644 --- a/gdb/aarch64-linux-tdep.c +++ b/gdb/aarch64-linux-tdep.c @@ -673,17 +673,14 @@ 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; - + SYSCALL_MAP (eventfd2); + SYSCALL_MAP (epoll_create1); SYSCALL_MAP (epoll_ctl); SYSCALL_MAP (epoll_pwait); SYSCALL_MAP (dup); - UNSUPPORTED_SYSCALL_MAP (dup3); + SYSCALL_MAP (dup3); SYSCALL_MAP (fcntl); - UNSUPPORTED_SYSCALL_MAP (inotify_init1); + SYSCALL_MAP (inotify_init1); SYSCALL_MAP (inotify_add_watch); SYSCALL_MAP (inotify_rm_watch); SYSCALL_MAP (ioctl); @@ -703,7 +700,7 @@ aarch64_canonicalize_syscall (enum aarch64_syscall syscall_number) SYSCALL_MAP (statfs); SYSCALL_MAP (truncate); SYSCALL_MAP (ftruncate); - UNSUPPORTED_SYSCALL_MAP (fallocate); + SYSCALL_MAP (fallocate); SYSCALL_MAP (faccessat); SYSCALL_MAP (fchdir); SYSCALL_MAP (chroot); @@ -714,7 +711,7 @@ aarch64_canonicalize_syscall (enum aarch64_syscall syscall_number) SYSCALL_MAP (openat); SYSCALL_MAP (close); SYSCALL_MAP (vhangup); - UNSUPPORTED_SYSCALL_MAP (pipe2); + SYSCALL_MAP (pipe2); SYSCALL_MAP (quotactl); SYSCALL_MAP (getdents64); SYSCALL_MAP (lseek); |