[valgrind] Update aarch64 syscall wrappers.

Mark Wielaard mjw at fedoraproject.org
Tue Nov 4 23:05:11 UTC 2014


commit 8cf836fca7ece5f03d0ee725b74d43f072f869b9
Author: Mark Wielaard <mjw at redhat.com>
Date:   Tue Nov 4 22:59:20 2014 +0100

    Update aarch64 syscall wrappers.
    
    Merge valgrind-3.10.0-aarch64-times.patch
    and valgrind-3.10.0-aarch64-getsetsid.patch
    into valgrind-3.10.0-aarch64-syscalls.patch
    add fdatasync, msync, pread64, setreuid, setregid,
    mknodat, fchdir, chroot, fchownat, fchmod and fchown.

 valgrind-3.10.0-aarch64-getsetsid.patch |   29 ----
 valgrind-3.10.0-aarch64-syscalls.patch  |  245 +++++++++++++++++++++++++++++++
 valgrind-3.10.0-aarch64-times.patch     |   20 ---
 valgrind.spec                           |   20 ++-
 4 files changed, 259 insertions(+), 55 deletions(-)
---
diff --git a/valgrind-3.10.0-aarch64-syscalls.patch b/valgrind-3.10.0-aarch64-syscalls.patch
new file mode 100644
index 0000000..42bd05f
--- /dev/null
+++ b/valgrind-3.10.0-aarch64-syscalls.patch
@@ -0,0 +1,245 @@
+diff --git a/coregrind/m_syswrap/syswrap-arm64-linux.c b/coregrind/m_syswrap/syswrap-arm64-linux.c
+index e3f736b..dd13bda 100644
+--- a/coregrind/m_syswrap/syswrap-arm64-linux.c
++++ b/coregrind/m_syswrap/syswrap-arm64-linux.c
+@@ -953,6 +953,7 @@ static SyscallTableEntry syscall_main_table[] = {
+    LINX_(__NR_setresuid,         sys_setresuid),         // 147
+    LINXY(__NR_getresuid,         sys_getresuid),         // 148
+    LINXY(__NR_getresgid,         sys_getresgid),         // 150
++   GENXY(__NR_times,             sys_times),             // 153
+    GENX_(__NR_setpgid,           sys_setpgid),           // 154
+    GENX_(__NR_getpgid,           sys_getpgid),           // 155
+    GENXY(__NR_uname,             sys_newuname),          // 160
+@@ -1068,7 +1069,6 @@ static SyscallTableEntry syscall_main_table[] = {
+ //ZZ 
+ //ZZ    GENX_(__NR_rmdir,             sys_rmdir),          // 40
+ //ZZ    LINXY(__NR_pipe,              sys_pipe),           // 42
+-//ZZ    GENXY(__NR_times,             sys_times),          // 43
+ //ZZ //   GENX_(__NR_prof,              sys_ni_syscall),     // 44
+ 
+ //ZZ    LINX_(__NR_setgid,            sys_setgid16),       // 46
+diff --git a/coregrind/m_syswrap/syswrap-arm64-linux.c b/coregrind/m_syswrap/syswrap-arm64-linux.c
+index dd13bda..045b9b9 100644
+--- a/coregrind/m_syswrap/syswrap-arm64-linux.c
++++ b/coregrind/m_syswrap/syswrap-arm64-linux.c
+@@ -956,6 +956,8 @@ static SyscallTableEntry syscall_main_table[] = {
+    GENXY(__NR_times,             sys_times),             // 153
+    GENX_(__NR_setpgid,           sys_setpgid),           // 154
+    GENX_(__NR_getpgid,           sys_getpgid),           // 155
++   GENX_(__NR_getsid,            sys_getsid),            // 156
++   GENX_(__NR_setsid,            sys_setsid),            // 157
+    GENXY(__NR_uname,             sys_newuname),          // 160
+    GENXY(__NR_getrlimit,         sys_old_getrlimit),     // 163
+    GENX_(__NR_setrlimit,         sys_setrlimit),         // 164
+@@ -1092,7 +1094,6 @@ static SyscallTableEntry syscall_main_table[] = {
+ //ZZ    GENX_(__NR_getppid,           sys_getppid),        // 64
+ //ZZ 
+ //ZZ    GENX_(__NR_getpgrp,           sys_getpgrp),        // 65
+-//ZZ    GENX_(__NR_setsid,            sys_setsid),         // 66
+ //ZZ    LINXY(__NR_sigaction,         sys_sigaction),      // 67
+ //ZZ //zz    //   (__NR_sgetmask,          sys_sgetmask),       // 68 */* (ANSI C)
+ //ZZ //zz    //   (__NR_ssetmask,          sys_ssetmask),       // 69 */* (ANSI C)
+@@ -1176,7 +1177,6 @@ static SyscallTableEntry syscall_main_table[] = {
+ //ZZ    GENX_(__NR_flock,             sys_flock),          // 143
+ //ZZ    GENX_(__NR_msync,             sys_msync),          // 144
+ //ZZ 
+-//ZZ    GENX_(__NR_getsid,            sys_getsid),         // 147
+ //ZZ    GENX_(__NR_fdatasync,         sys_fdatasync),      // 148
+ //ZZ    LINXY(__NR__sysctl,           sys_sysctl),         // 149
+ //ZZ 
+commit 92379dfe8ab904b8f7ecfa2a6c9094cf3cc2481d
+Author: sewardj <sewardj at a5019735-40e9-0310-863c-91ae7b9d1cf9>
+Date:   Thu Oct 30 13:54:24 2014 +0000
+
+    Bug 339940 - (arm64/aarch64) unhandled syscall: 83 (sys_fdatasync) + patch
+    Patch from David Abdurachmanov <davidlt at cern.ch>
+    
+    
+    git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14675 a5019735-40e9-0310-863c-91ae7b9d1cf9
+
+diff --git a/coregrind/m_syswrap/syswrap-arm64-linux.c b/coregrind/m_syswrap/syswrap-arm64-linux.c
+index 045b9b9..69a997c 100644
+--- a/coregrind/m_syswrap/syswrap-arm64-linux.c
++++ b/coregrind/m_syswrap/syswrap-arm64-linux.c
+@@ -922,6 +922,7 @@ static SyscallTableEntry syscall_main_table[] = {
+ 
+    LINX_(__NR_utimensat,         sys_utimensat),         // 88
+    GENX_(__NR_fsync,             sys_fsync),             // 82
++   GENX_(__NR_fdatasync,         sys_fdatasync),         // 83
+    LINXY(__NR_timerfd_create,    sys_timerfd_create),    // 85
+    LINXY(__NR_timerfd_settime,   sys_timerfd_settime),   // 86
+    LINXY(__NR_timerfd_gettime,   sys_timerfd_gettime),   // 87
+@@ -1177,7 +1178,6 @@ static SyscallTableEntry syscall_main_table[] = {
+ //ZZ    GENX_(__NR_flock,             sys_flock),          // 143
+ //ZZ    GENX_(__NR_msync,             sys_msync),          // 144
+ //ZZ 
+-//ZZ    GENX_(__NR_fdatasync,         sys_fdatasync),      // 148
+ //ZZ    LINXY(__NR__sysctl,           sys_sysctl),         // 149
+ //ZZ 
+ //ZZ    GENX_(__NR_munlock,           sys_munlock),        // 151
+
+commit 20a8d68dec8168d8a3df1b73f8128212344bcab0
+Author: sewardj <sewardj at a5019735-40e9-0310-863c-91ae7b9d1cf9>
+Date:   Thu Oct 30 14:11:32 2014 +0000
+
+    Bug 340028 - unhandled syscalls for arm64 (msync, pread64, setreuid
+    and setregid)
+    Patch from dimitry at google.com.
+    
+    
+    git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14676 a5019735-40e9-0310-863c-91ae7b9d1cf9
+
+diff --git a/coregrind/m_syswrap/syswrap-arm64-linux.c b/coregrind/m_syswrap/syswrap-arm64-linux.c
+index 69a997c..d0fe78d 100644
+--- a/coregrind/m_syswrap/syswrap-arm64-linux.c
++++ b/coregrind/m_syswrap/syswrap-arm64-linux.c
+@@ -910,6 +910,7 @@ static SyscallTableEntry syscall_main_table[] = {
+    GENX_(__NR_write,             sys_write),             // 64
+    GENXY(__NR_readv,             sys_readv),             // 65
+    GENX_(__NR_writev,            sys_writev),            // 66
++   GENXY(__NR_pread64,           sys_pread64),           // 67
+    GENX_(__NR_pwrite64,          sys_pwrite64),          // 68
+    LINX_(__NR_pselect6,          sys_pselect6),          // 72
+    LINXY(__NR_ppoll,             sys_ppoll),             // 73
+@@ -951,6 +952,8 @@ static SyscallTableEntry syscall_main_table[] = {
+    PLAX_(__NR_rt_sigreturn,      sys_rt_sigreturn),      // 139
+    GENX_(__NR_setpriority,       sys_setpriority),       // 140
+    GENX_(__NR_getpriority,       sys_getpriority),       // 141
++   GENX_(__NR_setregid,          sys_setregid),          // 143
++   GENX_(__NR_setreuid,          sys_setreuid),          // 145
+    LINX_(__NR_setresuid,         sys_setresuid),         // 147
+    LINXY(__NR_getresuid,         sys_getresuid),         // 148
+    LINXY(__NR_getresgid,         sys_getresgid),         // 150
+@@ -1017,6 +1020,7 @@ static SyscallTableEntry syscall_main_table[] = {
+    PLAX_(__NR3264_fadvise64,     sys_fadvise64),         // 223
+ 
+    GENXY(__NR_mprotect,          sys_mprotect),          // 226
++   GENX_(__NR_msync,             sys_msync),             // 227
+    GENX_(__NR_mlock,             sys_mlock),             // 228
+    GENX_(__NR_mlockall,          sys_mlockall),          // 230
+    GENX_(__NR_madvise,           sys_madvise),           // 233
+@@ -1099,8 +1103,6 @@ static SyscallTableEntry syscall_main_table[] = {
+ //ZZ //zz    //   (__NR_sgetmask,          sys_sgetmask),       // 68 */* (ANSI C)
+ //ZZ //zz    //   (__NR_ssetmask,          sys_ssetmask),       // 69 */* (ANSI C)
+ //ZZ //zz 
+-//ZZ    LINX_(__NR_setreuid,          sys_setreuid16),     // 70
+-//ZZ    LINX_(__NR_setregid,          sys_setregid16),     // 71
+ //ZZ    PLAX_(__NR_sigsuspend,        sys_sigsuspend),     // 72
+ //ZZ    LINXY(__NR_sigpending,        sys_sigpending),     // 73
+ //ZZ //zz    //   (__NR_sethostname,       sys_sethostname),    // 74 */*
+@@ -1176,7 +1178,6 @@ static SyscallTableEntry syscall_main_table[] = {
+ //ZZ    GENXY(__NR_getdents,          sys_getdents),       // 141
+ //ZZ    GENX_(__NR__newselect,        sys_select),         // 142
+ //ZZ    GENX_(__NR_flock,             sys_flock),          // 143
+-//ZZ    GENX_(__NR_msync,             sys_msync),          // 144
+ //ZZ 
+ //ZZ    LINXY(__NR__sysctl,           sys_sysctl),         // 149
+ //ZZ 
+@@ -1207,7 +1208,6 @@ static SyscallTableEntry syscall_main_table[] = {
+ //ZZ    LINXY(__NR_rt_sigpending,     sys_rt_sigpending),  // 176
+ //ZZ    LINXY(__NR_rt_sigtimedwait,   sys_rt_sigtimedwait),// 177
+ //ZZ 
+-//ZZ    GENXY(__NR_pread64,           sys_pread64),        // 180
+ //ZZ    LINX_(__NR_chown,             sys_chown16),        // 182
+ //ZZ 
+ //ZZ    LINX_(__NR_capset,            sys_capset),         // 185
+
+commit f78d99007454b34d0619cabc99c3f66613b05285
+Author: sewardj <sewardj at a5019735-40e9-0310-863c-91ae7b9d1cf9>
+Date:   Thu Oct 30 14:28:14 2014 +0000
+
+    Bug 340236 - 4 unhandled syscalls on aarch64/arm64:
+    mknodat (33), fchdir (50), chroot (51), fchownat (54)
+    Patch from Miroslav Franc (mfranc at redhat.com)
+    
+    
+    git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14677 a5019735-40e9-0310-863c-91ae7b9d1cf9
+
+diff --git a/coregrind/m_syswrap/syswrap-arm64-linux.c b/coregrind/m_syswrap/syswrap-arm64-linux.c
+index d0fe78d..54238ed 100644
+--- a/coregrind/m_syswrap/syswrap-arm64-linux.c
++++ b/coregrind/m_syswrap/syswrap-arm64-linux.c
+@@ -880,6 +880,7 @@ static SyscallTableEntry syscall_main_table[] = {
+    LINX_(__NR_inotify_add_watch, sys_inotify_add_watch), // 27
+    LINX_(__NR_inotify_rm_watch,  sys_inotify_rm_watch),  // 28
+    LINXY(__NR_ioctl,             sys_ioctl),             // 29
++   LINX_(__NR_mknodat,           sys_mknodat),           // 33
+    LINX_(__NR_mkdirat,           sys_mkdirat),           // 34
+    LINX_(__NR_unlinkat,          sys_unlinkat),          // 35
+    LINX_(__NR_symlinkat,         sys_symlinkat),         // 36
+@@ -896,7 +897,10 @@ static SyscallTableEntry syscall_main_table[] = {
+    LINX_(__NR_fallocate,         sys_fallocate),         // 47
+    LINX_(__NR_faccessat,         sys_faccessat),         // 48
+    GENX_(__NR_chdir,             sys_chdir),             // 49
++   GENX_(__NR_fchdir,            sys_fchdir),            // 50
++   GENX_(__NR_chroot,            sys_chroot),            // 51
+    LINX_(__NR_fchmodat,          sys_fchmodat),          // 53
++   LINX_(__NR_fchownat,          sys_fchownat),          // 54
+    LINXY(__NR_openat,            sys_openat),            // 56
+    GENXY(__NR_close,             sys_close),             // 57
+    LINXY(__NR_pipe2,             sys_pipe2),             // 59
+@@ -1093,7 +1097,6 @@ static SyscallTableEntry syscall_main_table[] = {
+ //ZZ //   GENX_(__NR_ulimit,            sys_ni_syscall),     // 58
+ //ZZ //zz    //   (__NR_oldolduname,       sys_olduname),       // 59 Linux -- obsolete
+ //ZZ //zz 
+-//ZZ    GENX_(__NR_chroot,            sys_chroot),         // 61
+ //ZZ //zz    //   (__NR_ustat,             sys_ustat)           // 62 SVr4 -- deprecated
+ //ZZ    GENXY(__NR_dup2,              sys_dup2),           // 63
+ //ZZ    GENX_(__NR_getppid,           sys_getppid),        // 64
+@@ -1165,7 +1168,6 @@ static SyscallTableEntry syscall_main_table[] = {
+ //ZZ //zz    // Nb: get_kernel_syms() was removed 2.4-->2.6
+ //ZZ //   GENX_(__NR_get_kernel_syms,   sys_ni_syscall),     // 130
+ //ZZ    GENX_(__NR_getpgid,           sys_getpgid),        // 132
+-//ZZ    GENX_(__NR_fchdir,            sys_fchdir),         // 133
+ //ZZ //zz    //   (__NR_bdflush,           sys_bdflush),        // 134 */Linux
+ //ZZ //zz 
+ //ZZ //zz    //   (__NR_sysfs,             sys_sysfs),          // 135 SVr4
+@@ -1329,8 +1331,6 @@ static SyscallTableEntry syscall_main_table[] = {
+ //ZZ    LINX_(__NR_inotify_init,    sys_inotify_init),   // 291
+ //ZZ //   LINX_(__NR_migrate_pages,    sys_migrate_pages),    // 294
+ //ZZ 
+-//ZZ    LINX_(__NR_mknodat,       sys_mknodat),          // 297
+-//ZZ    LINX_(__NR_fchownat,       sys_fchownat),         // 298
+ //ZZ    LINX_(__NR_futimesat,    sys_futimesat),        // 326 on arm
+ //ZZ 
+ //ZZ    PLAXY(__NR_fstatat64,    sys_fstatat64),        // 300
+
+commit 076d5f343c3753ea0db86701f922b7c84a83ec38
+Author: mjw <mjw at a5019735-40e9-0310-863c-91ae7b9d1cf9>
+Date:   Tue Nov 4 13:43:21 2014 +0000
+
+    Bug 340630 arm64: fchmod (52) and fchown (55) syscalls not recognized.
+    
+    git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14686 a5019735-40e9-0310-863c-91ae7b9d1cf9
+
+diff --git a/coregrind/m_syswrap/syswrap-arm64-linux.c b/coregrind/m_syswrap/syswrap-arm64-linux.c
+index 54238ed..f8a59c1 100644
+--- a/coregrind/m_syswrap/syswrap-arm64-linux.c
++++ b/coregrind/m_syswrap/syswrap-arm64-linux.c
+@@ -899,8 +899,10 @@ static SyscallTableEntry syscall_main_table[] = {
+    GENX_(__NR_chdir,             sys_chdir),             // 49
+    GENX_(__NR_fchdir,            sys_fchdir),            // 50
+    GENX_(__NR_chroot,            sys_chroot),            // 51
++   GENX_(__NR_fchmod,            sys_fchmod),            // 52
+    LINX_(__NR_fchmodat,          sys_fchmodat),          // 53
+    LINX_(__NR_fchownat,          sys_fchownat),          // 54
++   GENX_(__NR_fchown,            sys_fchown),            // 55
+    LINXY(__NR_openat,            sys_openat),            // 56
+    GENXY(__NR_close,             sys_close),             // 57
+    LINXY(__NR_pipe2,             sys_pipe2),             // 59
+@@ -1129,7 +1131,6 @@ static SyscallTableEntry syscall_main_table[] = {
+ //ZZ    GENXY(__NR_munmap,            sys_munmap),         // 91
+ //ZZ    GENX_(__NR_truncate,          sys_truncate),       // 92
+ //ZZ    GENX_(__NR_ftruncate,         sys_ftruncate),      // 93
+-//ZZ    GENX_(__NR_fchmod,            sys_fchmod),         // 94
+ //ZZ 
+ //ZZ    LINX_(__NR_fchown,            sys_fchown16),       // 95
+ //ZZ //   GENX_(__NR_profil,            sys_ni_syscall),     // 98
+@@ -1237,7 +1238,6 @@ static SyscallTableEntry syscall_main_table[] = {
+ //ZZ 
+ //ZZ    GENXY(__NR_getgroups32,       sys_getgroups),      // 205
+ //ZZ    GENX_(__NR_setgroups32,       sys_setgroups),      // 206
+-//ZZ    GENX_(__NR_fchown32,          sys_fchown),         // 207
+ //ZZ    LINX_(__NR_setresuid32,       sys_setresuid),      // 208
+ //ZZ    LINXY(__NR_getresuid32,       sys_getresuid),      // 209
+ //ZZ 
diff --git a/valgrind.spec b/valgrind.spec
index 2f56a67..e68967b 100644
--- a/valgrind.spec
+++ b/valgrind.spec
@@ -63,13 +63,15 @@ Patch4: valgrind-3.9.0-ldso-supp.patch
 Patch5: valgrind-3.10.0-old-ppc32-instr-magic.patch
 
 # KDE#339853 arm64 times syscall unknown
-Patch6: valgrind-3.10.0-aarch64-times.patch
-
-# KDE#339855 arm64 unhandled getsid/setsid syscalls.
-Patch7: valgrind-3.10.0-aarch64-getsetsid.patch
+# KDE#339856 arm64 unhandled getsid/setsid syscalls.
+# KDE#339940 arm64 unhandled syscall: 83 (sys_fdatasync)
+# KDE#340028 unhandled syscalls for arm64 (msync, pread64, setreuid, setregid)
+# KDE#340236 arm64 mknodat (33), fchdir (50), chroot (51), fchownat (54)
+# KDE#340630 arm64 fchmod (52) and fchown (55) syscalls not recognized.
+Patch6: valgrind-3.10.0-aarch64-syscalls.patch
 
 # KDE#339858 arm64 recognize dmb sy. Data Memory Barrier full SYstem variant.
-Patch8: valgrind-3.10.0-aarch64-dmb-sy.patch
+Patch7: valgrind-3.10.0-aarch64-dmb-sy.patch
 
 %if %{build_multilib}
 # Ensure glibc{,-devel} is installed for both multilib arches
@@ -176,7 +178,6 @@ Valgrind User Manual for details.
 %patch5 -p1
 %patch6 -p1
 %patch7 -p1
-%patch8 -p1
 
 %build
 # We need to use the software collection compiler and binutils if available.
@@ -325,6 +326,13 @@ echo ===============END TESTING===============
 %endif
 
 %changelog
+* Tue Nov  4 2014 Mark Wielaard <mjw at redhat.com>
+- Merge valgrind-3.10.0-aarch64-times.patch
+  and valgrind-3.10.0-aarch64-getsetsid.patch
+  into valgrind-3.10.0-aarch64-syscalls.patch
+  add fdatasync, msync, pread64, setreuid, setregid,
+  mknodat, fchdir, chroot, fchownat, fchmod and fchown.
+
 * Sat Oct 11 2014 Mark Wielaard <mjw at redhat.com> - 3.10.0-4
 - Add valgrind-3.10.0-aarch64-times.patch
 - Add valgrind-3.10.0-aarch64-getsetsid.patch


More information about the scm-commits mailing list