summaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorYao Qi <yao.qi@linaro.org>2016-02-19 15:54:03 +0000
committerYao Qi <yao.qi@linaro.org>2016-02-29 16:44:54 +0000
commitd521906965b3e94648a723a13576236aaba301d0 (patch)
treeb700ae6613688b54351fce66d32c745118fac1ab /gdb
parent253b4d3a09e9edbb72d21127fbc85934ab1b7c07 (diff)
downloadbinutils-gdb-d521906965b3e94648a723a13576236aaba301d0.tar.gz
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.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog7
-rw-r--r--gdb/aarch64-linux-tdep.c15
2 files changed, 13 insertions, 9 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index aa5bb97ab44..a7289599297 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 50c9c3f60f3..651a0f094f7 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);