3.15.0-4 - Add valgrind-3.15.0-arm64-ld-stpcpy.patch

This commit is contained in:
Mark Wielaard 2019-05-07 21:45:48 +02:00
parent 3e6dfff36e
commit 7bd740f94f
2 changed files with 53 additions and 1 deletions

View File

@ -0,0 +1,45 @@
commit 89423f5d8ba05a099c2c62227a00a4f4eec59eb3
Author: Mark Wielaard <mark@klomp.org>
Date: Tue May 7 21:20:04 2019 +0200
Intercept stpcpy also in ld.so for arm64
On other arches stpcpy () is intercepted for both libc.so and ld.so.
But not on arm64, where it is only intercepted for libc.so.
This can cause memcheck warnings about the use of stpcpy () in ld.so
when called through dlopen () because ld.so contains its own copy of
that functions.
Fix by introducing VG_Z_LD_LINUX_AARCH64_SO_1 (the encoded name of
ld.so on arm64) and using that in vg_replace_strmem.c to intercept
stpcpy.
https://bugs.kde.org/show_bug.cgi?id=407307
diff --git a/include/pub_tool_redir.h b/include/pub_tool_redir.h
index c97941f..15ba67f 100644
--- a/include/pub_tool_redir.h
+++ b/include/pub_tool_redir.h
@@ -313,7 +313,9 @@
#define VG_Z_LD_SO_1 ldZdsoZd1 // ld.so.1
#define VG_U_LD_SO_1 "ld.so.1"
+#define VG_Z_LD_LINUX_AARCH64_SO_1 ldZhlinuxZhaarch64ZdsoZd1
#define VG_U_LD_LINUX_AARCH64_SO_1 "ld-linux-aarch64.so.1"
+
#define VG_U_LD_LINUX_ARMHF_SO_3 "ld-linux-armhf.so.3"
#endif
diff --git a/shared/vg_replace_strmem.c b/shared/vg_replace_strmem.c
index 89a7dcc..19143cf 100644
--- a/shared/vg_replace_strmem.c
+++ b/shared/vg_replace_strmem.c
@@ -1160,6 +1160,7 @@ static inline void my_exit ( int x )
STPCPY(VG_Z_LIBC_SONAME, __stpcpy_sse2_unaligned)
STPCPY(VG_Z_LD_LINUX_SO_2, stpcpy)
STPCPY(VG_Z_LD_LINUX_X86_64_SO_2, stpcpy)
+ STPCPY(VG_Z_LD_LINUX_AARCH64_SO_1,stpcpy)
#elif defined(VGO_darwin)
//STPCPY(VG_Z_LIBC_SONAME, stpcpy)

View File

@ -3,7 +3,7 @@
Summary: Tool for finding memory management bugs in programs Summary: Tool for finding memory management bugs in programs
Name: %{?scl_prefix}valgrind Name: %{?scl_prefix}valgrind
Version: 3.15.0 Version: 3.15.0
Release: 3%{?dist} Release: 4%{?dist}
Epoch: 1 Epoch: 1
License: GPLv2+ License: GPLv2+
URL: http://www.valgrind.org/ URL: http://www.valgrind.org/
@ -100,6 +100,9 @@ Patch7: valgrind-3.15.0-ppc64-filter_gdb.patch
# KDE#407218 Add support for the copy_file_range syscall # KDE#407218 Add support for the copy_file_range syscall
Patch8: valgrind-3.15.0-copy_file_range.patch Patch8: valgrind-3.15.0-copy_file_range.patch
# KDE#407307 Intercept stpcpy also in ld.so for arm64
Patch9: valgrind-3.15.0-arm64-ld-stpcpy.patch
BuildRequires: glibc-devel BuildRequires: glibc-devel
%if %{build_openmpi} %if %{build_openmpi}
@ -234,6 +237,7 @@ Valgrind User Manual for details.
%patch7 -p1 %patch7 -p1
%patch8 -p1 %patch8 -p1
%patch9 -p1
%build %build
@ -454,6 +458,9 @@ fi
%endif %endif
%changelog %changelog
* Tue May 7 2019 Mark Wielaard <mjw@fedoraproject.org> - 3.15.0-4
- Add valgrind-3.15.0-arm64-ld-stpcpy.patch
* Sun May 5 2019 Mark Wielaard <mjw@fedoraproject.org> - 3.15.0-3 * Sun May 5 2019 Mark Wielaard <mjw@fedoraproject.org> - 3.15.0-3
- Add valgrind-3.15.0-copy_file_range.patch - Add valgrind-3.15.0-copy_file_range.patch