Resolves: #1953752
routine rebase of valgrind for rhel 9
Resolves: #1889825
valgrind powerpc P9 baseline validation
Resolves: #1870001
Add POWER10 support for valgrind

Add valgrind-3.17.0-ppc64-isa-3.1{,tests}.patch
Add valgrind-3.17.0-s390_insn_as_string.patch
BuildRequires and Recommends elfutils-debuginfod-client
Add valgrind-3.17.0-clone-parent-res.patch
This commit is contained in:
Mark Wielaard 2021-05-04 15:26:48 +02:00 committed by Mark Wielaard
parent c37d54e223
commit 5fd490645f
7 changed files with 3603 additions and 3 deletions

View File

@ -0,0 +1,21 @@
commit e08a82991a9b9dc87c13f2b89273f25f97d14baf
Author: Tom Hughes <tom@compton.nu>
Date: Tue Apr 6 22:44:36 2021 +0100
Only process clone results in the parent thread
Fixes BZ#423963
diff --git a/coregrind/m_syswrap/syswrap-linux.c b/coregrind/m_syswrap/syswrap-linux.c
index 5ae4e6613..c59d8ee26 100644
--- a/coregrind/m_syswrap/syswrap-linux.c
+++ b/coregrind/m_syswrap/syswrap-linux.c
@@ -940,7 +940,7 @@ PRE(sys_clone)
("Valgrind does not support general clone().");
}
- if (SUCCESS) {
+ if (SUCCESS && RES != 0) {
if (ARG_FLAGS & (VKI_CLONE_PARENT_SETTID | VKI_CLONE_PIDFD))
POST_MEM_WRITE(ARG3, sizeof(Int));
if (ARG_FLAGS & (VKI_CLONE_CHILD_SETTID | VKI_CLONE_CHILD_CLEARTID))

View File

@ -0,0 +1,30 @@
commit 93104368952c37268da724231487058ea3eaf1dc
Author: Tom Hughes <tom@compton.nu>
Date: Thu May 20 17:16:06 2021 +0100
Don't look for separate debuginfo if the image has a .debug_info section
Fixes BZ#435908
diff --git a/coregrind/m_debuginfo/readelf.c b/coregrind/m_debuginfo/readelf.c
index b0f062ddc..e424e3e7e 100644
--- a/coregrind/m_debuginfo/readelf.c
+++ b/coregrind/m_debuginfo/readelf.c
@@ -2879,13 +2879,15 @@ Bool ML_(read_elf_debug_info) ( struct _DebugInfo* di )
/* Look for a build-id */
HChar* buildid = find_buildid(mimg, False, False);
- /* Look for a debug image that matches either the build-id or
+ /* If we don't have a .debug_info section in the main image then
+ look for a debug image that matches either the build-id or
the debuglink-CRC32 in the main image. If the main image
doesn't contain either of those then this won't even bother
to try looking. This looks in all known places, including
the --extra-debuginfo-path if specified and on the
--debuginfo-server if specified. */
- if (buildid != NULL || debuglink_escn.img != NULL) {
+ if (debug_info_escn.img == NULL &&
+ (buildid != NULL || debuglink_escn.img != NULL)) {
/* Do have a debuglink section? */
if (debuglink_escn.img != NULL) {
UInt crc_offset

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,54 @@
commit 45873298ff2d17accc65654d64758360616aade5
Author: Andreas Arnez <arnez@linux.ibm.com>
Date: Tue Mar 30 18:10:43 2021 +0200
s390x: Add missing UNOP insns to s390_insn_as_string
Some unary operator insns are not handled by s390_insn_as_string(). If
they are encountered while the appropriate trace flag is set, a vpanic
occurs. Fix this: add handling for the missing insns.
diff --git a/VEX/priv/host_s390_defs.c b/VEX/priv/host_s390_defs.c
index 8762975b2..6e0734ae0 100644
--- a/VEX/priv/host_s390_defs.c
+++ b/VEX/priv/host_s390_defs.c
@@ -7860,12 +7860,24 @@ s390_insn_as_string(const s390_insn *insn)
op = "v-vunpacku";
break;
- case S390_VEC_FLOAT_NEG:
- op = "v-vfloatneg";
+ case S390_VEC_ABS:
+ op = "v-vabs";
break;
- case S390_VEC_FLOAT_SQRT:
- op = "v-vfloatsqrt";
+ case S390_VEC_COUNT_LEADING_ZEROES:
+ op = "v-vclz";
+ break;
+
+ case S390_VEC_COUNT_TRAILING_ZEROES:
+ op = "v-vctz";
+ break;
+
+ case S390_VEC_COUNT_ONES:
+ op = "v-vpopct";
+ break;
+
+ case S390_VEC_FLOAT_NEG:
+ op = "v-vfloatneg";
break;
case S390_VEC_FLOAT_ABS:
@@ -7876,6 +7888,10 @@ s390_insn_as_string(const s390_insn *insn)
op = "v-vfloatnabs";
break;
+ case S390_VEC_FLOAT_SQRT:
+ op = "v-vfloatsqrt";
+ break;
+
default:
goto fail;
}

View File

@ -0,0 +1,14 @@
diff --git a/none/tests/s390x/Makefile.am b/none/tests/s390x/Makefile.am
index a0fb92ef5..ac62506b9 100644
--- a/none/tests/s390x/Makefile.am
+++ b/none/tests/s390x/Makefile.am
@@ -66,7 +67,8 @@ cu14_1_CFLAGS = $(AM_CFLAGS) -DM3=1
cu21_1_CFLAGS = $(AM_CFLAGS) -DM3=1
cu24_1_CFLAGS = $(AM_CFLAGS) -DM3=1
fixbr_CFLAGS = $(AM_CFLAGS) @FLAG_MLONG_DOUBLE_128@
-fpext_CFLAGS = $(AM_CFLAGS) @FLAG_MLONG_DOUBLE_128@
+fpext_CFLAGS = $(AM_CFLAGS) -march=z13 @FLAG_MLONG_DOUBLE_128@
+pfpo_CFLAGS = $(AM_CFLAGS) -march=z13
ex_clone_LDADD = -lpthread
vector_CFLAGS = $(AM_CFLAGS) -march=z13
lsc2_CFLAGS = -march=z13 -DS390_TESTS_NOCOLOR

View File

@ -3,7 +3,7 @@
Summary: Tool for finding memory management bugs in programs
Name: %{?scl_prefix}valgrind
Version: 3.17.0
Release: 2%{?dist}
Release: 4%{?dist}
Epoch: 1
License: GPLv2+
URL: http://www.valgrind.org/
@ -88,6 +88,37 @@ Patch4: valgrind-3.16.0-some-stack-protector.patch
# Add some -Wl,z,now.
Patch5: valgrind-3.16.0-some-Wl-z-now.patch
# Upstream commits that provide additional ppc64le ISA 3.1 support
# commit 3cc0232c46a5905b4a6c2fbd302b58bf5f90b3d5
# PPC64: ISA 3.1 VSX PCV Generate Operations
# commit 078f89e99b6f62e043f6138c6a7ae238befc1f2a
# PPC64: Reduced-Precision bfloat16 Outer Product & Format Conversion Operations
# commit e09fdaf569b975717465ed8043820d0198d4d47d
# PPC64: Reduced-Precision: Missing Integer-based Outer Product Operations
Patch6: valgrind-3.17.0-ppc64-isa-3.1.patch
# Upstream commits that provide extra tests for ppc64le ISA 3.1 support
# commit c8fa838be405d7ac43035dcf675bf490800c26ec
# Reduced Precision bfloat16 outer product tests
# commit 4bcc6c8a97c10c4dd41b35bd3b3035ec4037d524
# VSX Permute Control Vector Generate Operation tests.
# commit c589b652939655090c005a982a71f50c489fb5ce
# Reduced precision Missing Integer based outer tests
Patch7: valgrind-3.17.0-ppc64-isa-3.1-tests.patch
# commit 45873298ff2d17accc65654d64758360616aade5
# s390x: Add missing UNOP insns to s390_insn_as_string
Patch8: valgrind-3.17.0-s390_insn_as_string.patch
# KDE#435908 Don't look for separate debuginfo if image already has .debug_info
Patch9: valgrind-3.17.0-debuginfod.patch
# KDE#423963 Only process clone results in the parent thread
Patch10: valgrind-3.17.0-clone-parent-res.patch
# workaround for https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100217
Patch11: valgrind-3.17.0-s390x-tests-z14-workaround.patch
BuildRequires: make
BuildRequires: glibc-devel
@ -121,10 +152,12 @@ BuildRequires: docbook-dtds
# configure might use which
BuildRequires: which
# For testing the debuginfod
# For testing debuginfod-find
%if 0%{?fedora} > 29 || 0%{?rhel} > 7
BuildRequires: elfutils-debuginfod
BuildRequires: elfutils-debuginfod-client
%endif
# For using debuginfod at runtime
Recommends: elfutils-debuginfod-client
%{?scl:Requires:%scl_runtime}
@ -227,6 +260,13 @@ Valgrind User Manual for details.
%patch5 -p1
%endif
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch11 -p1
%build
# LTO triggers undefined symbols in valgrind. Valgrind has a --enable-lto
# configure time option, but that doesn't seem to help.
@ -451,6 +491,15 @@ fi
%endif
%changelog
* Thu Jun 3 2021 Mark Wielaard <mjw@redhat.com> - 3.17.0-4
- Add valgrind-3.17.0-s390_insn_as_string.patch
- Add valgrind-3.17.0-debuginfod.patch
- Add valgrind-3.17.0-clone-parent-res.patch
- Add valgrind-3.17.0-s390x-tests-z14-workaround.patch
* Tue May 4 2021 Mark Wielaard <mjw@fedoraproject.org> - 3.17.0-3
- Add valgrind-3.17.0-ppc64-isa-3.1{,tests}.patch
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 1:3.17.0-2
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937