diff --git a/valgrind-3.11.0-futex.patch b/valgrind-3.11.0-futex.patch index c3289bb..50b4e9b 100644 --- a/valgrind-3.11.0-futex.patch +++ b/valgrind-3.11.0-futex.patch @@ -6,11 +6,27 @@ Date: Wed Feb 17 20:53:34 2016 +0000 git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15793 a5019735-40e9-0310-863c-91ae7b9d1cf9 +commit f71fd226f26ab49a615d7886ff2aeadc9915c7c1 +Author: mjw +Date: Thu Feb 18 11:14:47 2016 +0000 + + Bug 359201 followup. futex skips argument 5 if op is FUTEX_WAIT_BITSET. + + The original fix in svn r15793 read argument 6 separately by using PRA6 + unconditionally. This is wrong. We need to first check whether a + track_pre_reg_read callback is registered (only memcheck does). + The PRE_REG_READX macro already had this check. Just add the same + before calling PRA6. Thanks to Tom Hughes for noticing. Without this + helgrind/tests/cond_timedwait_test and drd/tests/pth_inconsistent_cond_wait + regtests would fail. + + git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15795 a5019735-40e9-0310-8 + diff --git a/coregrind/m_syswrap/syswrap-linux.c b/coregrind/m_syswrap/syswrap-linux.c -index f796969..b57436c 100644 +index f796969..f2d1076 100644 --- a/coregrind/m_syswrap/syswrap-linux.c +++ b/coregrind/m_syswrap/syswrap-linux.c -@@ -1154,13 +1154,16 @@ PRE(sys_futex) +@@ -1154,13 +1154,17 @@ PRE(sys_futex) return; } if (*(vki_u32 *)ARG1 != ARG3) { @@ -27,7 +43,8 @@ index f796969..b57436c 100644 vki_u32 *, futex, int, op, int, val, - struct timespec *, utime, int, dummy, int, val3); + struct timespec *, utime); -+ PRA6("futex",int,val3); ++ if (VG_(tdict).track_pre_reg_read) ++ PRA6("futex",int,val3); } break; case VKI_FUTEX_WAKE_BITSET: diff --git a/valgrind.spec b/valgrind.spec index 0c20fea..fb6c0eb 100644 --- a/valgrind.spec +++ b/valgrind.spec @@ -423,6 +423,9 @@ echo ===============END TESTING=============== %endif %changelog +* Thu Feb 18 2016 Mark Wielaard +- Update valgrind-3.11.0-futex.patch. + * Wed Feb 17 2016 Mark Wielaard - 3.11.0-13 - Remove valgrind-3.11.0-no-stv.patch (gcc6 has been fixed). - Add valgrind-3.11.0-futex.patch