valgrind: bump to version 3.9.0

Drop some patches:
 - glibc 2.17 and 2.18 are now supported by upstream
 - coregrind/link_tool_exe_linux.in has been reworked and should now
   support ccache

[Peter: drop unneeded AUTORECONF as configure.in no longer gets patched]
Signed-off-by: Jérôme Pouiller <jezz@sysmic.org>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
Jérôme Pouiller 2014-01-02 17:34:40 +01:00 committed by Peter Korsgaard
parent 4e2b7057c6
commit bfbe4dd19e
6 changed files with 54 additions and 119 deletions

View File

@ -1,15 +1,19 @@
From db894abcaa12555f60880a15840010f81d354806 Mon Sep 17 00:00:00 2001
From 872ade34d6af973ca88d5accd9e819216ecb94ba Mon Sep 17 00:00:00 2001
From: Pierre Habouzit <madcoder@debian.org>
Date: Tue, 10 May 2011 23:11:45 +0200
Subject: [PATCH] workaround SIGSEGV on PPC.
Subject: [PATCH 1/3] workaround SIGSEGV on PPC.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
Signed-off-by: Jérôme Pouiller <jezz@sysmic.org>
---
coregrind/m_machine.c | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
coregrind/m_machine.c | 4 ++++
1 file changed, 4 insertions(+)
Index: b/coregrind/m_machine.c
===================================================================
diff --git a/coregrind/m_machine.c b/coregrind/m_machine.c
index 28a180e..8426551 100644
--- a/coregrind/m_machine.c
+++ b/coregrind/m_machine.c
@@ -27,6 +27,10 @@
@ -23,3 +27,6 @@ Index: b/coregrind/m_machine.c
#include "pub_core_basics.h"
#include "pub_core_vki.h"
#include "pub_core_libcsetjmp.h" // setjmp facilities
--
1.8.3.2

View File

@ -1,13 +1,25 @@
[PATCH] valgrind: don't enable largefile support unconditionally on uClibc
From 271d855c0ad94a2ec164e20173257a06cd83288d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Pouiller?= <jezz@sysmic.org>
Date: Thu, 2 Jan 2014 16:00:06 +0100
Subject: [PATCH 2/3] don't enable largefile support unconditionally on uClibc
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
uClibc can be compiled without largefile support (and errors out if
_FILE_OFFSET_BITS is set to 64), so don't define it if that combination
is detected.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Signed-off-by: Jérôme Pouiller <jezz@sysmic.org>
---
coregrind/m_initimg/initimg-linux.c | 4 ++++
coregrind/m_main.c | 4 ++++
coregrind/m_ume/elf.c | 4 ++++
3 files changed, 12 insertions(+)
Index: b/coregrind/m_initimg/initimg-linux.c
===================================================================
diff --git a/coregrind/m_initimg/initimg-linux.c b/coregrind/m_initimg/initimg-linux.c
index 9bcc05c..ffee30f 100644
--- a/coregrind/m_initimg/initimg-linux.c
+++ b/coregrind/m_initimg/initimg-linux.c
@@ -55,7 +55,11 @@
@ -22,11 +34,11 @@ Index: b/coregrind/m_initimg/initimg-linux.c
/* This is for ELF types etc, and also the AT_ constants. */
#include <elf.h>
/* --- !!! --- EXTERNAL HEADERS end --- !!! --- */
Index: b/coregrind/m_main.c
===================================================================
diff --git a/coregrind/m_main.c b/coregrind/m_main.c
index 35c11e1..0372946 100644
--- a/coregrind/m_main.c
+++ b/coregrind/m_main.c
@@ -2948,7 +2948,11 @@
@@ -2997,7 +2997,11 @@ asm(
/* --- !!! --- EXTERNAL HEADERS start --- !!! --- */
#define _GNU_SOURCE
@ -38,8 +50,8 @@ Index: b/coregrind/m_main.c
/* This is in order to get AT_NULL and AT_PAGESIZE. */
#include <elf.h>
/* --- !!! --- EXTERNAL HEADERS end --- !!! --- */
Index: b/coregrind/m_ume/elf.c
===================================================================
diff --git a/coregrind/m_ume/elf.c b/coregrind/m_ume/elf.c
index b5b30e5..0766c74 100644
--- a/coregrind/m_ume/elf.c
+++ b/coregrind/m_ume/elf.c
@@ -48,7 +48,11 @@
@ -54,3 +66,6 @@ Index: b/coregrind/m_ume/elf.c
/* This is for ELF types etc, and also the AT_ constants. */
#include <elf.h>
/* --- !!! --- EXTERNAL HEADERS end --- !!! --- */
--
1.8.3.2

View File

@ -1,4 +1,10 @@
Add replacement for <a.out.h>
From d560106f300dd2547c659511c8668d88a50eb577 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Pouiller?= <jezz@sysmic.org>
Date: Thu, 2 Jan 2014 16:00:49 +0100
Subject: [PATCH 3/3] Add replacement for <a.out.h>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Valgrind includes <a.out.h> to get the definition of 'struct
nlist'. However, while glibc directly defines 'struct nlist' in
@ -15,12 +21,16 @@ easiest solution is to just replace the #include <a.out.h> in Valgrind
code by a copy/paste of the 'struct nlist' definition.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Jérôme Pouiller <jezz@sysmic.org>
---
coregrind/m_debuginfo/readstabs.c | 16 +++++++++++++++-
1 file changed, 15 insertions(+), 1 deletion(-)
Index: b/coregrind/m_debuginfo/readstabs.c
===================================================================
diff --git a/coregrind/m_debuginfo/readstabs.c b/coregrind/m_debuginfo/readstabs.c
index 70ad319..47f5bc7 100644
--- a/coregrind/m_debuginfo/readstabs.c
+++ b/coregrind/m_debuginfo/readstabs.c
@@ -53,7 +53,21 @@
@@ -54,7 +54,21 @@
/* --- !!! --- EXTERNAL HEADERS start --- !!! --- */
#if defined(VGO_linux)
@ -43,3 +53,6 @@ Index: b/coregrind/m_debuginfo/readstabs.c
#elif defined(VGO_darwin)
# include <mach-o/nlist.h>
# define n_other n_sect
--
1.8.3.2

View File

@ -1,50 +0,0 @@
From bca21896dbdba12963aa7991d7f1b732b6a709a8 Mon Sep 17 00:00:00 2001
From: Phil Eichinger <phil@zankapfel.net>
Date: Wed, 23 Oct 2013 18:28:15 +0200
Subject: [PATCH 1/1] Add support for glibc 2.17 and 2.18.
Signed-off-by: Phil Eichinger <phil@zankapfel.net>
---
Status: fixed in upstream r13228 & r13504, not yet released.
configure.in | 16 +++++++++++++++-
1 file changed, 15 insertions(+), 1 deletion(-)
diff --git a/configure.in b/configure.in
index 1da3a2c..ccc60a0 100644
--- a/configure.in
+++ b/configure.in
@@ -906,6 +906,20 @@ case "${GLIBC_VERSION}" in
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 @@ case "${GLIBC_VERSION}" in
*)
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
--
1.7.10.4

