summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaurice van der Pot <griffon26@gentoo.org>2009-11-08 00:28:38 +0000
committerMaurice van der Pot <griffon26@gentoo.org>2009-11-08 00:28:38 +0000
commit98dd43f65ef2cf1e71e806c0e173533750752e79 (patch)
treeeb5939a81834e20931c780190bb07d1d3830529a /dev-util/valgrind
parentMask net-libs/libsoup-2.2, bug #280906. (diff)
downloadgentoo-2-98dd43f65ef2cf1e71e806c0e173533750752e79.tar.gz
gentoo-2-98dd43f65ef2cf1e71e806c0e173533750752e79.tar.bz2
gentoo-2-98dd43f65ef2cf1e71e806c0e173533750752e79.zip
Fixed valgrind bugs #285513 and #292231 as well as a QA issue.
(Portage version: 2.1.6.13/cvs/Linux x86_64)
Diffstat (limited to 'dev-util/valgrind')
-rw-r--r--dev-util/valgrind/ChangeLog9
-rw-r--r--dev-util/valgrind/files/valgrind-3.5.0-glibc-2.11.patch43
-rw-r--r--dev-util/valgrind/files/valgrind-3.5.0-non-exec-stack.patch132
-rw-r--r--dev-util/valgrind/valgrind-3.5.0.ebuild11
4 files changed, 192 insertions, 3 deletions
diff --git a/dev-util/valgrind/ChangeLog b/dev-util/valgrind/ChangeLog
index 55124c6567ae..6b0b03677888 100644
--- a/dev-util/valgrind/ChangeLog
+++ b/dev-util/valgrind/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for dev-util/valgrind
# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-util/valgrind/ChangeLog,v 1.107 2009/10/23 19:17:39 griffon26 Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-util/valgrind/ChangeLog,v 1.108 2009/11/08 00:28:35 griffon26 Exp $
+
+ 08 Nov 2009; Maurice van der Pot <griffon26@gentoo.org>
+ valgrind-3.5.0.ebuild, +files/valgrind-3.5.0-glibc-2.11.patch,
+ +files/valgrind-3.5.0-non-exec-stack.patch:
+ Adapted configure.in to not abort when glibc-2.11 is installed (bug #292231).
+ Now using emake during installation instead of just make (bug #285513).
+ Fixed QA warning about executable stacks.
23 Oct 2009; Maurice van der Pot <griffon26@gentoo.org>
valgrind-3.5.0.ebuild, +files/valgrind-3.5.0-local-labels.patch:
diff --git a/dev-util/valgrind/files/valgrind-3.5.0-glibc-2.11.patch b/dev-util/valgrind/files/valgrind-3.5.0-glibc-2.11.patch
new file mode 100644
index 000000000000..393dc0bcf57d
--- /dev/null
+++ b/dev-util/valgrind/files/valgrind-3.5.0-glibc-2.11.patch
@@ -0,0 +1,43 @@
+diff -ruN valgrind-3.5.0/configure.in valgrind-3.5.0-fixed/configure.in
+--- valgrind-3.5.0/configure.in 2009-11-07 23:34:37.000000000 +0100
++++ valgrind-3.5.0-fixed/configure.in 2009-11-07 23:38:14.000000000 +0100
+@@ -656,6 +656,16 @@
+ ],
+ GLIBC_VERSION="2.10")
+
++AC_EGREP_CPP([GLIBC_211], [
++#include <features.h>
++#ifdef __GNU_LIBRARY__
++ #if (__GLIBC__ == 2 && __GLIBC_MINOR__ == 11)
++ GLIBC_211
++ #endif
++#endif
++],
++GLIBC_VERSION="2.11")
++
+ AC_EGREP_CPP([AIX5_LIBC], [
+ #include <standards.h>
+ #if defined(_AIXVERSION_510) || defined(_AIXVERSION_520) || defined(_AIXVERSION_530)
+@@ -742,6 +752,13 @@
+ DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
+ DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
+ ;;
++ 2.11)
++ AC_MSG_RESULT(2.11 family)
++ AC_DEFINE([GLIBC_2_11], 1, [Define to 1 if you're using glibc 2.11.x])
++ DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}"
++ DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
++ DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
++ ;;
+ aix5)
+ AC_MSG_RESULT(AIX 5.1 or 5.2 or 5.3)
+ AC_DEFINE([AIX5_LIBC], 1, [Define to 1 if you're using AIX 5.1 or 5.2 or 5.3])
+@@ -755,7 +772,7 @@
+
+ *)
+ AC_MSG_RESULT(unsupported version)
+- AC_MSG_ERROR([Valgrind requires glibc version 2.2 - 2.10])
++ AC_MSG_ERROR([Valgrind requires glibc version 2.2 - 2.11])
+ AC_MSG_ERROR([or AIX 5.1 or 5.2 or 5.3 GLIBC_VERSION])
+ AC_MSG_ERROR([or Darwin libc])
+ ;;
diff --git a/dev-util/valgrind/files/valgrind-3.5.0-non-exec-stack.patch b/dev-util/valgrind/files/valgrind-3.5.0-non-exec-stack.patch
new file mode 100644
index 000000000000..af80ff03b7d5
--- /dev/null
+++ b/dev-util/valgrind/files/valgrind-3.5.0-non-exec-stack.patch
@@ -0,0 +1,132 @@
+diff -ruN valgrind-3.5.0/coregrind/Makefile.am valgrind-3.5.0-fixed/coregrind/Makefile.am
+--- valgrind-3.5.0/coregrind/Makefile.am 2009-08-19 15:37:47.000000000 +0200
++++ valgrind-3.5.0-fixed/coregrind/Makefile.am 2009-11-08 01:18:58.000000000 +0100
+@@ -277,22 +277,12 @@
+ 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-ppc64-linux.S \
+- m_dispatch/dispatch-ppc32-aix5.S \
+- m_dispatch/dispatch-ppc64-aix5.S \
+- m_dispatch/dispatch-x86-darwin.S \
+- m_dispatch/dispatch-amd64-darwin.S \
+ m_initimg/initimg-linux.c \
+ m_initimg/initimg-aix5.c \
+ m_initimg/initimg-darwin.c \
+ 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/scheduler.c \
+ m_scheduler/sema.c \
+@@ -304,16 +294,6 @@
+ m_sigframe/sigframe-ppc64-aix5.c \
+ m_sigframe/sigframe-x86-darwin.c \
+ m_sigframe/sigframe-amd64-darwin.c \
+- m_start-x86-darwin.S \
+- m_start-amd64-darwin.S \
+- m_syswrap/syscall-x86-linux.S \
+- m_syswrap/syscall-amd64-linux.S \
+- m_syswrap/syscall-ppc32-linux.S \
+- m_syswrap/syscall-ppc64-linux.S \
+- m_syswrap/syscall-ppc32-aix5.S \
+- m_syswrap/syscall-ppc64-aix5.S \
+- m_syswrap/syscall-x86-darwin.S \
+- m_syswrap/syscall-amd64-darwin.S \
+ m_syswrap/syswrap-main.c \
+ m_syswrap/syswrap-generic.c \
+ m_syswrap/syswrap-linux.c \
+@@ -333,6 +313,20 @@
+ m_ume/main.c \
+ m_ume/script.c
+
++COREGRIND_SOURCES_COMMON += \
++ m_dispatch/dispatch-@VGCONF_ARCH_PRI@-@VGCONF_OS@.S \
++ m_dispatch/dispatch-@VGCONF_ARCH_SEC@-@VGCONF_OS@.S \
++ m_syswrap/syscall-@VGCONF_ARCH_PRI@-@VGCONF_OS@.S \
++ m_syswrap/syscall-@VGCONF_ARCH_SEC@-@VGCONF_OS@.S
++
++if VGCONF_OS_IS_DARWIN
++COREGRIND_SOURCES_COMMON += \
++ m_start-@VGCONF_ARCH_PRI@-darwin.S \
++ m_start-@VGCONF_ARCH_SEC@-darwin.S \
++ m_mach/mach_traps-@VGCONF_ARCH_PRI@-darwin.S \
++ m_mach/mach_traps-@VGCONF_ARCH_SEC@-darwin.S
++endif
++
+ libcoregrind_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_SOURCES = \
+ $(COREGRIND_SOURCES_COMMON)
+ nodist_libcoregrind_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_SOURCES = \
+diff -ruN valgrind-3.5.0/coregrind/m_dispatch/dispatch-amd64-linux.S valgrind-3.5.0-fixed/coregrind/m_dispatch/dispatch-amd64-linux.S
+--- valgrind-3.5.0/coregrind/m_dispatch/dispatch-amd64-linux.S 2009-08-19 15:37:41.000000000 +0200
++++ valgrind-3.5.0-fixed/coregrind/m_dispatch/dispatch-amd64-linux.S 2009-11-08 01:17:30.000000000 +0100
+@@ -338,11 +338,11 @@
+ ret
+ .size VG_(run_a_noredir_translation), .-VG_(run_a_noredir_translation)
+
++#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 -ruN valgrind-3.5.0/coregrind/m_dispatch/dispatch-x86-linux.S valgrind-3.5.0-fixed/coregrind/m_dispatch/dispatch-x86-linux.S
+--- valgrind-3.5.0/coregrind/m_dispatch/dispatch-x86-linux.S 2009-08-19 15:37:41.000000000 +0200
++++ valgrind-3.5.0-fixed/coregrind/m_dispatch/dispatch-x86-linux.S 2009-11-08 01:17:20.000000000 +0100
+@@ -305,11 +305,11 @@
+ .size VG_(run_a_noredir_translation), .-VG_(run_a_noredir_translation)
+
+
++#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 -ruN valgrind-3.5.0/coregrind/m_syswrap/syscall-amd64-linux.S valgrind-3.5.0-fixed/coregrind/m_syswrap/syscall-amd64-linux.S
+--- valgrind-3.5.0/coregrind/m_syswrap/syscall-amd64-linux.S 2009-08-19 15:37:42.000000000 +0200
++++ valgrind-3.5.0-fixed/coregrind/m_syswrap/syscall-amd64-linux.S 2009-11-08 01:16:46.000000000 +0100
+@@ -205,11 +205,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 -ruN valgrind-3.5.0/coregrind/m_syswrap/syscall-x86-linux.S valgrind-3.5.0-fixed/coregrind/m_syswrap/syscall-x86-linux.S
+--- valgrind-3.5.0/coregrind/m_syswrap/syscall-x86-linux.S 2009-08-19 15:37:42.000000000 +0200
++++ valgrind-3.5.0-fixed/coregrind/m_syswrap/syscall-x86-linux.S 2009-11-08 01:16:55.000000000 +0100
+@@ -165,11 +165,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.5.0.ebuild b/dev-util/valgrind/valgrind-3.5.0.ebuild
index 63e25a93a046..861afe769a0d 100644
--- a/dev-util/valgrind/valgrind-3.5.0.ebuild
+++ b/dev-util/valgrind/valgrind-3.5.0.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-util/valgrind/valgrind-3.5.0.ebuild,v 1.2 2009/10/23 19:17:39 griffon26 Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-util/valgrind/valgrind-3.5.0.ebuild,v 1.3 2009/11/08 00:28:35 griffon26 Exp $
inherit autotools eutils flag-o-matic toolchain-funcs
@@ -42,6 +42,13 @@ src_unpack() {
# Yet more local labels, this time for ppc32 & ppc64
epatch "${FILESDIR}/valgrind-3.5.0-local-labels.patch"
+ # Don't just reject glibc-2.11
+ epatch "${FILESDIR}/valgrind-3.5.0-glibc-2.11.patch"
+
+ # Don't build in empty assembly files for other platforms or we'll get a QA
+ # warning about executable stacks.
+ epatch "${FILESDIR}/valgrind-3.5.0-non-exec-stack.patch"
+
# Regenerate autotools files
eautoreconf
}
@@ -81,7 +88,7 @@ src_compile() {
}
src_install() {
- make DESTDIR="${D}" install || die "Install failed!"
+ emake DESTDIR="${D}" install || die "Install failed!"
dodoc AUTHORS FAQ.txt NEWS README*
}