From 8cf836fca7ece5f03d0ee725b74d43f072f869b9 Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Nov 04 2014 21:59:20 +0000 Subject: 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. --- diff --git a/valgrind-3.10.0-aarch64-getsetsid.patch b/valgrind-3.10.0-aarch64-getsetsid.patch deleted file mode 100644 index 2071029..0000000 --- a/valgrind-3.10.0-aarch64-getsetsid.patch +++ /dev/null @@ -1,29 +0,0 @@ -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 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 +Date: Thu Oct 30 13:54:24 2014 +0000 + + Bug 339940 - (arm64/aarch64) unhandled syscall: 83 (sys_fdatasync) + patch + Patch from David Abdurachmanov + + + 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 +Date: Thu Oct 30 14:11:32 2014 +0000 + + Bug 340028 - unhandled syscalls for arm64 (msync, pread64, setreuid + and setregid) + Patch from dimitry@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 +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@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 +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-3.10.0-aarch64-times.patch b/valgrind-3.10.0-aarch64-times.patch deleted file mode 100644 index 7bcb2bd..0000000 --- a/valgrind-3.10.0-aarch64-times.patch +++ /dev/null @@ -1,20 +0,0 @@ -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/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 +- 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 - 3.10.0-4 - Add valgrind-3.10.0-aarch64-times.patch - Add valgrind-3.10.0-aarch64-getsetsid.patch