From 8ebb5c6c608e09584b9688330193be038a3c776b Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Wed, 3 Jun 2015 14:19:30 +0200 Subject: [PATCH] Add valgrind-3.10.1-syncfs.patch. --- valgrind-3.10.1-syncfs.patch | 158 +++++++++++++++++++++++++++++++++++ valgrind.spec | 5 ++ 2 files changed, 163 insertions(+) create mode 100644 valgrind-3.10.1-syncfs.patch diff --git a/valgrind-3.10.1-syncfs.patch b/valgrind-3.10.1-syncfs.patch new file mode 100644 index 0000000..7b8c48e --- /dev/null +++ b/valgrind-3.10.1-syncfs.patch @@ -0,0 +1,158 @@ +commit 7c91105917f41c11a0b377b2393725da380cd490 +Author: tom +Date: Thu May 7 18:54:31 2015 +0000 + + Add support for the syncfs system call. + + Based on patch from j@eckel.me on BZ#347389. + + + git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15191 a5019735-40e9-0310-863c-91ae7b9d1cf9 + +diff --git a/coregrind/m_syswrap/priv_syswrap-linux.h b/coregrind/m_syswrap/priv_syswrap-linux.h +index d093974..6552dca 100644 +--- a/coregrind/m_syswrap/priv_syswrap-linux.h ++++ b/coregrind/m_syswrap/priv_syswrap-linux.h +@@ -287,6 +287,8 @@ DECL_TEMPLATE(linux, sys_fanotify_mark); + DECL_TEMPLATE(linux, sys_getrandom); + DECL_TEMPLATE(linux, sys_memfd_create); + ++DECL_TEMPLATE(linux, sys_syncfs); ++ + /* --------------------------------------------------------------------- + Wrappers for sockets and ipc-ery. These are split into standalone + procedures because x86-linux hides them inside multiplexors +diff --git a/coregrind/m_syswrap/syswrap-amd64-linux.c b/coregrind/m_syswrap/syswrap-amd64-linux.c +index 62f7ee6..de3288e 100644 +--- a/coregrind/m_syswrap/syswrap-amd64-linux.c ++++ b/coregrind/m_syswrap/syswrap-amd64-linux.c +@@ -1062,7 +1062,7 @@ static SyscallTableEntry syscall_table[] = { + LINXY(__NR_open_by_handle_at, sys_open_by_handle_at),// 304 + + LINXY(__NR_clock_adjtime, sys_clock_adjtime), // 305 +-// LINX_(__NR_syncfs, sys_ni_syscall), // 306 ++ LINX_(__NR_syncfs, sys_syncfs), // 306 + LINXY(__NR_sendmmsg, sys_sendmmsg), // 307 + // LINX_(__NR_setns, sys_ni_syscall), // 308 + LINXY(__NR_getcpu, sys_getcpu), // 309 +diff --git a/coregrind/m_syswrap/syswrap-arm-linux.c b/coregrind/m_syswrap/syswrap-arm-linux.c +index dc8714c..f8f56f5 100644 +--- a/coregrind/m_syswrap/syswrap-arm-linux.c ++++ b/coregrind/m_syswrap/syswrap-arm-linux.c +@@ -1212,6 +1212,7 @@ static SyscallTableEntry syscall_main_table[] = { + LINXY(__NR_name_to_handle_at, sys_name_to_handle_at),// 370 + LINXY(__NR_open_by_handle_at, sys_open_by_handle_at),// 371 + LINXY(__NR_clock_adjtime, sys_clock_adjtime), // 372 ++ LINX_(__NR_syncfs, sys_syncfs), // 373 + LINXY(__NR_sendmmsg, sys_sendmmsg), // 374 + LINXY(__NR_getrandom, sys_getrandom), // 384 + LINXY(__NR_memfd_create, sys_memfd_create) // 385 +diff --git a/coregrind/m_syswrap/syswrap-arm64-linux.c b/coregrind/m_syswrap/syswrap-arm64-linux.c +index 2f35e51..7551e8a 100644 +--- a/coregrind/m_syswrap/syswrap-arm64-linux.c ++++ b/coregrind/m_syswrap/syswrap-arm64-linux.c +@@ -1042,6 +1042,8 @@ static SyscallTableEntry syscall_main_table[] = { + + GENXY(__NR_wait4, sys_wait4), // 260 + ++ LINX_(__NR_syncfs, sys_syncfs), // 267 ++ + LINXY(__NR_sendmmsg, sys_sendmmsg), // 269 + LINXY(__NR_process_vm_readv, sys_process_vm_readv), // 270 + LINX_(__NR_process_vm_writev, sys_process_vm_writev), // 271 +diff --git a/coregrind/m_syswrap/syswrap-linux.c b/coregrind/m_syswrap/syswrap-linux.c +index f15c909..09c247c 100644 +--- a/coregrind/m_syswrap/syswrap-linux.c ++++ b/coregrind/m_syswrap/syswrap-linux.c +@@ -3064,6 +3064,13 @@ POST(sys_memfd_create) + } + } + ++PRE(sys_syncfs) ++{ ++ *flags |= SfMayBlock; ++ PRINT("sys_syncfs ( %ld )", ARG1); ++ PRE_REG_READ1(long, "syncfs", unsigned int, fd); ++} ++ + /* --------------------------------------------------------------------- + utime wrapper + ------------------------------------------------------------------ */ +diff --git a/coregrind/m_syswrap/syswrap-mips32-linux.c b/coregrind/m_syswrap/syswrap-mips32-linux.c +index 1b4c5bc..7a71576 100644 +--- a/coregrind/m_syswrap/syswrap-mips32-linux.c ++++ b/coregrind/m_syswrap/syswrap-mips32-linux.c +@@ -1112,6 +1112,7 @@ static SyscallTableEntry syscall_main_table[] = { + LINXY (__NR_prlimit64, sys_prlimit64), // 338 + //.. + LINXY (__NR_clock_adjtime, sys_clock_adjtime), // 341 ++ LINX_ (__NR_syncfs, sys_syncfs), // 342 + //.. + LINXY (__NR_process_vm_readv, sys_process_vm_readv), // 345 + LINX_ (__NR_process_vm_writev, sys_process_vm_writev), // 346 +diff --git a/coregrind/m_syswrap/syswrap-mips64-linux.c b/coregrind/m_syswrap/syswrap-mips64-linux.c +index d356645..3a5e979 100644 +--- a/coregrind/m_syswrap/syswrap-mips64-linux.c ++++ b/coregrind/m_syswrap/syswrap-mips64-linux.c +@@ -909,7 +909,8 @@ static SyscallTableEntry syscall_main_table[] = { + LINXY (__NR_process_vm_readv, sys_process_vm_readv), + LINX_ (__NR_process_vm_writev, sys_process_vm_writev), + LINXY(__NR_getrandom, sys_getrandom), +- LINXY(__NR_memfd_create, sys_memfd_create) ++ LINXY(__NR_memfd_create, sys_memfd_create), ++ LINX_(__NR_syncfs, sys_syncfs) + }; + + SyscallTableEntry * ML_(get_linux_syscall_entry) ( UInt sysno ) +diff --git a/coregrind/m_syswrap/syswrap-ppc32-linux.c b/coregrind/m_syswrap/syswrap-ppc32-linux.c +index 1f5d7f6..9c9937b 100644 +--- a/coregrind/m_syswrap/syswrap-ppc32-linux.c ++++ b/coregrind/m_syswrap/syswrap-ppc32-linux.c +@@ -1253,7 +1253,7 @@ static SyscallTableEntry syscall_table[] = { + LINXY(__NR_accept4, sys_accept4), // 344 + + LINX_(__NR_clock_adjtime, sys_clock_adjtime), // 347 +- ++ LINX_(__NR_syncfs, sys_syncfs), // 348 + LINXY(__NR_sendmmsg, sys_sendmmsg), // 349 + + LINXY(__NR_process_vm_readv, sys_process_vm_readv), // 351 +diff --git a/coregrind/m_syswrap/syswrap-ppc64-linux.c b/coregrind/m_syswrap/syswrap-ppc64-linux.c +index 6f3c1f7..e2432fd 100644 +--- a/coregrind/m_syswrap/syswrap-ppc64-linux.c ++++ b/coregrind/m_syswrap/syswrap-ppc64-linux.c +@@ -1155,7 +1155,7 @@ static SyscallTableEntry syscall_table[] = { + LINXY(__NR_accept4, sys_accept4), // 344 + + LINXY(__NR_clock_adjtime, sys_clock_adjtime), // 347 +- ++ LINX_(__NR_syncfs, sys_syncfs), // 348 + LINXY(__NR_sendmmsg, sys_sendmmsg), // 349 + + LINXY(__NR_process_vm_readv, sys_process_vm_readv), // 351 +diff --git a/coregrind/m_syswrap/syswrap-s390x-linux.c b/coregrind/m_syswrap/syswrap-s390x-linux.c +index 8e0afa0..db374f4 100644 +--- a/coregrind/m_syswrap/syswrap-s390x-linux.c ++++ b/coregrind/m_syswrap/syswrap-s390x-linux.c +@@ -1035,7 +1035,7 @@ static SyscallTableEntry syscall_table[] = { + LINXY(__NR_name_to_handle_at, sys_name_to_handle_at), // 335 + LINXY(__NR_open_by_handle_at, sys_open_by_handle_at), // 336 + LINXY(__NR_clock_adjtime, sys_clock_adjtime), // 337 +-// ?????(__NR_syncfs, ), // 338 ++ LINX_(__NR_syncfs, sys_syncfs), // 338 + // ?????(__NR_setns, ), // 339 + + LINXY(__NR_process_vm_readv, sys_process_vm_readv), // 340 +diff --git a/coregrind/m_syswrap/syswrap-x86-linux.c b/coregrind/m_syswrap/syswrap-x86-linux.c +index 0f80d4a..e08af76 100644 +--- a/coregrind/m_syswrap/syswrap-x86-linux.c ++++ b/coregrind/m_syswrap/syswrap-x86-linux.c +@@ -1805,7 +1805,7 @@ static SyscallTableEntry syscall_table[] = { + LINXY(__NR_name_to_handle_at, sys_name_to_handle_at),// 341 + LINXY(__NR_open_by_handle_at, sys_open_by_handle_at),// 342 + LINXY(__NR_clock_adjtime, sys_clock_adjtime), // 343 +-// LINX_(__NR_syncfs, sys_ni_syscall), // 344 ++ LINX_(__NR_syncfs, sys_syncfs), // 344 + + LINXY(__NR_sendmmsg, sys_sendmmsg), // 345 + // LINX_(__NR_setns, sys_ni_syscall), // 346 diff --git a/valgrind.spec b/valgrind.spec index e037868..76b7a37 100644 --- a/valgrind.spec +++ b/valgrind.spec @@ -86,6 +86,9 @@ Patch11: valgrind-3.10-1-ppc64-sigpending.patch # KDE#343012 - Unhandled syscall 319 (memfd_create) Patch12: valgrind-3.10.1-memfd_create.patch +# 347389 - Add support for the syncfs system call. +Patch13: valgrind-3.10.1-syncfs.patch + %if %{build_multilib} # Ensure glibc{,-devel} is installed for both multilib arches BuildRequires: /lib/libc.so.6 /usr/lib/libc.so /lib64/libc.so.6 /usr/lib64/libc.so @@ -196,6 +199,7 @@ Valgrind User Manual for details. %patch10 -p1 %patch11 -p1 %patch12 -p1 +%patch13 -p1 %build # We need to use the software collection compiler and binutils if available. @@ -353,6 +357,7 @@ echo ===============END TESTING=============== %changelog * Wed Jun 03 2015 Mark Wielaard - Add valgrind-3.10.1-memfd_create.patch. +- Add valgrind-3.10.1-syncfs.patch. * Fri May 22 2015 Mark Wielaard - 3.10.1-8 - Disable extended regtest on arm. The gdb tests hang for unknown reasons.