diff options
author | Marc Kleine-Budde <mkl@pengutronix.de> | 2015-06-22 15:35:21 +0200 |
---|---|---|
committer | Marc Kleine-Budde <mkl@pengutronix.de> | 2015-06-22 15:35:58 +0200 |
commit | 8d9791d66934dc3eb1f9c393c83b1227c207ab1d (patch) | |
tree | 3701071ef985d7f386be5ee91add4fe5b59d0f14 | |
parent | 0bce30f319d47c18cdc0aabf117ef9eee9fe1c0e (diff) | |
download | ptxdist-8d9791d66934dc3eb1f9c393c83b1227c207ab1d.tar.gz ptxdist-8d9791d66934dc3eb1f9c393c83b1227c207ab1d.tar.xz |
valgrind: cherry pick upstream patches for new glibc and kernel versions
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
5 files changed, 308 insertions, 43 deletions
diff --git a/patches/valgrind-3.10.1/0002-configure.ac-Generalize-glibc-version-check.patch b/patches/valgrind-3.10.1/0002-configure.ac-Generalize-glibc-version-check.patch new file mode 100644 index 000000000..18108aab6 --- /dev/null +++ b/patches/valgrind-3.10.1/0002-configure.ac-Generalize-glibc-version-check.patch @@ -0,0 +1,224 @@ +From: bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> +Date: Sat, 13 Sep 2014 10:53:00 +0000 +Subject: [PATCH] configure.ac: Generalize glibc version check + +git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14530 a5019735-40e9-0310-863c-91ae7b9d1cf9 + +Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> +--- + configure.ac | 139 +++++++--------------------------------------------- + coregrind/m_redir.c | 11 ++--- + 2 files changed, 22 insertions(+), 128 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 2ac2cbedf6ae..07f0afec5d8a 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -879,141 +879,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}" +@@ -1028,10 +928,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 9d3c9b13c06d..9aee707f1845 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 diff --git a/patches/valgrind-3.10.1/0002-make-kernel-version-a-autoconf-cache-variable.patch b/patches/valgrind-3.10.1/0002-make-kernel-version-a-autoconf-cache-variable.patch deleted file mode 100644 index 3f78b9520..000000000 --- a/patches/valgrind-3.10.1/0002-make-kernel-version-a-autoconf-cache-variable.patch +++ /dev/null @@ -1,41 +0,0 @@ -From: Michael Olbrich <m.olbrich@pengutronix.de> -Date: Mon, 8 Aug 2011 08:57:32 +0200 -Subject: [PATCH] make kernel version a autoconf cache variable - -Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de> ---- - configure.ac | 11 ++++++----- - 1 file changed, 6 insertions(+), 5 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 2ac2cbedf6ae..153168828ced 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -300,21 +300,22 @@ case "${host_os}" in - # Ok, this is linux. Check the kernel version - AC_MSG_CHECKING([for the kernel version]) - -- kernel=`uname -r` -+ AC_CACHE_VAL([valgrind_cv_sys_kernel_version], -+ [valgrind_cv_sys_kernel_version=`uname -r`]) - -- case "${kernel}" in -+ case "${valgrind_cv_sys_kernel_version}" in - 2.6.*|3.*) -- AC_MSG_RESULT([2.6.x/3.x family (${kernel})]) -+ AC_MSG_RESULT([2.6.x/3.x family (${valgrind_cv_sys_kernel_version})]) - AC_DEFINE([KERNEL_2_6], 1, [Define to 1 if you're using Linux 2.6.x or Linux 3.x]) - ;; - - 2.4.*) -- AC_MSG_RESULT([2.4 family (${kernel})]) -+ AC_MSG_RESULT([2.4 family (${valgrind_cv_sys_kernel_version})]) - AC_DEFINE([KERNEL_2_4], 1, [Define to 1 if you're using Linux 2.4.x]) - ;; - - *) -- AC_MSG_RESULT([unsupported (${kernel})]) -+ AC_MSG_RESULT([unsupported (${valgrind_cv_sys_kernel_version})]) - AC_MSG_ERROR([Valgrind works on kernels 2.4, 2.6]) - ;; - esac diff --git a/patches/valgrind-3.10.1/0003-Fix-configure-for-Linux-kernel-4.0-rc1-In-addition-r.patch b/patches/valgrind-3.10.1/0003-Fix-configure-for-Linux-kernel-4.0-rc1-In-addition-r.patch new file mode 100644 index 000000000..ba361cf82 --- /dev/null +++ b/patches/valgrind-3.10.1/0003-Fix-configure-for-Linux-kernel-4.0-rc1-In-addition-r.patch @@ -0,0 +1,44 @@ +From: cborntra <cborntra@a5019735-40e9-0310-863c-91ae7b9d1cf9> +Date: Mon, 23 Feb 2015 20:19:03 +0000 +Subject: [PATCH] Fix configure for Linux kernel >= 4.0-rc1 In addition raise + the minimal Linux version to 2.6 as there is almost no test coverage for 2.4 + and 2.6 was released in 2003. + +git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14955 a5019735-40e9-0310-863c-91ae7b9d1cf9 + +Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> +--- + configure.ac | 18 ++++++------------ + 1 file changed, 6 insertions(+), 12 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 07f0afec5d8a..e67ce8f55706 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -303,20 +303,14 @@ case "${host_os}" in + kernel=`uname -r` + + case "${kernel}" in +- 2.6.*|3.*) +- AC_MSG_RESULT([2.6.x/3.x family (${kernel})]) +- AC_DEFINE([KERNEL_2_6], 1, [Define to 1 if you're using Linux 2.6.x or Linux 3.x]) +- ;; +- +- 2.4.*) +- AC_MSG_RESULT([2.4 family (${kernel})]) +- AC_DEFINE([KERNEL_2_4], 1, [Define to 1 if you're using Linux 2.4.x]) +- ;; +- +- *) ++ 0.*|1.*|2.0.*|2.1.*|2.2.*|2.3.*|2.4.*|2.5.*) + AC_MSG_RESULT([unsupported (${kernel})]) +- AC_MSG_ERROR([Valgrind works on kernels 2.4, 2.6]) ++ AC_MSG_ERROR([Valgrind needs a Linux kernel >= 2.6]) + ;; ++ ++ *) ++ AC_MSG_RESULT([2.6 or later (${kernel})]) ++ ;; + esac + + ;; diff --git a/patches/valgrind-3.10.1/0004-make-kernel-version-a-autoconf-cache-variable.patch b/patches/valgrind-3.10.1/0004-make-kernel-version-a-autoconf-cache-variable.patch new file mode 100644 index 000000000..f0e9f0634 --- /dev/null +++ b/patches/valgrind-3.10.1/0004-make-kernel-version-a-autoconf-cache-variable.patch @@ -0,0 +1,36 @@ +From: Michael Olbrich <m.olbrich@pengutronix.de> +Date: Mon, 8 Aug 2011 08:57:32 +0200 +Subject: [PATCH] make kernel version a autoconf cache variable + +Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de> +--- + configure.ac | 11 ++++++----- + 1 file changed, 6 insertions(+), 5 deletions(-) + +diff --git a/configure.ac b/configure.ac +index e67ce8f55706..efe70c0a37cc 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -300,16 +300,17 @@ case "${host_os}" in + # Ok, this is linux. Check the kernel version + AC_MSG_CHECKING([for the kernel version]) + +- kernel=`uname -r` ++ AC_CACHE_VAL([valgrind_cv_sys_kernel_version], ++ [valgrind_cv_sys_kernel_version=`uname -r`]) + +- case "${kernel}" in ++ case "${valgrind_cv_sys_kernel_version}" in + 0.*|1.*|2.0.*|2.1.*|2.2.*|2.3.*|2.4.*|2.5.*) +- AC_MSG_RESULT([unsupported (${kernel})]) +- AC_MSG_ERROR([Valgrind needs a Linux kernel >= 2.6]) ++ AC_MSG_RESULT([unsupported (${valgrind_cv_sys_kernel_version})]) ++ AC_MSG_ERROR([Valgrind needs a Linux kernel >= 2.6]) + ;; + + *) +- AC_MSG_RESULT([2.6 or later (${kernel})]) ++ AC_MSG_RESULT([2.6 or later (${valgrind_cv_sys_kernel_version})]) + ;; + esac + diff --git a/patches/valgrind-3.10.1/series b/patches/valgrind-3.10.1/series index ce22fcaa7..c3e24dac9 100644 --- a/patches/valgrind-3.10.1/series +++ b/patches/valgrind-3.10.1/series @@ -1,5 +1,7 @@ # generated by git-ptx-patches #tag:base --start-number 1 0001-configure.ac-allow-all-arm-don-t-restrict-to-armv7.patch -0002-make-kernel-version-a-autoconf-cache-variable.patch -# 740ad5fce41b58864cb7c18bfefd385a - git-ptx-patches magic +0002-configure.ac-Generalize-glibc-version-check.patch +0003-Fix-configure-for-Linux-kernel-4.0-rc1-In-addition-r.patch +0004-make-kernel-version-a-autoconf-cache-variable.patch +# 4fc1fbb027d0e7d9025338022822128d - git-ptx-patches magic |