mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2025-03-19 00:21:40 +00:00
extra/valgrind to 3.8.1-3
This commit is contained in:
parent
d0bfc4078c
commit
0138c72104
4 changed files with 129 additions and 44 deletions
|
@ -5,31 +5,42 @@
|
|||
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||
# - patch to fix building on armv5
|
||||
|
||||
noautobuild=1
|
||||
|
||||
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
|
||||
alarm.patch)
|
||||
md5sums=('288758010b271119a0ffc0183f1d6e38'
|
||||
'e87c34f9f9ce0040d141b3bd57842b5c'
|
||||
'f3f911e6f5b0ab9d176d40b47d6cae24'
|
||||
'9d429e62255621a0c190a8180d8ab1a4'
|
||||
'aba5261d8ef25ab9bbad44631172da02')
|
||||
|
||||
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
|
||||
|
||||
[ "${CARCH}" = "arm" -o "${CARCH}" = "armv6h" ] && patch -Np1 -i ${srcdir}/alarm.patch
|
||||
|
||||
if [ "${CARCH}" = "x86_64" ]; then
|
||||
./autogen.sh
|
||||
}
|
||||
|
||||
build() {
|
||||
if [[ ${CARCH} = "x86_64" ]]; then
|
||||
./configure --prefix=/usr --mandir=/usr/share/man --enable-only64bit
|
||||
else
|
||||
./configure --prefix=/usr --mandir=/usr/share/man
|
||||
|
|
|
@ -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
|
33
extra/valgrind/valgrind-3.8.1-glibc-2.18.patch
Normal file
33
extra/valgrind/valgrind-3.8.1-glibc-2.18.patch
Normal file
|
@ -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
|
78
extra/valgrind/valgrind-3.8.1-ptrace-build-fix.patch
Normal file
78
extra/valgrind/valgrind-3.8.1-ptrace-build-fix.patch
Normal file
|
@ -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])
|
Loading…
Reference in a new issue