3.9.0-17.svn20140513r13961

- Remove ppc multilib support (#1116110)
- Add valgrind-3.9.0-ppc64-ifunc.patch
This commit is contained in:
Mark Wielaard 2014-07-05 01:12:09 +02:00
parent 994910a30d
commit bca0a70374
2 changed files with 44 additions and 4 deletions

View File

@ -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;
}

View File

@ -6,7 +6,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.9.0 Version: 3.9.0
Release: 16.svn%{?svn_date}r%{?svn_rev}%{?dist} Release: 17.svn%{?svn_date}r%{?svn_rev}%{?dist}
Epoch: 1 Epoch: 1
License: GPLv2+ License: GPLv2+
URL: http://www.valgrind.org/ URL: http://www.valgrind.org/
@ -15,9 +15,9 @@ Group: Development/Debuggers
# Only necessary for RHEL, will be ignored on Fedora # Only necessary for RHEL, will be ignored on Fedora
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
# Note that s390x and aarch64 are not multilib. # Only arches that are supported upstream as multilib and that fedora
# Only x86_64 and ppc64 support 32bit too. # has multilib builds for should set build_multilib 1.
%ifarch x86_64 ppc64 %ifarch x86_64
%global build_multilib 1 %global build_multilib 1
%else %else
%global build_multilib 0 %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 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} %if %{build_multilib}
# Ensure glibc{,-devel} is installed for both multilib arches # 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 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 %patch6 -p1
%patch7 -p1 %patch7 -p1
%patch8 -p1 %patch8 -p1
%patch9 -p1
%build %build
# We need to use the software collection compiler and binutils if available. # We need to use the software collection compiler and binutils if available.
@ -326,6 +330,10 @@ echo ===============END TESTING===============
%endif %endif
%changelog %changelog
* Fri Jul 4 2014 Mark Wielaard <mjw@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@lists.fedoraproject.org> - 1:3.9.0-16.svn20140513r13961 * Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:3.9.0-16.svn20140513r13961
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild