dev-util/valgrind: version bump to 3.11.0
authorAnthony G. Basile <blueness@gentoo.org>
Sat, 26 Sep 2015 11:05:44 +0000 (07:05 -0400)
committerAnthony G. Basile <blueness@gentoo.org>
Sat, 26 Sep 2015 11:06:07 +0000 (07:06 -0400)
Package-Manager: portage-2.2.20.1

dev-util/valgrind/Manifest
dev-util/valgrind/files/valgrind-3.11.0-non-exec-stack.patch [new file with mode: 0644]
dev-util/valgrind/valgrind-3.11.0.ebuild [new file with mode: 0644]

index 1073c90a648eab2c3f1d431c4c2f8a9e42a00235..418783d06a8a7c07ba11f4da591cdf5213119b19 100644 (file)
@@ -1,4 +1,5 @@
 DIST valgrind-3.10.1.tar.bz2 10967905 SHA256 fa253dc26ddb661b6269df58144eff607ea3f76a9bcfe574b0c7726e1dfcb997 SHA512 8f3d27637c13b06381b3dd44088244e0cf2f7008f40e46f34322f2a5bfa6373d29ce68ff49f19c48f1a5f139d8be5838b9606206e0ce2599c5f74c0db8ce2642 WHIRLPOOL 3d55f35b02195d9859d9192726ea708277f1d3339005d959baa224822c5b71f5347cdd28c7fd8153c10d1e3282855e853caf9c7192751bebdbbc3444c33d885a
+DIST valgrind-3.11.0.tar.bz2 11910809 SHA256 6c396271a8c1ddd5a6fb9abe714ea1e8a86fce85b30ab26b4266aeb4c2413b42 SHA512 a25f97fa80aef4ad1e86b303886cd7a97aac248820a4c24e3d3dc26567dd7d2d86db237866468fd43885a9fb8534cb0a8e301a3c752fffbc231a2842272999da WHIRLPOOL a881df25e64789954d9bcb44617fd92d832ae9953689c01f8f79d737379c523a6f3a8125283518a6f256770a5c4f204b7b859794cf714abb0a742a69b272ef0e
 DIST valgrind-3.7.0.tar.bz2 6624216 SHA256 5d62c0330f1481fe2c593249192fa68ff454c19c34343978cc9ce91aa324cbf6 SHA512 0ccf6607fe6d26f0dc0f3d6e45f84645925d0a90ce4ecf6acfc6b4d374d3e909b2a628b03c0a964a45d2462cca6877f818a5f72b3e4a5bbf3a2d9b8a9a343d5f WHIRLPOOL 44bf8c423d6f3222f5e777333acc21e94dfa680509b2152289129961296d8afc090466b6407248b6e172b3c42da5448206f257bd63f8e44aba01007f92a6fde1
 DIST valgrind-3.8.1.tar.bz2 7962963 SHA256 473be00576bed311a662b277a2bfbe97d9cca4058e68619a0e420c9fc19958db SHA512 ba31f5d43bd2d9533846bed6456a0eae40ac071ff8732201dd75c9e2cd7e9ce3224cb5928b9c8fc859a75ce6867a9b6a1fb2ba8ab62cd3944893d6d4156ab25c WHIRLPOOL 81e63bb649455ed29fcd60fc7f3cebde456a610118b9b24530d3b2e8aa4a7561369e992af86ffb158e1f7fc0db7b91738564402931a947a79bb789bd26a8e065
 DIST valgrind-3.9.0.tar.bz2 10003156 SHA256 e6af71a06bc2534541b07743e1d58dc3caf744f38205ca3e5b5a0bdf372ed6f0 SHA512 4b748f9f9a647df50db75fb56f83ee2f25bad9f1f4e4f05c4ac1d1e919e6cd954975c1f325dbedb509c44be1a8516ac2a5f269090946a0d728166ab183016c7b WHIRLPOOL e73c4dcdff829a34889f5654c5ec314f32d2c33f9e64bde3f811359a252749a6c677db80bf2aa2647f935cd38a0ccc19c0358a7b13198032c5d636f97e9e71de
diff --git a/dev-util/valgrind/files/valgrind-3.11.0-non-exec-stack.patch b/dev-util/valgrind/files/valgrind-3.11.0-non-exec-stack.patch
new file mode 100644 (file)
index 0000000..b5c151a
--- /dev/null
@@ -0,0 +1,154 @@
+diff -Naur valgrind-3.11.0.orig/coregrind/Makefile.am valgrind-3.11.0/coregrind/Makefile.am
+--- valgrind-3.11.0.orig/coregrind/Makefile.am 2015-09-08 09:23:26.000000000 -0400
++++ valgrind-3.11.0/coregrind/Makefile.am      2015-09-26 06:52:04.226983707 -0400
+@@ -354,21 +354,6 @@
+       m_demangle/demangle.c \
+       m_demangle/dyn-string.c \
+       m_demangle/safe-ctype.c \
+-      m_dispatch/dispatch-x86-linux.S \
+-      m_dispatch/dispatch-amd64-linux.S \
+-      m_dispatch/dispatch-ppc32-linux.S \
+-      m_dispatch/dispatch-ppc64be-linux.S \
+-      m_dispatch/dispatch-ppc64le-linux.S \
+-      m_dispatch/dispatch-arm-linux.S \
+-      m_dispatch/dispatch-arm64-linux.S \
+-      m_dispatch/dispatch-s390x-linux.S \
+-      m_dispatch/dispatch-mips32-linux.S \
+-      m_dispatch/dispatch-mips64-linux.S \
+-      m_dispatch/dispatch-tilegx-linux.S \
+-      m_dispatch/dispatch-x86-darwin.S \
+-      m_dispatch/dispatch-amd64-darwin.S \
+-      m_dispatch/dispatch-x86-solaris.S \
+-      m_dispatch/dispatch-amd64-solaris.S \
+       m_gdbserver/inferiors.c \
+       m_gdbserver/m_gdbserver.c \
+       m_gdbserver/regcache.c \
+@@ -394,8 +379,6 @@
+       m_initimg/initimg-pathscan.c \
+       m_mach/mach_basics.c \
+       m_mach/mach_msg.c \
+-      m_mach/mach_traps-x86-darwin.S \
+-      m_mach/mach_traps-amd64-darwin.S \
+       m_replacemalloc/replacemalloc_core.c \
+       m_scheduler/sched-lock.c \
+       m_scheduler/sched-lock-generic.c \
+@@ -415,21 +398,6 @@
+       m_sigframe/sigframe-x86-darwin.c \
+       m_sigframe/sigframe-amd64-darwin.c \
+       m_sigframe/sigframe-solaris.c \
+-      m_syswrap/syscall-x86-linux.S \
+-      m_syswrap/syscall-amd64-linux.S \
+-      m_syswrap/syscall-ppc32-linux.S \
+-      m_syswrap/syscall-ppc64be-linux.S \
+-      m_syswrap/syscall-ppc64le-linux.S \
+-      m_syswrap/syscall-arm-linux.S \
+-      m_syswrap/syscall-arm64-linux.S \
+-      m_syswrap/syscall-s390x-linux.S \
+-      m_syswrap/syscall-mips32-linux.S \
+-      m_syswrap/syscall-mips64-linux.S \
+-      m_syswrap/syscall-tilegx-linux.S \
+-      m_syswrap/syscall-x86-darwin.S \
+-      m_syswrap/syscall-amd64-darwin.S \
+-      m_syswrap/syscall-x86-solaris.S \
+-      m_syswrap/syscall-amd64-solaris.S \
+       m_syswrap/syswrap-main.c \
+       m_syswrap/syswrap-generic.c \
+       m_syswrap/syswrap-linux.c \
+@@ -456,6 +424,29 @@
+       m_ume/main.c \
+       m_ume/script.c
++COREGRIND_SOURCES_COMMON += \
++      m_dispatch/dispatch-@VGCONF_ARCH_PRI@-@VGCONF_OS@.S \
++      m_syswrap/syscall-@VGCONF_ARCH_PRI@-@VGCONF_OS@.S
++
++if VGCONF_HAVE_PLATFORM_SEC
++COREGRIND_SOURCES_COMMON += \
++      m_dispatch/dispatch-@VGCONF_ARCH_SEC@-@VGCONF_OS@.S \
++      m_syswrap/syscall-@VGCONF_ARCH_SEC@-@VGCONF_OS@.S
++endif
++
++if VGCONF_OS_IS_DARWIN
++COREGRIND_SOURCES_COMMON += \
++      m_dispatch/dispatch-@VGCONF_ARCH_PRI@-darwin.S \
++      m_syswrap/syscall-@VGCONF_ARCH_PRI@-darwin.S \
++      m_mach/mach_traps-@VGCONF_ARCH_PRI@-darwin.S
++if VGCONF_HAVE_PLATFORM_SEC
++COREGRIND_SOURCES_COMMON += \
++      m_dispatch/dispatch-@VGCONF_ARCH_SEC@-darwin.S \
++      m_syswrap/syscall-@VGCONF_ARCH_SEC@-darwin.S \
++      m_mach/mach_traps-@VGCONF_ARCH_SEC@-darwin.S
++endif
++endif
++
+ libcoregrind_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_SOURCES = \
+     $(COREGRIND_SOURCES_COMMON)
+ nodist_libcoregrind_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_SOURCES = \
+diff -Naur valgrind-3.11.0.orig/coregrind/m_dispatch/dispatch-amd64-linux.S valgrind-3.11.0/coregrind/m_dispatch/dispatch-amd64-linux.S
+--- valgrind-3.11.0.orig/coregrind/m_dispatch/dispatch-amd64-linux.S   2015-09-08 09:23:26.000000000 -0400
++++ valgrind-3.11.0/coregrind/m_dispatch/dispatch-amd64-linux.S        2015-09-26 06:46:20.103000200 -0400
+@@ -249,11 +249,11 @@
+ .size VG_(disp_run_translations), .-VG_(disp_run_translations)
++#endif // defined(VGP_amd64_linux)
++
+ /* Let the linker know we don't need an executable stack */
+ .section .note.GNU-stack,"",@progbits
+-#endif // defined(VGP_amd64_linux)
+-
+ /*--------------------------------------------------------------------*/
+ /*--- end                                                          ---*/
+ /*--------------------------------------------------------------------*/
+diff -Naur valgrind-3.11.0.orig/coregrind/m_dispatch/dispatch-x86-linux.S valgrind-3.11.0/coregrind/m_dispatch/dispatch-x86-linux.S
+--- valgrind-3.11.0.orig/coregrind/m_dispatch/dispatch-x86-linux.S     2015-09-08 09:23:26.000000000 -0400
++++ valgrind-3.11.0/coregrind/m_dispatch/dispatch-x86-linux.S  2015-09-26 06:46:20.103000200 -0400
+@@ -240,11 +240,11 @@
+ .size VG_(disp_run_translations), .-VG_(disp_run_translations)
++#endif // defined(VGP_x86_linux)
++
+ /* Let the linker know we don't need an executable stack */
+ .section .note.GNU-stack,"",@progbits
+-#endif // defined(VGP_x86_linux)
+-
+ /*--------------------------------------------------------------------*/
+ /*--- end                                                          ---*/
+ /*--------------------------------------------------------------------*/
+diff -Naur valgrind-3.11.0.orig/coregrind/m_syswrap/syscall-amd64-linux.S valgrind-3.11.0/coregrind/m_syswrap/syscall-amd64-linux.S
+--- valgrind-3.11.0.orig/coregrind/m_syswrap/syscall-amd64-linux.S     2015-09-08 09:23:26.000000000 -0400
++++ valgrind-3.11.0/coregrind/m_syswrap/syscall-amd64-linux.S  2015-09-26 06:46:20.103000200 -0400
+@@ -244,11 +244,11 @@
+ ML_(blksys_finished): .quad 5b
+ .previous
++#endif // defined(VGP_amd64_linux)
++
+ /* Let the linker know we don't need an executable stack */
+ .section .note.GNU-stack,"",@progbits
+-#endif // defined(VGP_amd64_linux)
+-
+ /*--------------------------------------------------------------------*/
+ /*--- end                                                          ---*/
+ /*--------------------------------------------------------------------*/
+diff -Naur valgrind-3.11.0.orig/coregrind/m_syswrap/syscall-x86-linux.S valgrind-3.11.0/coregrind/m_syswrap/syscall-x86-linux.S
+--- valgrind-3.11.0.orig/coregrind/m_syswrap/syscall-x86-linux.S       2015-09-08 09:23:26.000000000 -0400
++++ valgrind-3.11.0/coregrind/m_syswrap/syscall-x86-linux.S    2015-09-26 06:46:20.103000200 -0400
+@@ -184,11 +184,11 @@
+ ML_(blksys_finished): .long 5b
+ .previous
+       
++#endif // defined(VGP_x86_linux)
++
+ /* Let the linker know we don't need an executable stack */
+ .section .note.GNU-stack,"",@progbits
+-#endif // defined(VGP_x86_linux)
+-
+ /*--------------------------------------------------------------------*/
+ /*--- end                                                          ---*/
+ /*--------------------------------------------------------------------*/
diff --git a/dev-util/valgrind/valgrind-3.11.0.ebuild b/dev-util/valgrind/valgrind-3.11.0.ebuild
new file mode 100644 (file)
index 0000000..8b2d9ca
--- /dev/null
@@ -0,0 +1,106 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+inherit autotools eutils flag-o-matic toolchain-funcs multilib pax-utils
+
+DESCRIPTION="An open-source memory debugger for GNU/Linux"
+HOMEPAGE="http://www.valgrind.org"
+SRC_URI="http://www.valgrind.org/downloads/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE="mpi"
+
+DEPEND="mpi? ( virtual/mpi )"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+       # Correct hard coded doc location
+       sed -i -e "s:doc/valgrind:doc/${PF}:" docs/Makefile.am || die
+
+       # Don't force multiarch stuff on OSX, bug #306467
+       sed -i -e 's:-arch \(i386\|x86_64\)::g' Makefile.all.am || die
+
+       # Respect CFLAGS, LDFLAGS
+       epatch "${FILESDIR}"/${PN}-3.7.0-respect-flags.patch
+
+       # Changing Makefile.all.am to disable SSP
+       epatch "${FILESDIR}"/${PN}-3.7.0-fno-stack-protector.patch
+
+       # Yet more local labels, this time for ppc32 & ppc64
+       epatch "${FILESDIR}"/${PN}-3.6.0-local-labels.patch
+
+       # Don't build in empty assembly files for other platforms or we'll get a QA
+       # warning about executable stacks.
+       epatch "${FILESDIR}"/${PN}-3.11.0-non-exec-stack.patch
+
+       # Allow users to test their own patches
+       epatch_user
+
+       # Regenerate autotools files
+       eautoreconf
+}
+
+src_configure() {
+       local myconf
+
+       # Respect ar, bug #468114
+       tc-export AR
+
+       # -fomit-frame-pointer  "Assembler messages: Error: junk `8' after expression"
+       #                       while compiling insn_sse.c in none/tests/x86
+       # -fpie                 valgrind seemingly hangs when built with pie on
+       #                       amd64 (bug #102157)
+       # -fstack-protector     more undefined references to __guard and __stack_smash_handler
+       #                       because valgrind doesn't link to glibc (bug #114347)
+       # -m64 -mx32                    for multilib-portage, bug #398825
+       # -ggdb3                segmentation fault on startup
+       filter-flags -fomit-frame-pointer
+       filter-flags -fpie
+       filter-flags -fstack-protector
+       filter-flags -m64 -mx32
+       replace-flags -ggdb3 -ggdb2
+
+       if use amd64 || use ppc64; then
+               ! has_multilib_profile && myconf="${myconf} --enable-only64bit"
+       fi
+
+       # Force bitness on darwin, bug #306467
+       use x86-macos && myconf="${myconf} --enable-only32bit"
+       use x64-macos && myconf="${myconf} --enable-only64bit"
+
+       # Don't use mpicc unless the user asked for it (bug #258832)
+       if ! use mpi; then
+               myconf="${myconf} --without-mpicc"
+       fi
+
+       econf ${myconf}
+}
+
+src_install() {
+       emake DESTDIR="${D}" install
+       dodoc AUTHORS FAQ.txt NEWS README*
+
+       pax-mark m "${ED}"/usr/$(get_libdir)/valgrind/*-*-linux
+
+       if [[ ${CHOST} == *-darwin* ]] ; then
+               # fix install_names on shared libraries, can't turn them into bundles,
+               # as dyld won't load them any more then, bug #306467
+               local l
+               for l in "${ED}"/usr/lib/valgrind/*.so ; do
+                       install_name_tool -id "${EPREFIX}"/usr/lib/valgrind/${l##*/} "${l}"
+               done
+       fi
+}
+
+pkg_postinst() {
+       elog "Valgrind will not work if glibc does not have debug symbols."
+       elog "To fix this you can add splitdebug to FEATURES in make.conf"
+       elog "and remerge glibc.  See:"
+       elog "https://bugs.gentoo.org/show_bug.cgi?id=214065"
+       elog "https://bugs.gentoo.org/show_bug.cgi?id=274771"
+       elog "https://bugs.gentoo.org/show_bug.cgi?id=388703"
+}