This is the mail archive of the gdb-cvs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb] aarch64-linux process record: more syscalls


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=d521906965b3e94648a723a13576236aaba301d0

commit d521906965b3e94648a723a13576236aaba301d0
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Feb 19 15:54:03 2016 +0000

    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.

Diff:
---
 gdb/ChangeLog            |  7 +++++++
 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);


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]