[valgrind] 3.9.0-17.svn20140513r13961
Mark Wielaard
mjw at fedoraproject.org
Fri Jul 4 23:13:16 UTC 2014
commit bca0a70374d69b43a678532be011127af6769e16
Author: Mark Wielaard <mjw at redhat.com>
Date: Sat Jul 5 01:12:09 2014 +0200
3.9.0-17.svn20140513r13961
- Remove ppc multilib support (#1116110)
- Add valgrind-3.9.0-ppc64-ifunc.patch
valgrind-3.9.0-ppc64-ifunc.patch | 32 ++++++++++++++++++++++++++++++++
valgrind.spec | 16 ++++++++++++----
2 files changed, 44 insertions(+), 4 deletions(-)
---
diff --git a/valgrind-3.9.0-ppc64-ifunc.patch b/valgrind-3.9.0-ppc64-ifunc.patch
new file mode 100644
index 0000000..2bc9be7
--- /dev/null
+++ b/valgrind-3.9.0-ppc64-ifunc.patch
@@ -0,0 +1,32 @@
+--- valgrind/coregrind/vg_preloaded.c (revision 14128)
++++ valgrind/coregrind/vg_preloaded.c (working copy)
+@@ -77,17 +77,28 @@
+ {
+ OrigFn fn;
+ Addr result = 0;
++ Addr fnentry;
+
+ /* Call the original indirect function and get it's result */
+ VALGRIND_GET_ORIG_FN(fn);
+ CALL_FN_W_v(result, fn);
+
++#if defined(VGP_ppc64_linux)
++ /* ppc64 uses function descriptors, so get the actual function entry
++ address for the client request, but return the function descriptor
++ from this function. */
++ UWord *descr = (UWord*)result;
++ fnentry = (void*)(descr[0]);
++#else
++ fnentry = result;
++#endif
++
+ /* Ask the valgrind core running on the real CPU (as opposed to this
+ code which runs on the emulated CPU) to update the redirection that
+ led to this function. This client request eventually gives control to
+ the function VG_(redir_add_ifunc_target) in m_redir.c */
+ VALGRIND_DO_CLIENT_REQUEST_STMT(VG_USERREQ__ADD_IFUNC_TARGET,
+- fn.nraddr, result, 0, 0, 0);
++ fn.nraddr, fnentry, 0, 0, 0);
+ return (void*)result;
+ }
+
diff --git a/valgrind.spec b/valgrind.spec
index 0cd8680..103bb30 100644
--- a/valgrind.spec
+++ b/valgrind.spec
@@ -6,7 +6,7 @@
Summary: Tool for finding memory management bugs in programs
Name: %{?scl_prefix}valgrind
Version: 3.9.0
-Release: 16.svn%{?svn_date}r%{?svn_rev}%{?dist}
+Release: 17.svn%{?svn_date}r%{?svn_rev}%{?dist}
Epoch: 1
License: GPLv2+
URL: http://www.valgrind.org/
@@ -15,9 +15,9 @@ Group: Development/Debuggers
# Only necessary for RHEL, will be ignored on Fedora
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-# Note that s390x and aarch64 are not multilib.
-# Only x86_64 and ppc64 support 32bit too.
-%ifarch x86_64 ppc64
+# Only arches that are supported upstream as multilib and that fedora
+# has multilib builds for should set build_multilib 1.
+%ifarch x86_64
%global build_multilib 1
%else
%global build_multilib 0
@@ -65,6 +65,9 @@ Patch7: valgrind-3.9.0-format-security.patch
Patch8: valgrind-3.9.0-aarch64-glibc-2.19.90-gcc-4.9.patch
+# KDE#337094 - ifunc wrapper is broken on ppc64
+Patch9: valgrind-3.9.0-ppc64-ifunc.patch
+
%if %{build_multilib}
# Ensure glibc{,-devel} is installed for both multilib arches
BuildRequires: /lib/libc.so.6 /usr/lib/libc.so /lib64/libc.so.6 /usr/lib64/libc.so
@@ -172,6 +175,7 @@ Valgrind User Manual for details.
%patch6 -p1
%patch7 -p1
%patch8 -p1
+%patch9 -p1
%build
# We need to use the software collection compiler and binutils if available.
@@ -326,6 +330,10 @@ echo ===============END TESTING===============
%endif
%changelog
+* Fri Jul 4 2014 Mark Wielaard <mjw at redhat.com> 3.9.0-17.svn20140513r13961
+- Remove ppc multilib support (#1116110)
+- Add valgrind-3.9.0-ppc64-ifunc.patch
+
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 1:3.9.0-16.svn20140513r13961
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
More information about the scm-commits
mailing list