View File

@ -1,49 +0,0 @@
Fix link_tool_exe_linux.in to work with ccache
The link_tool_exe_linux.in Perl script makes the assumption that the
compilation command line is always:
gcc -o foobar foobar.c -someflags
I.e, it assumes that the compiler is the first word of the command
line. However, this is not true with ccache, where the command line
is:
/path/to/ccache /path/to/crossgcc -o foobar foobar.c -someflags
Therefore, we tune the script to take into account the case where
ccache is used.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Index: b/coregrind/link_tool_exe_linux.in
===================================================================
--- a/coregrind/link_tool_exe_linux.in
+++ b/coregrind/link_tool_exe_linux.in
@@ -60,8 +60,16 @@
die "Bogus alt-load address"
if (length($ala) < 3 || index($ala, "0x") != 0);
+shift(@ARGV);
+
+if ($ARGV[0] =~ /.*ccache/) {
+ shift(@ARGV);
+}
+
# The cc invokation to do the final link
-my $cc = $ARGV[1];
+my $cc = $ARGV[0];
+
+shift(@ARGV);
# and the 'restargs' are argv[2 ..]
@@ -82,7 +90,7 @@
}
# Add the rest of the parameters
-foreach my $n (2 .. $#ARGV) {
+foreach my $n (0 .. $#ARGV) {
$cmd = "$cmd $ARGV[$n]";
}

View File

@ -4,12 +4,11 @@
#
################################################################################
VALGRIND_VERSION = 3.8.1
VALGRIND_VERSION = 3.9.0
VALGRIND_SITE = http://valgrind.org/downloads/
VALGRIND_SOURCE = valgrind-$(VALGRIND_VERSION).tar.bz2
VALGRIND_LICENSE = GPLv2 GFDLv1.2
VALGRIND_LICENSE_FILES = COPYING COPYING.DOCS
VALGRIND_AUTORECONF = YES
VALGRIND_CONF_OPT = --disable-tls
# On ARM, Valgrind only supports ARMv7, and uses the arch part of the