summaryrefslogtreecommitdiff
path: root/testing/valgrind
diff options
context:
space:
mode:
Diffstat (limited to 'testing/valgrind')
-rw-r--r--testing/valgrind/PKGBUILD45
-rw-r--r--testing/valgrind/glibc-patch-version.patch52
-rw-r--r--testing/valgrind/valgrind-3.6.1-glibc-2.14.patch67
3 files changed, 164 insertions, 0 deletions
diff --git a/testing/valgrind/PKGBUILD b/testing/valgrind/PKGBUILD
new file mode 100644
index 000000000..a181f374c
--- /dev/null
+++ b/testing/valgrind/PKGBUILD
@@ -0,0 +1,45 @@
+# $Id: PKGBUILD 126782 2011-06-07 10:02:00Z allan $
+# Maintainer: Dan McGee <dan@archlinux.org>
+# Maintainer: Allan McRae <allan@archlinux.org>
+
+pkgname=valgrind
+pkgver=3.6.1
+pkgrel=2
+pkgdesc="A tool to help find memory-management problems in programs"
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://valgrind.org/"
+depends=('glibc>=2.14' 'glibc<2.15' 'perl')
+makedepends=('gdb')
+options=('!emptydirs')
+source=(http://valgrind.org/downloads/${pkgname}-${pkgver}.tar.bz2
+ valgrind-3.6.1-glibc-2.14.patch
+ glibc-patch-version.patch)
+md5sums=('2c3aa122498baecc9d69194057ca88f5'
+ '560032ce5d27ef0c7c1af32c3fd45833'
+ 'b657f0ebdde3d9aefc9fd16f9e653702')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ # make sure our CFLAGS are respected
+ sed -i -e 's:^CFLAGS="-Wno-long-long":CFLAGS="$CFLAGS -Wno-long-long":' configure.in
+
+ # glibc-2.14 compatibility
+ patch -Np1 -i ${srcdir}/valgrind-3.6.1-glibc-2.14.patch
+
+ # prevent need to rebuild with glibc patch level version bumps
+ patch -Np1 -i ${srcdir}/glibc-patch-version.patch
+
+ if [ "${CARCH}" = "x86_64" ]; then
+ ./configure --prefix=/usr --mandir=/usr/share/man --enable-only64bit
+ else
+ ./configure --prefix=/usr --mandir=/usr/share/man
+ fi
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make DESTDIR=${pkgdir} install
+}
diff --git a/testing/valgrind/glibc-patch-version.patch b/testing/valgrind/glibc-patch-version.patch
new file mode 100644
index 000000000..2c6830aef
--- /dev/null
+++ b/testing/valgrind/glibc-patch-version.patch
@@ -0,0 +1,52 @@
+Saves having to rebuild valgrind on glibc-x.x.* patch level releases
+
+diff -Naur valgrind-3.5.0-old//glibc-2.X.supp.in valgrind-3.5.0/glibc-2.X.supp.in
+--- valgrind-3.5.0-old//glibc-2.X.supp.in 2009-08-19 23:37:48.000000000 +1000
++++ valgrind-3.5.0/glibc-2.X.supp.in 2010-05-22 19:43:08.088007038 +1000
+@@ -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
+ }
+
+ ##----------------------------------------------------------------------##
diff --git a/testing/valgrind/valgrind-3.6.1-glibc-2.14.patch b/testing/valgrind/valgrind-3.6.1-glibc-2.14.patch
new file mode 100644
index 000000000..7fd217016
--- /dev/null
+++ b/testing/valgrind/valgrind-3.6.1-glibc-2.14.patch
@@ -0,0 +1,67 @@
+--- valgrind/configure.in.jj 2010-10-21 03:14:02.000000000 +0200
++++ valgrind/configure.in 2010-11-05 17:09:18.674455299 +0100
+@@ -749,6 +759,13 @@ case "${GLIBC_VERSION}" in
+ DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
+ DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
+ ;;
++ 2.14)
++ AC_MSG_RESULT(2.14 family)
++ AC_DEFINE([GLIBC_2_14], 1, [Define to 1 if you're using glibc 2.14.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])
+@@ -762,7 +779,7 @@ case "${GLIBC_VERSION}" in
+
+ *)
+ AC_MSG_RESULT([unsupported version ${GLIBC_VERSION}])
+- AC_MSG_ERROR([Valgrind requires glibc version 2.2 - 2.13])
++ AC_MSG_ERROR([Valgrind requires glibc version 2.2 - 2.14])
+ AC_MSG_ERROR([or AIX 5.1 or 5.2 or 5.3 GLIBC_VERSION])
+ AC_MSG_ERROR([or Darwin libc])
+ ;;
+--- valgrind/config.h.in.jj 2010-10-20 22:20:49.000000000 +0200
++++ valgrind/config.h.in 2010-11-05 17:08:33.863454886 +0100
+@@ -33,6 +33,9 @@
+ /* Define to 1 if you're using glibc 2.13.x */
+ #undef GLIBC_2_13
+
++/* Define to 1 if you're using glibc 2.14.x */
++#undef GLIBC_2_14
++
+ /* Define to 1 if you're using glibc 2.2.x */
+ #undef GLIBC_2_2
+
+--- valgrind/configure.jj 2010-10-21 03:16:18.000000000 +0200
++++ valgrind/configure 2010-11-05 17:09:39.163455396 +0100
+@@ -6367,6 +6389,18 @@ $as_echo "#define GLIBC_2_13 1" >>confde
+ DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
+ DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
+ ;;
++ 2.14)
++ echo "$as_me:$LINENO: result: 2.14 family" >&5
++echo "${ECHO_T}2.14 family" >&6
++
++cat >>confdefs.h <<\_ACEOF
++#define GLIBC_2_14 1
++_ACEOF
++
++ 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)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: AIX 5.1 or 5.2 or 5.3" >&5
+ $as_echo "AIX 5.1 or 5.2 or 5.3" >&6; }
+@@ -6387,7 +6421,7 @@ $as_echo "#define DARWIN_LIBC 1" >>confd
+ *)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported version ${GLIBC_VERSION}" >&5
+ $as_echo "unsupported version ${GLIBC_VERSION}" >&6; }
+- as_fn_error "Valgrind requires glibc version 2.2 - 2.13" "$LINENO" 5
++ as_fn_error "Valgrind requires glibc version 2.2 - 2.14" "$LINENO" 5
+ as_fn_error "or AIX 5.1 or 5.2 or 5.3 GLIBC_VERSION" "$LINENO" 5
+ as_fn_error "or Darwin libc" "$LINENO" 5
+ ;;