extra/valgrind to 3.9.0-1, needs glibc 2.18

This commit is contained in:
Jason Plum 2013-11-10 11:09:54 -05:00
parent a0746fac94
commit 970456bc6a
4 changed files with 3 additions and 162 deletions

View file

@ -8,8 +8,8 @@
noautobuild=1
pkgname=valgrind
pkgver=3.8.1
pkgrel=4
pkgver=3.9.0
pkgrel=1
pkgdesc="A tool to help find memory-management problems in programs"
arch=('i686' 'x86_64')
license=('GPL')
@ -18,27 +18,13 @@ 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.18.patch
valgrind-3.8.1-ptrace-build-fix.patch
valgrind-3.8.1-xaddb.patch
alarm.patch)
md5sums=('288758010b271119a0ffc0183f1d6e38'
'f3f911e6f5b0ab9d176d40b47d6cae24'
'9d429e62255621a0c190a8180d8ab1a4'
'aad7751a3e4ee899093dcfa9f70a449b'
md5sums=('0947de8112f946b9ce64764af7be6df2'
'aba5261d8ef25ab9bbad44631172da02')
prepare() {
cd ${srcdir}/${pkgname}-${pkgver}
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
# https://bugs.kde.org/show_bug.cgi?id=307106
patch -p0 -i $srcdir/valgrind-3.8.1-xaddb.patch
[ "${CARCH}" = "arm" -o "${CARCH}" = "armv6h" ] && patch -Np1 -i ${srcdir}/alarm.patch
./autogen.sh

View file

@ -1,33 +0,0 @@
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

View file

@ -1,78 +0,0 @@
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])

View file

@ -1,34 +0,0 @@
Index: priv/guest_amd64_toIR.c
===================================================================
--- VEX/priv/guest_amd64_toIR.c (revision 2580)
+++ VEX/priv/guest_amd64_toIR.c (revision 2581)
@@ -20268,6 +20268,14 @@
delta = dis_movx_E_G ( vbi, pfx, delta, 2, sz, True );
return delta;
+ case 0xC0: { /* XADD Gb,Eb */
+ Bool decode_OK = False;
+ delta = dis_xadd_G_E ( &decode_OK, vbi, pfx, 1, delta );
+ if (!decode_OK)
+ goto decode_failure;
+ return delta;
+ }
+
case 0xC1: { /* XADD Gv,Ev */
Bool decode_OK = False;
delta = dis_xadd_G_E ( &decode_OK, vbi, pfx, sz, delta );
@@ -27143,14 +27151,6 @@
/* =-=-=-=-=-=-=-=-=- XADD -=-=-=-=-=-=-=-=-=-= */
- case 0xC0: { /* XADD Gb,Eb */
- Bool decode_OK = False;
- delta = dis_xadd_G_E ( &decode_OK, vbi, pfx, 1, delta );
- if (!decode_OK)
- goto decode_failure;
- break;
- }
-
/* =-=-=-=-=-=-=-=-=- SGDT and SIDT =-=-=-=-=-=-=-=-=-=-= */
/* =-=-=-=-=-=-=-=-=- unimp2 =-=-=-=-=-=-=-=-=-=-= */