diff --git a/SOURCES/valgrind-3.14.0-s390x-vec-facility-bit.patch b/SOURCES/valgrind-3.14.0-s390x-vec-facility-bit.patch new file mode 100644 index 0000000..c00ed62 --- /dev/null +++ b/SOURCES/valgrind-3.14.0-s390x-vec-facility-bit.patch @@ -0,0 +1,32 @@ +commit 467c7c4c9665c0f8b41a4416722a027ebc05df2b +Author: Andreas Arnez +Date: Mon Jan 21 14:10:00 2019 +0100 + + Bug 403552 s390x: Fix vector facility bit number + + The wrong bit number was used when checking for the vector facility. This + can result in a fatal emulation error: "Encountered an instruction that + requires the vector facility. That facility is not available on this + host." + + In many cases the wrong facility bit was usually set as well, hence + nothing bad happened. But when running Valgrind within a Qemu/KVM guest, + the wrong bit was not (always?) set and the emulation error occurred. + + This fix simply corrects the vector facility bit number, changing it from + 128 to 129. + + +diff --git a/VEX/pub/libvex_s390x_common.h b/VEX/pub/libvex_s390x_common.h +index a8a66b96b..8723ee21d 100644 +--- a/VEX/pub/libvex_s390x_common.h ++++ b/VEX/pub/libvex_s390x_common.h +@@ -103,7 +103,7 @@ + #define S390_FAC_MSA5 57 // message-security-assist 5 + #define S390_FAC_TREXE 73 // transactional execution + #define S390_FAC_MSA4 77 // message-security-assist 4 +-#define S390_FAC_VX 128 // vector facility ++#define S390_FAC_VX 129 // vector facility + + + /*--------------------------------------------------------------*/ diff --git a/SPECS/valgrind.spec b/SPECS/valgrind.spec index 9b004c9..91313d9 100644 --- a/SPECS/valgrind.spec +++ b/SPECS/valgrind.spec @@ -3,7 +3,7 @@ Summary: Tool for finding memory management bugs in programs Name: %{?scl_prefix}valgrind Version: 3.14.0 -Release: 9%{?dist} +Release: 10%{?dist} Epoch: 1 License: GPLv2+ URL: http://www.valgrind.org/ @@ -164,6 +164,10 @@ Patch30: valgrind-3.14.0-mc_translate-vecret.patch Patch33: valgrind-3.14.0-power9-addex.patch +# KDE#403552 s390x: wrong facility bit checked for vector facility +Patch36: valgrind-3.14.0-s390x-vec-facility-bit.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 @@ -326,6 +330,8 @@ Valgrind User Manual for details. %patch33 -p1 +%patch36 -p1 + %build CC=gcc %if %{build_multilib} @@ -559,6 +565,9 @@ fi %endif %changelog +* Thu Jan 24 2019 Mark Wielaard - 3.14.0-10 +- Add valgrind-3.14.0-s390x-vec-facility-bit.patch. + * Mon Jan 7 2019 Mark Wielaard - 3.14.0-9 - Add valgrind-3.14.0-power9-addex.patch