diff --git a/pkgs/development/tools/analysis/valgrind/default.nix b/pkgs/development/tools/analysis/valgrind/default.nix index ebd2d3ab07e0..fdf2bf1777f2 100644 --- a/pkgs/development/tools/analysis/valgrind/default.nix +++ b/pkgs/development/tools/analysis/valgrind/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, perl, gdb }: +{ stdenv, fetchurl, perl, gdb, autoconf, automake }: stdenv.mkDerivation rec { name = "valgrind-3.5.0"; @@ -8,9 +8,14 @@ stdenv.mkDerivation rec { sha256 = "105s4y6h5rsfvml1dfhsjvqgsxvnclbnxbpgk8b4ghpbpcr52fkl"; }; + # Make Valgrind compile with Glibc 2.11. + patches = [ ./glibc-2.11.patch ]; + patchFlags = "-p0"; + preConfigure = "autoreconf"; + # Perl is needed for `cg_annotate'. # GDB is needed to provide a sane default for `--db-command'. - buildInputs = [ perl ] ++ stdenv.lib.optional (!stdenv.isDarwin) gdb; + buildInputs = [ perl autoconf automake ] ++ stdenv.lib.optional (!stdenv.isDarwin) gdb; configureFlags = if stdenv.system == "x86_64-linux" then ["--enable-only64bit"] else []; diff --git a/pkgs/development/tools/analysis/valgrind/glibc-2.11.patch b/pkgs/development/tools/analysis/valgrind/glibc-2.11.patch new file mode 100644 index 000000000000..e2ce53217c9e --- /dev/null +++ b/pkgs/development/tools/analysis/valgrind/glibc-2.11.patch @@ -0,0 +1,53 @@ +r10941 from svn://svn.valgrind.org/valgrind/trunk + +------------------------------------------------------------------------ +r10941 | bart | 2009-11-15 20:11:19 +0100 (Sun, 15 Nov 2009) | 2 lines + +Added support for glibc 2.11. + +------------------------------------------------------------------------ + +Index: configure.in +=================================================================== +--- configure.in (revision 10940) ++++ configure.in (revision 10941) +@@ -656,6 +656,16 @@ + ], + GLIBC_VERSION="2.10") + ++AC_EGREP_CPP([GLIBC_211], [ ++#include ++#ifdef __GNU_LIBRARY__ ++ #if (__GLIBC__ == 2 && __GLIBC_MINOR__ == 11) ++ GLIBC_211 ++ #endif ++#endif ++], ++GLIBC_VERSION="2.11") ++ + AC_EGREP_CPP([AIX5_LIBC], [ + #include + #if defined(_AIXVERSION_510) || defined(_AIXVERSION_520) || defined(_AIXVERSION_530) +@@ -742,6 +752,13 @@ + DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" + ;; ++ 2.11) ++ AC_MSG_RESULT(2.11 family) ++ AC_DEFINE([GLIBC_2_11], 1, [Define to 1 if you're using glibc 2.11.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]) +@@ -755,7 +772,7 @@ + + *) + AC_MSG_RESULT(unsupported version) +- AC_MSG_ERROR([Valgrind requires glibc version 2.2 - 2.10]) ++ AC_MSG_ERROR([Valgrind requires glibc version 2.2 - 2.11]) + AC_MSG_ERROR([or AIX 5.1 or 5.2 or 5.3 GLIBC_VERSION]) + AC_MSG_ERROR([or Darwin libc]) + ;; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 79c967531659..db363a8c6de6 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3132,7 +3132,7 @@ let }; valgrind = import ../development/tools/analysis/valgrind { - inherit fetchurl stdenv perl gdb; + inherit fetchurl stdenv perl gdb autoconf automake; }; xxdiff = builderDefsPackage (import ../development/tools/misc/xxdiff/3.2.nix) {