summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-util/valgrind/ChangeLog8
-rw-r--r--dev-util/valgrind/files/valgrind-3.2.1-glibc-2.5.patch241
-rw-r--r--dev-util/valgrind/valgrind-3.2.1.ebuild5
3 files changed, 252 insertions, 2 deletions
diff --git a/dev-util/valgrind/ChangeLog b/dev-util/valgrind/ChangeLog
index bff5b759f5ad..6ee94b809db3 100644
--- a/dev-util/valgrind/ChangeLog
+++ b/dev-util/valgrind/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for dev-util/valgrind
# Copyright 2000-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-util/valgrind/ChangeLog,v 1.66 2006/09/17 16:49:18 griffon26 Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-util/valgrind/ChangeLog,v 1.67 2006/10/24 16:07:36 griffon26 Exp $
+
+ 24 Oct 2006; Maurice van der Pot <griffon26@gentoo.org>
+ +files/valgrind-3.2.1-glibc-2.5.patch, valgrind-3.2.1.ebuild:
+ Made valgrind build with glibc 2.5 installed. Thanks to Ed Catmur
+ <ed@catmur.co.uk> for reporting the problem and looking up the
+ appropriate patches (bug #152297).
*valgrind-3.2.1 (17 Sep 2006)
diff --git a/dev-util/valgrind/files/valgrind-3.2.1-glibc-2.5.patch b/dev-util/valgrind/files/valgrind-3.2.1-glibc-2.5.patch
new file mode 100644
index 000000000000..f0e0387e32c7
--- /dev/null
+++ b/dev-util/valgrind/files/valgrind-3.2.1-glibc-2.5.patch
@@ -0,0 +1,241 @@
+diff -ruN valgrind-3.2.1/configure.in valgrind-3.2.1-fixed/configure.in
+--- valgrind-3.2.1/configure.in 2006-10-24 17:51:14.339715000 +0200
++++ valgrind-3.2.1-fixed/configure.in 2006-10-24 17:52:24.220082250 +0200
+@@ -349,6 +349,16 @@
+ ],
+ glibc="2.4")
+
++AC_EGREP_CPP([GLIBC_25], [
++#include <features.h>
++#ifdef __GNU_LIBRARY__
++ #if (__GLIBC__ == 2 && __GLIBC_MINOR__ == 5)
++ GLIBC_25
++ #endif
++#endif
++],
++glibc="2.5")
++
+ AC_MSG_CHECKING([the glibc version])
+
+ case "${glibc}" in
+@@ -370,9 +380,15 @@
+ DEFAULT_SUPP="glibc-2.4.supp ${DEFAULT_SUPP}"
+ ;;
+
++ 2.5)
++ AC_MSG_RESULT(2.5 family)
++ AC_DEFINE([GLIBC_2_5], 1, [Define to 1 if you're using glibc 2.5.x])
++ DEFAULT_SUPP="glibc-2.5.supp ${DEFAULT_SUPP}"
++ ;;
++
+ *)
+ AC_MSG_RESULT(unsupported version)
+- AC_MSG_ERROR([Valgrind requires glibc version 2.2, 2.3 or 2.4])
++ AC_MSG_ERROR([Valgrind requires glibc version 2.2 - 2.5])
+ ;;
+ esac
+
+diff -ruN valgrind-3.2.1/glibc-2.5.supp valgrind-3.2.1-fixed/glibc-2.5.supp
+--- valgrind-3.2.1/glibc-2.5.supp 1970-01-01 01:00:00.000000000 +0100
++++ valgrind-3.2.1-fixed/glibc-2.5.supp 2006-10-24 17:52:31.800556000 +0200
+@@ -0,0 +1,200 @@
++
++##----------------------------------------------------------------------##
++
++# Errors to suppress by default with glibc 2.4.x
++
++# Format of this file is:
++# {
++# name_of_suppression
++# tool_name:supp_kind
++# (optional extra info for some suppression types)
++# caller0 name, or /name/of/so/file.so
++# caller1 name, or ditto
++# (optionally: caller2 name)
++# (optionally: caller3 name)
++# }
++#
++# For Memcheck, the supp_kinds are:
++#
++# Param Value1 Value2 Value4 Value8 Value16
++# Free Addr1 Addr2 Addr4 Addr8 Addr16
++# Cond (previously known as Value0)
++#
++# and the optional extra info is:
++# if Param: name of system call param
++# if Free: name of free-ing fn)
++
++{
++ dl-hack1
++ Memcheck:Cond
++ fun:_dl_start
++ fun:_start
++}
++
++{
++ dl-hack2
++ Memcheck:Cond
++ obj:/lib*/ld-2.5*.so
++ obj:/lib*/ld-2.5*.so
++ obj:/lib*/ld-2.5*.so
++ obj:/lib*/ld-2.5*.so
++}
++
++{
++ dl-hack3
++ Memcheck:Cond
++ obj:/lib*/ld-2.5*so*
++ obj:/lib*/ld-2.5*so*
++ obj:/lib*/ld-2.5*so*
++}
++
++##----------------------------------------------------------------------##
++{
++ glibc-2.5.x-on-SUSE-10.2-(PPC)-1
++ Memcheck:Cond
++ fun:_dl_start_final
++ fun:_dl_start
++ fun:_start
++}
++{
++ glibc-2.5.x-on-SUSE-10.2-(PPC)-2a
++ Memcheck:Cond
++ fun:index
++ obj:*ld-2.5.*.so
++}
++{
++ glibc-2.5.x-on-SuSE-10.2-(PPC)-2b
++ Memcheck:Addr4
++ fun:index
++ fun:expand_dynamic_string_token
++}
++{
++ glibc-2.5.5-on-SuSE-10.2-(PPC)-2c
++ Memcheck:Addr4
++ fun:index
++ obj:*ld-2.5.*.so
++}
++{
++ glibc-2.3.5-on-SuSE-10.1-(PPC)-3
++ Memcheck:Addr4
++ fun:*wordcopy_fwd_dest_aligned*
++ fun:mem*cpy
++ obj:*lib*2.5.*.so
++}
++
++##----------------------------------------------------------------------##
++## Various structure padding things on SUSE 10.2
++##
++{
++ X11-64bit-padding-1a
++ Memcheck:Param
++ write(buf)
++ fun:__write_nocancel
++ obj:/usr/lib*/libX11.so*
++ obj:/usr/lib*/libX11.so*
++ fun:X*
++}
++{
++ X11-64bit-padding-1b
++ Memcheck:Param
++ write(buf)
++ fun:__write_nocancel
++ obj:/usr/lib*/libX11.so*
++ obj:/usr/lib*/libX11.so*
++ fun:_X*
++}
++{
++ X11-64bit-padding-1c
++ Memcheck:Param
++ write(buf)
++ fun:__write_nocancel
++ obj:/usr/lib*/libX11.so*
++ obj:/usr/lib*/libX11.so*
++ obj:/usr/lib*/libX11.so*
++}
++{
++ X11-64bit-padding-1d
++ Memcheck:Param
++ write(buf)
++ fun:__write_nocancel
++ obj:/usr/lib*/libICE.so*
++ obj:/usr/lib*/libICE.so*
++ obj:/usr/lib*/libICE.so*
++}
++{
++ X11-64bit-padding-2a
++ Memcheck:Param
++ writev(vector[...])
++ fun:do_writev
++ obj:/usr/lib*/libX11.so*
++ obj:/usr/lib*/libX11.so*
++ obj:/usr/lib*/libX11.so*
++}
++{
++ X11-64bit-padding-2b
++ Memcheck:Param
++ writev(vector[...])
++ fun:do_writev
++ fun:writev
++ obj:/usr/lib*/libX11.so*
++ obj:/usr/lib*/libX11.so*
++}
++
++{
++ glibc24-64bit-padding-1a
++ Memcheck:Param
++ socketcall.sendto(msg)
++ fun:send
++ fun:get_mapping
++ fun:__nscd_get_map_ref
++ fun:nscd*
++}
++{
++ glibc24-64bit-padding-1b
++ Memcheck:Param
++ socketcall.sendto(msg)
++ fun:__sendto_nocancel
++ obj:/*libc-2.5.so
++ obj:/*libc-2.5.so
++ obj:/*libc-2.5.so
++}
++{
++ glibc24-64bit-padding-1c
++ Memcheck:Param
++ socketcall.send(msg)
++ fun:send
++ fun:__nscd_get_map_ref
++ fun:nscd_get*_r
++ fun:*nscd*
++ obj:/*libc-2.5.so
++}
++
++
++{
++ X11-64bit-padding-3a
++ Memcheck:Param
++ write(buf)
++ obj:/*libpthread-2.4.so*
++ obj:/usr/lib*/libX11.so*
++ obj:/usr/lib*/libX11.so*
++ obj:/usr/lib*/libX11.so*
++}
++
++{
++ X11-64bit-padding-4a
++ Memcheck:Param
++ socketcall.sendto(msg)
++ fun:send
++ obj:/*libc-2.5.so
++ obj:/*libc-2.5.so
++ obj:/*libc-2.5.so
++}
++{
++ X11-64bit-padding-4b
++ Memcheck:Param
++ socketcall.send(msg)
++ fun:send
++ obj:/*libc-2.5.so
++ obj:/*libc-2.5.so
++ obj:/*libc-2.5.so
++}
diff --git a/dev-util/valgrind/valgrind-3.2.1.ebuild b/dev-util/valgrind/valgrind-3.2.1.ebuild
index 99fd81ea1c27..f7a6ec65f8af 100644
--- a/dev-util/valgrind/valgrind-3.2.1.ebuild
+++ b/dev-util/valgrind/valgrind-3.2.1.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-util/valgrind/valgrind-3.2.1.ebuild,v 1.1 2006/09/17 16:49:18 griffon26 Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-util/valgrind/valgrind-3.2.1.ebuild,v 1.2 2006/10/24 16:07:36 griffon26 Exp $
inherit autotools eutils flag-o-matic toolchain-funcs
@@ -36,6 +36,9 @@ src_unpack() {
# Fix undefined reference to @VG_PLATFORM@ (bug #147904)
epatch "${FILESDIR}/${P}-pkg-config.patch"
+ # Don't reject glibc-2.5
+ epatch "${FILESDIR}/${P}-glibc-2.5.patch"
+
# Remove defaulting to ppc32-linux on ppc64 without multilib
# "valgrind: failed to start tool 'memcheck' for platform 'ppc32-linux':
# No such file or directory"