valgrind: update to valgrind-3.6.1-r1

update to valgrind-3.6.1-r1 because the current version doesn't work
with glibc-2.11

BUG=none
TEST=emerge-$board valgrind

Change-Id: I59a0a6c095edd3cdb8efdd4d4988906b80147952
Reviewed-on: https://gerrit.chromium.org/gerrit/13344
Commit-Ready: Jason Glasgow <jglasgow@chromium.org>
Reviewed-by: Jason Glasgow <jglasgow@chromium.org>
Tested-by: Jason Glasgow <jglasgow@chromium.org>
This commit is contained in:
Jason Glasgow 2011-12-21 13:52:50 -05:00
parent b3bd8cb68f
commit 3f35c9c135
6 changed files with 410 additions and 0 deletions

View File

@ -0,0 +1,49 @@
--- valgrind-3.4.1/glibc-2.X.supp.in.jj 2009-03-01 17:04:51.000000000 -0500
+++ valgrind-3.4.1/glibc-2.X.supp.in 2009-05-11 11:17:35.605396000 -0400
@@ -168,9 +168,9 @@
Memcheck:Param
socketcall.sendto(msg)
fun:__sendto_nocancel
- obj:/*libc-@GLIBC_VERSION@.so
- obj:/*libc-@GLIBC_VERSION@.so
- obj:/*libc-@GLIBC_VERSION@.so
+ obj:/*libc-@GLIBC_VERSION@*.so
+ obj:/*libc-@GLIBC_VERSION@*.so
+ obj:/*libc-@GLIBC_VERSION@*.so
}
{
glibc24-64bit-padding-1c
@@ -180,7 +180,7 @@
fun:__nscd_get_map_ref
fun:nscd_get*_r
fun:*nscd*
- obj:/*libc-@GLIBC_VERSION@.so
+ obj:/*libc-@GLIBC_VERSION@*.so
}
@@ -199,18 +199,18 @@
Memcheck:Param
socketcall.sendto(msg)
fun:send
- obj:/*libc-@GLIBC_VERSION@.so
- obj:/*libc-@GLIBC_VERSION@.so
- obj:/*libc-@GLIBC_VERSION@.so
+ obj:/*libc-@GLIBC_VERSION@*.so
+ obj:/*libc-@GLIBC_VERSION@*.so
+ obj:/*libc-@GLIBC_VERSION@*.so
}
{
X11-64bit-padding-4b
Memcheck:Param
socketcall.send(msg)
fun:send
- obj:/*libc-@GLIBC_VERSION@.so
- obj:/*libc-@GLIBC_VERSION@.so
- obj:/*libc-@GLIBC_VERSION@.so
+ obj:/*libc-@GLIBC_VERSION@*.so
+ obj:/*libc-@GLIBC_VERSION@*.so
+ obj:/*libc-@GLIBC_VERSION@*.so
}
##----------------------------------------------------------------------##

View File

@ -0,0 +1,24 @@
--- coregrind/m_libcassert.c 2010-10-21 04:19:45.000000000 +0800
+++ coregrind/m_libcassert.c 2010-10-24 20:23:17.800001876 +0800
@@ -81,8 +81,8 @@
{ UInt cia, r1, lr; \
__asm__ __volatile__( \
"mflr 0;" /* r0 = lr */ \
- "bl m_libcassert_get_ip;" /* lr = pc */ \
- "m_libcassert_get_ip:\n" \
+ "bl 0f;" /* lr = pc */ \
+ "0:\n" \
"mflr %0;" /* %0 = pc */ \
"mtlr 0;" /* restore lr */ \
"mr %1,1;" /* %1 = r1 */ \
@@ -100,8 +100,8 @@
{ ULong cia, r1, lr; \
__asm__ __volatile__( \
"mflr 0;" /* r0 = lr */ \
- "bl .m_libcassert_get_ip;" /* lr = pc */ \
- ".m_libcassert_get_ip:\n" \
+ "bl 0f;" /* lr = pc */ \
+ "0:\n" \
"mflr %0;" /* %0 = pc */ \
"mtlr 0;" /* restore lr */ \
"mr %1,1;" /* %1 = r1 */ \

View File

@ -0,0 +1,137 @@
diff -ruN valgrind-3.6.0.orig/coregrind/Makefile.am valgrind-3.6.0/coregrind/Makefile.am
--- valgrind-3.6.0.orig/coregrind/Makefile.am 2010-10-21 04:19:45.000000000 +0800
+++ valgrind-3.6.0/coregrind/Makefile.am 2010-10-24 20:39:42.655001876 +0800
@@ -285,23 +285,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-arm-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 \
@@ -314,15 +303,6 @@
m_sigframe/sigframe-ppc64-aix5.c \
m_sigframe/sigframe-x86-darwin.c \
m_sigframe/sigframe-amd64-darwin.c \
- 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-arm-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 \
@@ -343,6 +323,24 @@
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_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.6.0.orig/coregrind/m_dispatch/dispatch-amd64-linux.S valgrind-3.6.0/coregrind/m_dispatch/dispatch-amd64-linux.S
--- valgrind-3.6.0.orig/coregrind/m_dispatch/dispatch-amd64-linux.S 2010-10-21 04:19:39.000000000 +0800
+++ valgrind-3.6.0/coregrind/m_dispatch/dispatch-amd64-linux.S 2010-10-24 20:39:41.462001899 +0800
@@ -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.6.0.orig/coregrind/m_dispatch/dispatch-x86-linux.S valgrind-3.6.0/coregrind/m_dispatch/dispatch-x86-linux.S
--- valgrind-3.6.0.orig/coregrind/m_dispatch/dispatch-x86-linux.S 2010-10-21 04:19:39.000000000 +0800
+++ valgrind-3.6.0/coregrind/m_dispatch/dispatch-x86-linux.S 2010-10-24 20:39:41.022001883 +0800
@@ -304,12 +304,11 @@
ret
.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.6.0.orig/coregrind/m_syswrap/syscall-amd64-linux.S valgrind-3.6.0/coregrind/m_syswrap/syscall-amd64-linux.S
--- valgrind-3.6.0.orig/coregrind/m_syswrap/syscall-amd64-linux.S 2010-10-21 04:19:41.000000000 +0800
+++ valgrind-3.6.0/coregrind/m_syswrap/syscall-amd64-linux.S 2010-10-24 20:39:40.576001879 +0800
@@ -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.6.0.orig/coregrind/m_syswrap/syscall-x86-linux.S valgrind-3.6.0/coregrind/m_syswrap/syscall-x86-linux.S
--- valgrind-3.6.0.orig/coregrind/m_syswrap/syscall-x86-linux.S 2010-10-21 04:19:41.000000000 +0800
+++ valgrind-3.6.0/coregrind/m_syswrap/syscall-x86-linux.S 2010-10-24 20:39:40.152001876 +0800
@@ -164,12 +164,12 @@
ML_(blksys_committed): .long 4b
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 ---*/
/*--------------------------------------------------------------------*/

View File

@ -0,0 +1,11 @@
--- configure.in 2011-06-09 16:33:14.000000000 -0400
+++ configure.in.orig 2011-06-09 16:33:08.000000000 -0400
@@ -220,7 +220,7 @@
kernel=`uname -r`
case "${kernel}" in
- 2.6.*)
+ 2.6.*|3.*)
AC_MSG_RESULT([2.6 family (${kernel})])
AC_DEFINE([KERNEL_2_6], 1, [Define to 1 if you're using Linux 2.6.x])
;;

View File

@ -0,0 +1,89 @@
--- configure.in.orig 2011-02-17 14:29:14.000000000 -0500
+++ configure.in 2011-02-17 15:05:46.000000000 -0500
@@ -1692,7 +1692,8 @@
# NEEDED BY THE REGRESSION TEST PROGRAMS.
-# The test below verifies whether the QtCore package been installed.
+# The test below first checks if the user has manaually disabled
+# QtCore. It then verifies whether the QtCore package been installed.
# This test works as follows:
# - If pkg-config was not installed at the time autogen.sh was run,
# the definition of the PKG_CHECK_EXISTS() macro will not be found by
@@ -1709,37 +1710,49 @@
# the pkg-config executable is not present on the system on which the
# configure script is run.
-ifdef(
- [PKG_CHECK_EXISTS],
- [PKG_CHECK_EXISTS(
- [QtCore],
+AC_ARG_ENABLE(qtcore,
+ AS_HELP_STRING(--enable-qtcore, compile with qtcore support),
[
- PKG_CHECK_MODULES([QTCORE], [QtCore])
- # Paranoia: don't trust the result reported by pkg-config, but when
- # pkg-config reports that QtCore has been found, verify whether linking
- # programs with QtCore succeeds.
- AC_LANG(C++)
- safe_CXXFLAGS="${CXXFLAGS}"
- CXXFLAGS="${QTCORE_CFLAGS} ${QTCORE_LIBS} $mflag_primary"
- AC_TRY_LINK(
- [#include <QMutex>],
- [QMutex Mutex;],
- [ac_have_qtcore=yes],
- [
- AC_MSG_WARN([Although pkg-config detected Qt4, linking Qt4 programs fails. Skipping Qt4.])
- ac_have_qtcore=no
- ]
- )
- CXXFLAGS="${safe_CXXFLAGS}"
+ if test x$enableval = xno ; then
+ AC_MSG_CHECKING([for QTCORE ])
+ AC_MSG_RESULT([QTCORE is manually distabled.])
+ [ac_have_qtcore=no]
+ fi
],
[
- ac_have_qtcore=no
+ ifdef(
+ [PKG_CHECK_EXISTS],
+ [PKG_CHECK_EXISTS(
+ [QtCore],
+ [
+ PKG_CHECK_MODULES([QTCORE], [QtCore])
+ # Paranoia: don't trust the result reported by pkg-config, but when
+ # pkg-config reports that QtCore has been found, verify whether linking
+ # programs with QtCore succeeds.
+ AC_LANG(C++)
+ safe_CXXFLAGS="${CXXFLAGS}"
+ CXXFLAGS="${QTCORE_CFLAGS} ${QTCORE_LIBS} $mflag_primary"
+ AC_TRY_LINK(
+ [#include <QMutex>],
+ [QMutex Mutex;],
+ [ac_have_qtcore=yes],
+ [
+ AC_MSG_WARN([Although pkg-config detected Qt4, linking Qt4 programs fails. Skipping Qt4.])
+ ac_have_qtcore=no
+ ]
+ )
+ CXXFLAGS="${safe_CXXFLAGS}"
+ ],
+ [
+ ac_have_qtcore=no
+ ]
+ )
+ ],
+ AC_MSG_WARN([pkg-config has not been installed or is too old.])
+ AC_MSG_WARN([Detection of Qt4 will be skipped.])
+ [ac_have_qtcore=no]
+ )
]
- )
- ],
- AC_MSG_WARN([pkg-config has not been installed or is too old.])
- AC_MSG_WARN([Detection of Qt4 will be skipped.])
- [ac_have_qtcore=no]
)
AM_CONDITIONAL([HAVE_QTCORE], [test x$ac_have_qtcore = xyes])

View File

@ -0,0 +1,100 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-util/valgrind/valgrind-3.6.1-r1.ebuild,v 1.4 2011/12/21 15:47:15 josejx Exp $
EAPI=2
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 ppc ppc64 x86 ~amd64-linux ~x86-linux"
IUSE="mpi qt4"
DEPEND="mpi? ( virtual/mpi )"
RDEPEND="${DEPEND}"
src_prepare() {
# Respect CFLAGS, LDFLAGS
sed -i -e '/^CPPFLAGS =/d' -e '/^CFLAGS =/d' -e '/^LDFLAGS =/d' \
mpi/Makefile.am || die
# Changing Makefile.all.am to disable SSP
sed -i -e 's:^AM_CFLAGS_BASE = :AM_CFLAGS_BASE = -fno-stack-protector :' \
Makefile.all.am || die
# Correct hard coded doc location
sed -i -e "s:doc/valgrind:doc/${PF}:" \
docs/Makefile.am || die
# 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.6.0-non-exec-stack.patch
# Fix up some suppressions that were not general enough for glibc versions
# with more than just a major and minor number.
epatch "${FILESDIR}"/${PN}-3.4.1-glibc-2.10.1.patch
# Remove automagic dependency on qt4
epatch "${FILESDIR}"/${PN}-3.6.1-user-enable-qt4.patch
# Allow valgrind to build against linux-3, bug #370857
epatch "${FILESDIR}"/${PN}-3.6.1-linux-3.patch
# Regenerate autotools files
eautoreconf
}
src_configure() {
local myconf
# -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)
# -ggdb3 segmentation fault on startup
filter-flags -fomit-frame-pointer
filter-flags -fpie
filter-flags -fstack-protector
replace-flags -ggdb3 -ggdb2
if use amd64 || use ppc64; then
! has_multilib_profile && myconf="${myconf} --enable-only64bit"
fi
# Don't use mpicc unless the user asked for it (bug #258832)
if ! use mpi; then
myconf="${myconf} --without-mpicc"
fi
if ! use qt4; then
myconf="${myconf} --disable-qtcore"
fi
econf ${myconf}
}
src_install() {
emake DESTDIR="${D}" install || die
dodoc AUTHORS FAQ.txt NEWS README*
pax-mark m "${D}"/usr/$(get_libdir)/valgrind/*-*-linux
}
pkg_postinst() {
if use ppc || use ppc64 || use amd64 ; then
ewarn "Valgrind will not work on ppc, ppc64 or amd64 if glibc does not have"
ewarn "debug symbols (see https://bugs.gentoo.org/show_bug.cgi?id=214065"
ewarn "and http://bugs.gentoo.org/show_bug.cgi?id=274771)."
ewarn "To fix this you can add splitdebug to FEATURES in make.conf and"
ewarn "remerge glibc."
fi
}