From: Andreas Arnez Date: Mon, 21 Jan 2019 13:10:00 +0000 (+0100) Subject: Bug 403552 s390x: Fix vector facility bit number X-Git-Tag: VALGRIND_3_15_0~97 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=467c7c4c9665c0f8b41a4416722a027ebc05df2b;p=thirdparty%2Fvalgrind.git 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/NEWS b/NEWS index 6ff9464238..fcd5ad9494 100644 --- a/NEWS +++ b/NEWS @@ -85,6 +85,7 @@ where XXXXXX is the bug number as listed below. 402481 vbit-test fails on x86 for Iop_CmpEQ64 iselInt64Expr Sar64 402515 Implement new option --show-error-list=no|yes / -s 402519 POWER 3.0 addex instruction incorrectly implemented +403552 s390x: wrong facility bit checked for vector facility n-i-bz add syswrap for PTRACE_GET|SET_THREAD_AREA on amd64. diff --git a/VEX/pub/libvex_s390x_common.h b/VEX/pub/libvex_s390x_common.h index a8a66b96b9..8723ee21d9 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 /*--------------------------------------------------------------*/