Commit bfbe4dd1 authored by Jérôme Pouiller's avatar Jérôme Pouiller Committed by Peter Korsgaard
Browse files

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: default avatarJérôme Pouiller <jezz@sysmic.org>
Signed-off-by: default avatarPeter Korsgaard <peter@korsgaard.com>
parent 4e2b7057
Loading
Loading
Loading
Loading
+13 −6
Original line number Diff line number Diff line
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(-)
 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
+23 −8
Original line number Diff line number Diff line
[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
+17 −4
Original line number Diff line number Diff line
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
+0 −50
Original line number Diff line number Diff line
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
+0 −49
Original line number Diff line number Diff line
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]";
 }
 
Loading