diff --git a/valgrind-3.10.1-glibc-version-check.patch b/valgrind-3.10.1-glibc-version-check.patch new file mode 100644 index 0000000..221a330 --- /dev/null +++ b/valgrind-3.10.1-glibc-version-check.patch @@ -0,0 +1,455 @@ +commit 4f3062b90b12f3e031a1c949c50a79e0d13de485 +Author: bart +Date: Sat Sep 13 10:53:00 2014 +0000 + + configure.ac: Generalize glibc version check + + git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14530 a5019735-40e9-0310-863c-91ae7b9d1cf9 + +diff --git a/configure.ac b/configure.ac +index ba11ec6..863cd7e 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -875,141 +875,41 @@ AC_EGREP_CPP([BIONIC_LIBC], [ + GLIBC_VERSION="bionic") + + +-AC_MSG_CHECKING([the GLIBC_VERSION version]) ++AC_MSG_CHECKING([the glibc version]) + + case "${GLIBC_VERSION}" in + 2.2) +- AC_MSG_RESULT(2.2 family) +- AC_DEFINE([GLIBC_2_2], 1, [Define to 1 if you're using glibc 2.2.x]) ++ AC_MSG_RESULT(${GLIBC_VERSION} family) + DEFAULT_SUPP="glibc-2.2.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="glibc-2.2-LinuxThreads-helgrind.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" + ;; +- +- 2.3) +- AC_MSG_RESULT(2.3 family) +- AC_DEFINE([GLIBC_2_3], 1, [Define to 1 if you're using glibc 2.3.x]) +- DEFAULT_SUPP="glibc-2.3.supp ${DEFAULT_SUPP}" +- DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" +- DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" +- ;; +- +- 2.4) +- AC_MSG_RESULT(2.4 family) +- AC_DEFINE([GLIBC_2_4], 1, [Define to 1 if you're using glibc 2.4.x]) +- DEFAULT_SUPP="glibc-2.4.supp ${DEFAULT_SUPP}" +- DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" +- DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" +- ;; +- +- 2.5) +- AC_MSG_RESULT(2.5 family) +- AC_DEFINE([GLIBC_2_5], 1, [Define to 1 if you're using glibc 2.5.x]) +- DEFAULT_SUPP="glibc-2.5.supp ${DEFAULT_SUPP}" +- DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" +- DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" +- ;; +- 2.6) +- AC_MSG_RESULT(2.6 family) +- AC_DEFINE([GLIBC_2_6], 1, [Define to 1 if you're using glibc 2.6.x]) +- DEFAULT_SUPP="glibc-2.6.supp ${DEFAULT_SUPP}" +- DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" +- DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" +- ;; +- 2.7) +- AC_MSG_RESULT(2.7 family) +- AC_DEFINE([GLIBC_2_7], 1, [Define to 1 if you're using glibc 2.7.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.8) +- AC_MSG_RESULT(2.8 family) +- AC_DEFINE([GLIBC_2_8], 1, [Define to 1 if you're using glibc 2.8.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.9) +- AC_MSG_RESULT(2.9 family) +- AC_DEFINE([GLIBC_2_9], 1, [Define to 1 if you're using glibc 2.9.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.10) +- AC_MSG_RESULT(2.10 family) +- AC_DEFINE([GLIBC_2_10], 1, [Define to 1 if you're using glibc 2.10.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.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}" +- ;; +- 2.12) +- AC_MSG_RESULT(2.12 family) +- AC_DEFINE([GLIBC_2_12], 1, [Define to 1 if you're using glibc 2.12.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.13) +- AC_MSG_RESULT(2.13 family) +- AC_DEFINE([GLIBC_2_13], 1, [Define to 1 if you're using glibc 2.13.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.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}" ++ 2.[[3-6]]) ++ AC_MSG_RESULT(${GLIBC_VERSION} family) ++ DEFAULT_SUPP="glibc-${GLIBC_VERSION}.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" + ;; +- 2.15) +- AC_MSG_RESULT(2.15 family) +- AC_DEFINE([GLIBC_2_15], 1, [Define to 1 if you're using glibc 2.15.x]) ++ 2.[[7-9]]) ++ AC_MSG_RESULT(${GLIBC_VERSION} family) + 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.16) +- AC_MSG_RESULT(2.16 family) +- AC_DEFINE([GLIBC_2_16], 1, [Define to 1 if you're using glibc 2.16.x]) ++ 2.10|2.11) ++ AC_MSG_RESULT(${GLIBC_VERSION} family) ++ AC_DEFINE([GLIBC_MANDATORY_STRLEN_REDIRECT], 1, ++ [Define to 1 if strlen() has been optimized heavily (amd64 glibc >= 2.10)]) + 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.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}" +- ;; +- 2.19) +- AC_MSG_RESULT(2.19 family) +- AC_DEFINE([GLIBC_2_19], 1, [Define to 1 if you're using glibc 2.19.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.20) +- AC_MSG_RESULT(2.20 family) +- AC_DEFINE([GLIBC_2_20], 1, [Define to 1 if you're using glibc 2.20.x]) ++ 2.*) ++ AC_MSG_RESULT(${GLIBC_VERSION} family) ++ AC_DEFINE([GLIBC_MANDATORY_STRLEN_REDIRECT], 1, ++ [Define to 1 if strlen() has been optimized heavily (amd64 glibc >= 2.10)]) ++ AC_DEFINE([GLIBC_MANDATORY_INDEX_AND_STRLEN_REDIRECT], 1, ++ [Define to 1 if index() and strlen() have been optimized heavily (x86 glibc >= 2.12)]) + 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}" +@@ -1024,10 +924,9 @@ case "${GLIBC_VERSION}" in + AC_DEFINE([BIONIC_LIBC], 1, [Define to 1 if you're using Bionic]) + DEFAULT_SUPP="bionic.supp ${DEFAULT_SUPP}" + ;; +- +- *) ++ 2.0|2.1|*) + AC_MSG_RESULT([unsupported version ${GLIBC_VERSION}]) +- AC_MSG_ERROR([Valgrind requires glibc version 2.2 - 2.19]) ++ AC_MSG_ERROR([Valgrind requires glibc version 2.2 or later]) + AC_MSG_ERROR([or Darwin or Bionic libc]) + ;; + esac +diff --git a/coregrind/m_redir.c b/coregrind/m_redir.c +index 9d3c9b1..9aee707 100644 +--- a/coregrind/m_redir.c ++++ b/coregrind/m_redir.c +@@ -53,7 +53,7 @@ + #include "pub_core_demangle.h" // VG_(maybe_Z_demangle) + #include "pub_core_libcproc.h" // VG_(libdir) + +-#include "config.h" /* GLIBC_2_* */ ++#include "config.h" /* GLIBC_MANDATORY_*_REDIRECT */ + + + /* This module is a critical part of the redirection/intercept system. +@@ -1242,10 +1242,7 @@ void VG_(redir_initialise) ( void ) + start, otherwise ld.so (glibc-2.3.5) makes a lot of noise. */ + if (0==VG_(strcmp)("Memcheck", VG_(details).name)) { + const HChar** mandatory; +-# if defined(GLIBC_2_2) || defined(GLIBC_2_3) || defined(GLIBC_2_4) \ +- || defined(GLIBC_2_5) || defined(GLIBC_2_6) || defined(GLIBC_2_7) \ +- || defined(GLIBC_2_8) || defined(GLIBC_2_9) \ +- || defined(GLIBC_2_10) || defined(GLIBC_2_11) ++# ifndef GLIBC_MANDATORY_INDEX_AND_STRLEN_REDIRECT + mandatory = NULL; + # else + /* for glibc-2.12 and later, this is mandatory - can't sanely +@@ -1282,9 +1279,7 @@ void VG_(redir_initialise) ( void ) + add_hardwired_spec( + "ld-linux-x86-64.so.2", "strlen", + (Addr)&VG_(amd64_linux_REDIR_FOR_strlen), +-# if defined(GLIBC_2_2) || defined(GLIBC_2_3) || defined(GLIBC_2_4) \ +- || defined(GLIBC_2_5) || defined(GLIBC_2_6) || defined(GLIBC_2_7) \ +- || defined(GLIBC_2_8) || defined(GLIBC_2_9) ++# ifndef GLIBC_MANDATORY_STRLEN_REDIRECT + NULL + # else + /* for glibc-2.10 and later, this is mandatory - can't sanely +--- valgrind-3.10.1/configure.orig 2015-02-18 16:53:12.878214576 +0100 ++++ valgrind-3.10.1/configure 2015-02-18 16:54:17.347087203 +0100 +@@ -6645,198 +6645,49 @@ + + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the GLIBC_VERSION version" >&5 +-$as_echo_n "checking the GLIBC_VERSION version... " >&6; } ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the glibc version" >&5 ++$as_echo_n "checking the glibc version... " >&6; } + + case "${GLIBC_VERSION}" in + 2.2) +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.2 family" >&5 +-$as_echo "2.2 family" >&6; } +- +-$as_echo "#define GLIBC_2_2 1" >>confdefs.h +- ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${GLIBC_VERSION} family" >&5 ++$as_echo "${GLIBC_VERSION} family" >&6; } + DEFAULT_SUPP="glibc-2.2.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="glibc-2.2-LinuxThreads-helgrind.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" + ;; +- +- 2.3) +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.3 family" >&5 +-$as_echo "2.3 family" >&6; } +- +-$as_echo "#define GLIBC_2_3 1" >>confdefs.h +- +- DEFAULT_SUPP="glibc-2.3.supp ${DEFAULT_SUPP}" +- DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" +- DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" +- ;; +- +- 2.4) +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.4 family" >&5 +-$as_echo "2.4 family" >&6; } +- +-$as_echo "#define GLIBC_2_4 1" >>confdefs.h +- +- DEFAULT_SUPP="glibc-2.4.supp ${DEFAULT_SUPP}" +- DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" +- DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" +- ;; +- +- 2.5) +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.5 family" >&5 +-$as_echo "2.5 family" >&6; } +- +-$as_echo "#define GLIBC_2_5 1" >>confdefs.h +- +- DEFAULT_SUPP="glibc-2.5.supp ${DEFAULT_SUPP}" +- DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" +- DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" +- ;; +- 2.6) +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.6 family" >&5 +-$as_echo "2.6 family" >&6; } +- +-$as_echo "#define GLIBC_2_6 1" >>confdefs.h +- +- DEFAULT_SUPP="glibc-2.6.supp ${DEFAULT_SUPP}" +- DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" +- DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" +- ;; +- 2.7) +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.7 family" >&5 +-$as_echo "2.7 family" >&6; } +- +-$as_echo "#define GLIBC_2_7 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}" +- ;; +- 2.8) +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.8 family" >&5 +-$as_echo "2.8 family" >&6; } +- +-$as_echo "#define GLIBC_2_8 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}" +- ;; +- 2.9) +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.9 family" >&5 +-$as_echo "2.9 family" >&6; } +- +-$as_echo "#define GLIBC_2_9 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}" +- ;; +- 2.10) +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.10 family" >&5 +-$as_echo "2.10 family" >&6; } +- +-$as_echo "#define GLIBC_2_10 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}" +- ;; +- 2.11) +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.11 family" >&5 +-$as_echo "2.11 family" >&6; } +- +-$as_echo "#define GLIBC_2_11 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}" +- ;; +- 2.12) +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.12 family" >&5 +-$as_echo "2.12 family" >&6; } +- +-$as_echo "#define GLIBC_2_12 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}" +- ;; +- 2.13) +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.13 family" >&5 +-$as_echo "2.13 family" >&6; } +- +-$as_echo "#define GLIBC_2_13 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}" +- ;; +- 2.14) +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.14 family" >&5 +-$as_echo "2.14 family" >&6; } +- +-$as_echo "#define GLIBC_2_14 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}" +- ;; +- 2.15) +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.15 family" >&5 +-$as_echo "2.15 family" >&6; } +- +-$as_echo "#define GLIBC_2_15 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}" +- ;; +- 2.16) +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.16 family" >&5 +-$as_echo "2.16 family" >&6; } +- +-$as_echo "#define GLIBC_2_16 1" >>confdefs.h +- +- DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}" ++ 2.[3-6]) ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${GLIBC_VERSION} family" >&5 ++$as_echo "${GLIBC_VERSION} family" >&6; } ++ DEFAULT_SUPP="glibc-${GLIBC_VERSION}.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" + ;; +- 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 +- ++ 2.[7-9]) ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${GLIBC_VERSION} family" >&5 ++$as_echo "${GLIBC_VERSION} family" >&6; } + 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) +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.18 family" >&5 +-$as_echo "2.18 family" >&6; } ++ 2.10|2.11) ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${GLIBC_VERSION} family" >&5 ++$as_echo "${GLIBC_VERSION} family" >&6; } + +-$as_echo "#define GLIBC_2_18 1" >>confdefs.h ++$as_echo "#define GLIBC_MANDATORY_STRLEN_REDIRECT 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}" + ;; +- 2.19) +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.19 family" >&5 +-$as_echo "2.19 family" >&6; } ++ 2.*) ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${GLIBC_VERSION} family" >&5 ++$as_echo "${GLIBC_VERSION} family" >&6; } + +-$as_echo "#define GLIBC_2_19 1" >>confdefs.h ++$as_echo "#define GLIBC_MANDATORY_STRLEN_REDIRECT 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}" +- ;; +- 2.20) +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.20 family" >&5 +-$as_echo "2.20 family" >&6; } + +-$as_echo "#define GLIBC_2_20 1" >>confdefs.h ++$as_echo "#define GLIBC_MANDATORY_INDEX_AND_STRLEN_REDIRECT 1" >>confdefs.h + + DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" +@@ -6858,11 +6709,10 @@ + + DEFAULT_SUPP="bionic.supp ${DEFAULT_SUPP}" + ;; +- +- *) ++ 2.0|2.1|*) + { $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.19" "$LINENO" 5 ++ as_fn_error $? "Valgrind requires glibc version 2.2 or later" "$LINENO" 5 + as_fn_error $? "or Darwin or Bionic libc" "$LINENO" 5 + ;; + esac diff --git a/valgrind.spec b/valgrind.spec index 51b798b..0e75c0e 100644 --- a/valgrind.spec +++ b/valgrind.spec @@ -77,6 +77,9 @@ Patch8: valgrind-3.10.1-ppc64-accept4.patch # KDE#344318 - socketcall should wrap recvmmsg and sendmmsg Patch9: valgrind-3.10.1-send-recv-mmsg.patch +# Upstream valgrind svn r14530 +Patch10: valgrind-3.10.1-glibc-version-check.patch + %if %{build_multilib} # Ensure glibc{,-devel} is installed for both multilib arches BuildRequires: /lib/libc.so.6 /usr/lib/libc.so /lib64/libc.so.6 /usr/lib64/libc.so @@ -184,6 +187,7 @@ Valgrind User Manual for details. %patch7 -p1 %patch8 -p1 %patch9 -p1 +%patch10 -p1 %build # We need to use the software collection compiler and binutils if available. @@ -335,6 +339,7 @@ echo ===============END TESTING=============== * Wed Feb 18 2015 Mark Wielaard - 3.10.1-6 - Add valgrind-3.10.1-send-recv-mmsg.patch - Add mount and umount2 to valgrind-3.10.1-aarch64-syscalls.patch. +- Add valgrind-3.10.1-glibc-version-check.patch * Tue Feb 10 2015 Mark Wielaard - 3.10.1-5 - Add accept4 to valgrind-3.10.1-aarch64-syscalls.patch.