diff --git a/valgrind-3.11.0-futex.patch b/valgrind-3.11.0-futex.patch new file mode 100644 index 0000000..c3289bb --- /dev/null +++ b/valgrind-3.11.0-futex.patch @@ -0,0 +1,33 @@ +commit 9a447c6472947bce97e8b90b7f3f97bd7cd9f3ed +Author: mjw +Date: Wed Feb 17 20:53:34 2016 +0000 + + Bug 359201 futex syscall skips argument 5 if op is FUTEX_WAIT_BITSET + + git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15793 a5019735-40e9-0310-863c-91ae7b9d1cf9 + +diff --git a/coregrind/m_syswrap/syswrap-linux.c b/coregrind/m_syswrap/syswrap-linux.c +index f796969..b57436c 100644 +--- a/coregrind/m_syswrap/syswrap-linux.c ++++ b/coregrind/m_syswrap/syswrap-linux.c +@@ -1154,13 +1154,16 @@ PRE(sys_futex) + return; + } + if (*(vki_u32 *)ARG1 != ARG3) { +- PRE_REG_READ5(long, "futex", ++ PRE_REG_READ4(long, "futex", + vki_u32 *, futex, int, op, int, val, +- struct timespec *, utime, int, dummy); ++ struct timespec *, utime); + } else { +- PRE_REG_READ6(long, "futex", ++ /* Note argument 5 is unused, but argument 6 is used. ++ So we cannot just PRE_REG_READ6. Read argument 6 separately. */ ++ PRE_REG_READ4(long, "futex", + vki_u32 *, futex, int, op, int, val, +- struct timespec *, utime, int, dummy, int, val3); ++ struct timespec *, utime); ++ PRA6("futex",int,val3); + } + break; + case VKI_FUTEX_WAKE_BITSET: diff --git a/valgrind.spec b/valgrind.spec index 8785724..087d6ef 100644 --- a/valgrind.spec +++ b/valgrind.spec @@ -101,6 +101,9 @@ Patch17: valgrind-3.11.0-x86_unwind.patch # KDE#358478 drd/tests/std_thread.cpp doesn't build with GCC6 Patch18: valgrind-3.11.0-drd_std_thread.patch +# KDE#359201 futex syscall skips argument 5 if op is FUTEX_WAIT_BITSET +Patch19: valgrind-3.11.0-futex.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 @@ -223,6 +226,7 @@ Valgrind User Manual for details. %patch16 -p1 %patch17 -p1 %patch18 -p1 +%patch19 -p1 %build # We need to use the software collection compiler and binutils if available. @@ -417,6 +421,7 @@ echo ===============END TESTING=============== %changelog * Wed Feb 17 2016 Mark Wielaard - Remove valgrind-3.11.0-no-stv.patch (gcc6 has been fixed). +- Add valgrind-3.11.0-futex.patch * Fri Feb 05 2016 Fedora Release Engineering - 1:3.11.0-12 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild