summaryrefslogtreecommitdiff
path: root/extra/valgrind
diff options
context:
space:
mode:
Diffstat (limited to 'extra/valgrind')
-rw-r--r--extra/valgrind/PKGBUILD27
-rw-r--r--extra/valgrind/valgrind-3.8.1-glibc-2.17.patch37
-rw-r--r--extra/valgrind/valgrind-3.8.1-glibc-2.18.patch33
-rw-r--r--extra/valgrind/valgrind-3.8.1-ptrace-build-fix.patch78
4 files changed, 130 insertions, 45 deletions
diff --git a/extra/valgrind/PKGBUILD b/extra/valgrind/PKGBUILD
index fd6cd7b6d..44b5394c8 100644
--- a/extra/valgrind/PKGBUILD
+++ b/extra/valgrind/PKGBUILD
@@ -1,28 +1,39 @@
-# $Id: PKGBUILD 173941 2012-12-28 13:12:00Z allan $
+# $Id: PKGBUILD 193067 2013-08-15 12:08:37Z allan $
# Maintainer: Dan McGee <dan@archlinux.org>
# Maintainer: Allan McRae <allan@archlinux.org>
pkgname=valgrind
pkgver=3.8.1
-pkgrel=2
+pkgrel=3
pkgdesc="A tool to help find memory-management problems in programs"
arch=('i686' 'x86_64')
license=('GPL')
url="http://valgrind.org/"
-depends=('glibc>=2.17' 'glibc<2.18' 'perl')
+depends=('glibc>=2.18' 'glibc<2.19' 'perl')
makedepends=('gdb')
options=('!emptydirs')
source=(http://valgrind.org/downloads/${pkgname}-${pkgver}.tar.bz2
- valgrind-3.8.1-glibc-2.17.patch)
+ valgrind-3.8.1-glibc-2.18.patch
+ valgrind-3.8.1-ptrace-build-fix.patch)
md5sums=('288758010b271119a0ffc0183f1d6e38'
- 'e87c34f9f9ce0040d141b3bd57842b5c')
+ 'f3f911e6f5b0ab9d176d40b47d6cae24'
+ '9d429e62255621a0c190a8180d8ab1a4')
-build() {
+prepare() {
cd ${srcdir}/${pkgname}-${pkgver}
- patch -p1 -i $srcdir/valgrind-3.8.1-glibc-2.17.patch
+ patch -p1 -i $srcdir/valgrind-3.8.1-glibc-2.18.patch
+
+ # based on svn commits 13471 & 13482
+ patch -p0 -i $srcdir/valgrind-3.8.1-ptrace-build-fix.patch
+
+ ./autogen.sh
+}
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
- if [ "${CARCH}" = "x86_64" ]; then
+ if [[ ${CARCH} = "x86_64" ]]; then
./configure --prefix=/usr --mandir=/usr/share/man --enable-only64bit
else
./configure --prefix=/usr --mandir=/usr/share/man
diff --git a/extra/valgrind/valgrind-3.8.1-glibc-2.17.patch b/extra/valgrind/valgrind-3.8.1-glibc-2.17.patch
deleted file mode 100644
index bfeb9486d..000000000
--- a/extra/valgrind/valgrind-3.8.1-glibc-2.17.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-diff -Naur valgrind-3.8.1-orig/configure valgrind-3.8.1/configure
---- valgrind-3.8.1-orig/configure 2012-09-19 05:19:23.000000000 +1000
-+++ valgrind-3.8.1/configure 2012-12-27 08:11:36.645429011 +1000
-@@ -6612,6 +6612,24 @@
-
- # DEFAULT_SUPP set by kernel version check above.
- ;;
-+ 2.17)
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.17 family" >&5
-+$as_echo "2.17 family" >&6; }
-+
-+$as_echo "#define GLIBC_2_17 1" >>confdefs.h
-+
-+ 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}"
-+ ;;
-+ darwin)
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: Darwin" >&5
-+$as_echo "Darwin" >&6; }
-+
-+$as_echo "#define DARWIN_LIBC 1" >>confdefs.h
-+
-+ # DEFAULT_SUPP set by kernel version check above.
-+ ;;
- bionic)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: Bionic" >&5
- $as_echo "Bionic" >&6; }
-@@ -6624,7 +6642,7 @@
- *)
- { $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.16" "$LINENO" 5
-+ as_fn_error "Valgrind requires glibc version 2.2 - 2.17" "$LINENO" 5
- as_fn_error "or Darwin libc" "$LINENO" 5
- ;;
- esac
diff --git a/extra/valgrind/valgrind-3.8.1-glibc-2.18.patch b/extra/valgrind/valgrind-3.8.1-glibc-2.18.patch
new file mode 100644
index 000000000..9f471ad1c
--- /dev/null
+++ b/extra/valgrind/valgrind-3.8.1-glibc-2.18.patch
@@ -0,0 +1,33 @@
+diff -Naur valgrind-3.8.1-orig/configure.in valgrind-3.8.1/configure.in
+--- valgrind-3.8.1-orig/configure.in 2013-08-13 22:36:20.201676976 +1000
++++ valgrind-3.8.1/configure.in 2013-08-13 22:38:18.402750093 +1000
+@@ -906,6 +906,20 @@
+ DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
+ DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
+ ;;
++ 2.17)
++ AC_MSG_RESULT(2.17 family)
++ AC_DEFINE([GLIBC_2_17], 1, [Define to 1 if you're using glibc 2.17.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}"
++ ;;
++ 2.18)
++ AC_MSG_RESULT(2.18 family)
++ AC_DEFINE([GLIBC_2_18], 1, [Define to 1 if you're using glibc 2.18.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}"
++ ;;
+ darwin)
+ AC_MSG_RESULT(Darwin)
+ AC_DEFINE([DARWIN_LIBC], 1, [Define to 1 if you're using Darwin])
+@@ -919,7 +933,7 @@
+
+ *)
+ AC_MSG_RESULT([unsupported version ${GLIBC_VERSION}])
+- AC_MSG_ERROR([Valgrind requires glibc version 2.2 - 2.16])
++ AC_MSG_ERROR([Valgrind requires glibc version 2.2 - 2.18])
+ AC_MSG_ERROR([or Darwin libc])
+ ;;
+ esac
diff --git a/extra/valgrind/valgrind-3.8.1-ptrace-build-fix.patch b/extra/valgrind/valgrind-3.8.1-ptrace-build-fix.patch
new file mode 100644
index 000000000..89af000b1
--- /dev/null
+++ b/extra/valgrind/valgrind-3.8.1-ptrace-build-fix.patch
@@ -0,0 +1,78 @@
+Index: coregrind/vgdb.c
+===================================================================
+--- coregrind/vgdb.c (revision 13470)
++++ coregrind/vgdb.c (revision 13471)
+@@ -100,11 +100,10 @@
+
+ #if defined(PTRACEINVOKER)
+ #include <sys/user.h>
+ #if defined(VGO_linux)
+ # include <sys/prctl.h>
+-# include <linux/ptrace.h>
+ #endif
+ #endif
+
+
+ // Outputs information for the user about ptrace not working.
+
+Index: coregrind/vgdb.c
+===================================================================
+--- coregrind/vgdb.c (revision 13481)
++++ coregrind/vgdb.c (revision 13482)
+@@ -691,7 +691,7 @@
+ // runtime check not yet done.
+ // 0 : PTRACE_GETREGS runtime check has failed.
+ // 1 : PTRACE_GETREGS defined and runtime check ok.
+-#ifdef PTRACE_GETREGS
++#ifdef HAVE_PTRACE_GETREGS
+ static int has_working_ptrace_getregs = -1;
+ #endif
+
+@@ -702,7 +702,7 @@
+ Bool getregs (int pid, void *regs, long regs_bsz)
+ {
+ DEBUG(1, "getregs regs_bsz %ld\n", regs_bsz);
+-# ifdef PTRACE_GETREGS
++# ifdef HAVE_PTRACE_GETREGS
+ if (has_working_ptrace_getregs) {
+ // Platforms having GETREGS
+ long res;
+@@ -773,7 +773,7 @@
+ DEBUG(1, "setregs regs_bsz %ld\n", regs_bsz);
+ // Note : the below is checking for GETREGS, not SETREGS
+ // as if one is defined and working, the other one should also work.
+-# ifdef PTRACE_GETREGS
++# ifdef HAVE_PTRACE_GETREGS
+ if (has_working_ptrace_getregs) {
+ // Platforms having SETREGS
+ long res;
+Index: configure.in
+===================================================================
+--- configure.in (revision 13481)
++++ configure.in (revision 13482)
+@@ -1040,6 +1040,25 @@
+
+ AM_CONDITIONAL([HAVE_GNU_STPNCPY], [test x$ac_have_gnu_stpncpy = xyes])
+
++# Check for PTRACE_GETREGS
++
++AC_MSG_CHECKING([for PTRACE_GETREGS])
++AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
++#include <stddef.h>
++#include <sys/ptrace.h>
++#include <sys/user.h>
++]], [[
++ void *p;
++ long res = ptrace (PTRACE_GETREGS, 0, p, p);
++]])], [
++AC_MSG_RESULT([yes])
++AC_DEFINE([HAVE_PTRACE_GETREGS], 1,
++ [Define to 1 if you have the `PTRACE_GETREGS' ptrace request.])
++], [
++AC_MSG_RESULT([no])
++])
++
++
+ # Check for CLOCK_MONOTONIC
+
+ AC_MSG_CHECKING([for CLOCK_MONOTONIC])