diff --git a/valgrind-3.10-s390-spechelper.patch b/valgrind-3.10-s390-spechelper.patch new file mode 100644 index 0000000..c4ffcab --- /dev/null +++ b/valgrind-3.10-s390-spechelper.patch @@ -0,0 +1,25 @@ +commit d1d90974d5239151892742b11dd26cf12055aade +Author: cborntra +Date: Thu Feb 5 11:05:10 2015 +0000 + + Fix bug 343802. We need to handle one more special case in the spechelper + + + git-svn-id: svn://svn.valgrind.org/vex/trunk@3083 8f6e269a-dfd6-0310-a8e1-e2731360e62c + +diff --git a/VEX/priv/guest_s390_helpers.c b/VEX/priv/guest_s390_helpers.c +index 78ca2ef..df1f24b 100644 +--- a/VEX/priv/guest_s390_helpers.c ++++ b/VEX/priv/guest_s390_helpers.c +@@ -1958,7 +1958,10 @@ guest_s390x_spechelper(const HChar *function_name, IRExpr **args, + return unop(Iop_1Uto32, binop(Iop_CmpNE64, cc_dep1, mkU64(0))); + } + if (cond == 4 || cond == 4 + 1) { +- return unop(Iop_1Uto32, binop(Iop_CmpLT64S, cc_dep1, mkU64(0))); ++ /* Special case cc_dep < 0. Only check the MSB to avoid bogus ++ memcheck complaints due to gcc magic. Fixes 343802 ++ */ ++ return unop(Iop_64to32, binop(Iop_Shr64, cc_dep1, mkU8(63))); + } + if (cond == 8 + 4 || cond == 8 + 4 + 1) { + return unop(Iop_1Uto32, binop(Iop_CmpLE64S, cc_dep1, mkU64(0))); diff --git a/valgrind.spec b/valgrind.spec index ad733fe..6268303 100644 --- a/valgrind.spec +++ b/valgrind.spec @@ -3,7 +3,7 @@ Summary: Tool for finding memory management bugs in programs Name: %{?scl_prefix}valgrind Version: 3.10.1 -Release: 2%{?dist} +Release: 3%{?dist} Epoch: 1 License: GPLv2+ URL: http://www.valgrind.org/ @@ -61,6 +61,9 @@ Patch4: valgrind-3.9.0-ldso-supp.patch # KDE#342795 Internal glibc __GI_mempcpy call should be intercepted Patch5: valgrind-3.10.1-mempcpy.patch +# KDE#343802 - s390x memcheck reports spurious conditional jump +Patch6: valgrind-3.10-s390-spechelper.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 @@ -164,6 +167,7 @@ Valgrind User Manual for details. %patch3 -p1 %patch4 -p1 %patch5 -p1 +%patch6 -p1 %build # We need to use the software collection compiler and binutils if available. @@ -312,6 +316,9 @@ echo ===============END TESTING=============== %endif %changelog +* Thu Feb 05 2015 Mark Wielaard - 3.10.1-3 +- Add valgrind-3.10-s390-spechelper.patch. + * Tue Jan 13 2015 Mark Wielaard - 3.10.1-2 - Add valgrind-3.10.1-mempcpy.patch.