3.18.1-8 Add valgrind-3.18.1-s390x-wflrx.patch
Resolves: #2035807 Valgrind crashes with illegal instruction error on s390x when trying to build snapd package for EPEL 9
This commit is contained in:
		
							parent
							
								
									3eb0ee5913
								
							
						
					
					
						commit
						f2fdb4985d
					
				
							
								
								
									
										33
									
								
								valgrind-3.18.1-s390x-wflrx.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								valgrind-3.18.1-s390x-wflrx.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,33 @@ | ||||
| From da3b331c63a6aec0ec3206b1d9ca0df9bced3338 Mon Sep 17 00:00:00 2001 | ||||
| From: Andreas Arnez <arnez@linux.ibm.com> | ||||
| Date: Mon, 3 Jan 2022 18:15:05 +0100 | ||||
| Subject: [PATCH] s390: Fix VFLRX and WFLRX instructions | ||||
| 
 | ||||
| Due to a typo in s390_irgen_VFLR, the VFLR instruction behaves incorrectly | ||||
| when its m3 field contains 4, meaning extended format.  In that case VFLR | ||||
| is also written as VFLRX (or WFLRX) and supposed to round down from the | ||||
| extended 128-bit format to the long 64-bit format.  However, the typo | ||||
| checks for m3 == 2 instead, so the value of 4 is unhandled, causing | ||||
| Valgrind to throw a specification exception. | ||||
| 
 | ||||
| This fixes the typo. | ||||
| ---
 | ||||
|  VEX/priv/guest_s390_toIR.c | 2 +- | ||||
|  1 file changed, 1 insertion(+), 1 deletion(-) | ||||
| 
 | ||||
| diff --git a/VEX/priv/guest_s390_toIR.c b/VEX/priv/guest_s390_toIR.c
 | ||||
| index fffc563d4..3ef104fcd 100644
 | ||||
| --- a/VEX/priv/guest_s390_toIR.c
 | ||||
| +++ b/VEX/priv/guest_s390_toIR.c
 | ||||
| @@ -19008,7 +19008,7 @@ s390_irgen_VFLL(UChar v1, UChar v2, UChar m3, UChar m4, UChar m5)
 | ||||
|  static const HChar * | ||||
|  s390_irgen_VFLR(UChar v1, UChar v2, UChar m3, UChar m4, UChar m5) | ||||
|  { | ||||
| -   s390_insn_assert("vflr", m3 == 3 || (s390_host_has_vxe && m3 == 2));
 | ||||
| +   s390_insn_assert("vflr", m3 == 3 || (s390_host_has_vxe && m3 == 4));
 | ||||
|   | ||||
|     if (m3 == 3) | ||||
|        s390_vector_fp_convert(Iop_F64toF32, Ity_F64, Ity_F32, True, | ||||
| -- 
 | ||||
| 2.31.1 | ||||
| 
 | ||||
| @ -3,7 +3,7 @@ | ||||
| Summary: Tool for finding memory management bugs in programs | ||||
| Name: %{?scl_prefix}valgrind | ||||
| Version: 3.18.1 | ||||
| Release: 6%{?dist} | ||||
| Release: 8%{?dist} | ||||
| Epoch: 1 | ||||
| License: GPLv2+ | ||||
| URL: http://www.valgrind.org/ | ||||
| @ -137,6 +137,9 @@ Patch20: valgrind-3.18.1-s390x-vdso.patch | ||||
| # KDE#447995 Valgrind segfault on power10 due to hwcap checking code | ||||
| Patch21: valgrind-3.18.1-ppc-hwcaps.patch | ||||
| 
 | ||||
| # KDE#447991 s390x: Valgrind indicates illegal instruction on wflrx | ||||
| Patch22: valgrind-3.18.1-s390x-wflrx.patch | ||||
| 
 | ||||
| BuildRequires: make | ||||
| BuildRequires: glibc-devel | ||||
| 
 | ||||
| @ -290,6 +293,7 @@ Valgrind User Manual for details. | ||||
| %patch19 -p1 | ||||
| %patch20 -p1 | ||||
| %patch21 -p1 | ||||
| %patch22 -p1 | ||||
| 
 | ||||
| %build | ||||
| # LTO triggers undefined symbols in valgrind.  Valgrind has a --enable-lto | ||||
| @ -519,8 +523,9 @@ fi | ||||
| %endif | ||||
| 
 | ||||
| %changelog | ||||
| * Thu Jan 13 2022 Mark Wielaard <mjw@redhat.com> | ||||
| * Thu Jan 13 2022 Mark Wielaard <mjw@redhat.com> - 3.18.1-8 | ||||
| - Add valgrind-3.18.1-ppc-hwcaps.patch | ||||
| - Add valgrind-3.18.1-s390x-wflrx.patch | ||||
| 
 | ||||
| * Tue Dec 14 2021 Mark Wielaard <mjw@redhat.com> - 3.18.1-6 | ||||
| - Add valgrind-3.18.1-rseq-enosys.patch | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user