diff --git a/valgrind-3.9.0-xabort.patch b/valgrind-3.9.0-xabort.patch new file mode 100644 index 0000000..1d0b43f --- /dev/null +++ b/valgrind-3.9.0-xabort.patch @@ -0,0 +1,35 @@ +From ae58d7305de27aa96abf715456a07045018cda98 Mon Sep 17 00:00:00 2001 +From: Mark Wielaard +Date: Tue, 26 Nov 2013 22:49:55 +0100 +Subject: [PATCH] Bug 328100 XABORT not implemented. + +XABORT can be called even when there is no current transaction. +In such a case XABORT acts as a NOP. Implement xabort as nop. +--- + priv/guest_amd64_toIR.c | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/VEX/priv/guest_amd64_toIR.c b/VEX/priv/guest_amd64_toIR.c +index a17c8f4..7ea5748 100644 +--- a/VEX/priv/guest_amd64_toIR.c ++++ b/VEX/priv/guest_amd64_toIR.c +@@ -20270,6 +20270,16 @@ Long dis_ESC_NONE ( + return delta; + } + /* END HACKY SUPPORT FOR xbegin */ ++ /* BEGIN HACKY SUPPORT FOR xabort */ ++ if (modrm == 0xF8 && !have66orF2orF3(pfx) && sz == 1 ++ && (archinfo->hwcaps & VEX_HWCAPS_AMD64_AVX)) { ++ delta++; /* mod/rm byte */ ++ abyte = getUChar(delta); delta++; ++ /* There is never a real transaction in progress, so do nothing. */ ++ DIP("xabort $%d", (Int)abyte); ++ return delta; ++ } ++ /* END HACKY SUPPORT FOR xabort */ + goto decode_failure; + + case 0xC8: /* ENTER */ +-- +1.8.3.1 + diff --git a/valgrind.spec b/valgrind.spec index 86a5c12..0e2f167 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.9.0 -Release: 3%{?dist} +Release: 4%{?dist} Epoch: 1 License: GPLv2+ URL: http://www.valgrind.org/ @@ -44,6 +44,9 @@ Patch9: valgrind-3.9.0-anon-typedef.patch # KDE#327943 - s390x missing index/strchr suppression for ld.so bad backtrace? Patch10: valgrind-3.9.0-s390x-ld-supp.patch +# KDE#328100 - XABORT not implemented +Patch11: valgrind-3.9.0-xabort.patch + %ifarch x86_64 ppc64 # 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 @@ -146,6 +149,8 @@ Valgrind User Manual for details. %patch10 -p1 %endif +%patch11 -p1 + %build # We need to use the software collection compiler and binutils if available. # The configure checks might otherwise miss support for various newer @@ -298,6 +303,9 @@ echo ===============END TESTING=============== %endif %changelog +* Thu Nov 28 2013 Mark Wielaard - 3.9.0-4 +- Add valgrind-3.9.0-xabort.patch. + * Fri Nov 22 2013 Mark Wielaard - 3.9.0-3 - Add valgrind-3.9.0-anon-typedef.patch. - Add valgrind-3.9.0-s390x-ld-supp.patch