3.18.1-6 - Add valgrind-3.18.1-s390x-vdso.patch

Resolves: #2031713
s390x vgdb tests crash
This commit is contained in:
Mark Wielaard 2021-12-14 22:51:19 +01:00
parent 691f76201b
commit 2bb2bbbf19
2 changed files with 35 additions and 2 deletions

View File

@ -0,0 +1,28 @@
commit 99bf5dabf7865aaea7f2192373633e026c6fb16e
Author: Andreas Arnez <arnez@linux.ibm.com>
Date: Thu Dec 9 15:27:41 2021 +0100
Bug 444481 - Don't unmap the vDSO on s390x
Newer Linux kernels on s390x may use the vDSO as a "trampoline" for
syscall restart. This means that the vDSO is no longer optional, and
unmapping it may lead to a segmentation fault when a system call restart
is performed.
So far Valgrind has been unmapping the vDSO on s390x. Just don't do this
anymore.
diff --git a/coregrind/m_initimg/initimg-linux.c b/coregrind/m_initimg/initimg-linux.c
index 7d02d5567..95508ad1e 100644
--- a/coregrind/m_initimg/initimg-linux.c
+++ b/coregrind/m_initimg/initimg-linux.c
@@ -892,7 +892,8 @@ Addr setup_client_stack( void* init_sp,
# if !defined(VGP_ppc32_linux) && !defined(VGP_ppc64be_linux) \
&& !defined(VGP_ppc64le_linux) \
&& !defined(VGP_mips32_linux) && !defined(VGP_mips64_linux) \
- && !defined(VGP_nanomips_linux)
+ && !defined(VGP_nanomips_linux) \
+ && !defined(VGP_s390x_linux)
case AT_SYSINFO_EHDR: {
/* Trash this, because we don't reproduce it */
const NSegment* ehdrseg = VG_(am_find_nsegment)((Addr)auxv->u.a_ptr);

View File

@ -3,7 +3,7 @@
Summary: Tool for finding memory management bugs in programs
Name: %{?scl_prefix}valgrind
Version: 3.18.1
Release: 5%{?dist}
Release: 6%{?dist}
Epoch: 1
License: GPLv2+
URL: http://www.valgrind.org/
@ -131,6 +131,9 @@ Patch18: valgrind-3.18.1-demangle-namespace.patch
# KDE#405377 Handle new Linux kernel feature: Restartable Sequences ("rseq")
Patch19: valgrind-3.18.1-rseq-enosys.patch
# KDE#444481 gdb_server test failures on s390x
Patch20: valgrind-3.18.1-s390x-vdso.patch
BuildRequires: make
BuildRequires: glibc-devel
@ -282,6 +285,7 @@ Valgrind User Manual for details.
%patch17 -p1
%patch18 -p1
%patch19 -p1
%patch20 -p1
%build
# LTO triggers undefined symbols in valgrind. Valgrind has a --enable-lto
@ -511,8 +515,9 @@ fi
%endif
%changelog
* Tue Dec 14 2021 Mark Wielaard <mjw@redhat.com>
* Tue Dec 14 2021 Mark Wielaard <mjw@redhat.com> - 3.18.1-6
- Add valgrind-3.18.1-rseq-enosys.patch
- Add valgrind-3.18.1-s390x-vdso.patch
* Wed Nov 24 2021 Mark Wielaard <mjw@redhat.com> - 3.18.1-5
- Add valgrind-3.18.1-dhat-tests-copy.patch