Skip to contentSkip to conversation

valgrind: bump version to 3.11.0

PATCH New Peter Seiderer 2 participants 3 messages Oct 31, 2015

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 valgrind: bump version to 3.11.0

- rebase patch 0001-workaround-SIGSEGV-on-PPC.patch
- remove upstream applied patches 0002-Fix-configure-for-Linux-kernel-4.0-rc1.patch 0004-configure.ac-Generalize-glibc-version-check.patch
- rebase 0003-add-missing-ptrace-getsiginfo-on-powerpc.patch (convert to git patch format, rename to 0002-Define-PTRACE_GETSIGINFO-on-PowerPC-when-not-availab.patch)
- remove legacy VALGRIND_AUTORECONF=YES (no more patch touching confgure.ac)
- add '--disable-ubsan' for new undefined behaviour sanitiser option

---
 .../valgrind/0001-workaround-SIGSEGV-on-PPC.patch  |  10 +-
 ...E_GETSIGINFO-on-PowerPC-when-not-availab.patch} |  23 ++-
 ...02-Fix-configure-for-Linux-kernel-4.0-rc1.patch |  48 -----
 ...nfigure.ac-Generalize-glibc-version-check.patch | 228 ---------------------
 package/valgrind/valgrind.hash                     |   2 +-
 package/valgrind/valgrind.mk                       |   5 +-
 6 files changed, 24 insertions(+), 292 deletions(-)
 rename package/valgrind/{0003-add-missing-ptrace-getsiginfo-on-powerpc.patch => 0002-Define-PTRACE_GETSIGINFO-on-PowerPC-when-not-availab.patch} (52%)
 delete mode 100644 package/valgrind/0002-Fix-configure-for-Linux-kernel-4.0-rc1.patch
 delete mode 100644 package/valgrind/0004-configure.ac-Generalize-glibc-version-check.patch
package/valgrind/0001-workaround-SIGSEGV-on-PPC.patch +5 -5
index 1c5966b..8a6003c 100644
@@ -1,7 +1,7 @@
-From bd9d2af89e45081132c150e5e4bdf9a12dfca693 Mon Sep 17 00:00:00 2001
+From ff29b837f21a69c79289c3a87b03f8c23e05616e Mon Sep 17 00:00:00 2001
 From: Pierre Habouzit <[email protected]>
 Date: Tue, 10 May 2011 23:11:45 +0200
-Subject: [PATCH 1/2] workaround SIGSEGV on PPC.
+Subject: [PATCH] workaround SIGSEGV on PPC.
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
@@ -13,7 +13,7 @@ Signed-off-by: J?r?me Pouiller <[email protected]>
  1 file changed, 4 insertions(+)
 
 diff --git a/coregrind/m_machine.c b/coregrind/m_machine.c
-index 42d8ce8..3c9900f 100644
+index 6110c93..298a00e 100644
 --- a/coregrind/m_machine.c
 +++ b/coregrind/m_machine.c
 @@ -27,6 +27,10 @@
@@ -26,7 +26,7 @@ index 42d8ce8..3c9900f 100644
 +
  #include "pub_core_basics.h"
  #include "pub_core_vki.h"
- #include "pub_core_libcsetjmp.h"   // setjmp facilities
+ #include "pub_core_threadstate.h"
 -- 
-1.9.1
+2.1.4
 
package/valgrind/0002-Define-PTRACE_GETSIGINFO-on-PowerPC-when-not-availab.patch renamed from package/valgrind/0003-add-missing-ptrace-getsiginfo-on-powerpc.patch +16 -7
similarity index 52%
rename from package/valgrind/0003-add-missing-ptrace-getsiginfo-on-powerpc.patch
rename to package/valgrind/0002-Define-PTRACE_GETSIGINFO-on-PowerPC-when-not-availab.patch
index f663825..44adfc4 100644
@@ -1,4 +1,7 @@
-Define PTRACE_GETSIGINFO on PowerPC when not available
+From 7311686d6286972ff97cc18b2416a4cdd7fc5c7e Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <[email protected]>
+Date: Sat, 31 Oct 2015 12:15:24 +0100
+Subject: [PATCH] Define PTRACE_GETSIGINFO on PowerPC when not available
 
 uClibc 0.9.33.2 does not define PTRACE_GETSIGINFO in PowerPC. Even
 though Buildroot has a uClibc patch doing that, it doesn't solve the
@@ -8,12 +11,15 @@ PTRACE_GETSIGINFO on PowerPC to the right value, when such definition
 is not available from the C library.
 
 Signed-off-by: Thomas Petazzoni <[email protected]>
+---
+ coregrind/vgdb-invoker-ptrace.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
 
-Index: b/coregrind/vgdb-invoker-ptrace.c
-===================================================================
+diff --git a/coregrind/vgdb-invoker-ptrace.c b/coregrind/vgdb-invoker-ptrace.c
+index d65f59a..bdefac2 100644
 --- a/coregrind/vgdb-invoker-ptrace.c
 +++ b/coregrind/vgdb-invoker-ptrace.c
-@@ -71,6 +71,12 @@
+@@ -72,6 +72,12 @@
  #   endif
  #endif
  
@@ -23,6 +29,9 @@ Index: b/coregrind/vgdb-invoker-ptrace.c
 +# endif
 +#endif
 +
- #if VEX_HOST_WORDSIZE == 8
- typedef Addr64 CORE_ADDR;
- #elif VEX_HOST_WORDSIZE == 4
+ // 32-bit or 64-bit wide, depending on primary architecture.
+ typedef Addr  CORE_ADDR;
+ typedef Addr  PTRACE_XFER_TYPE;
+-- 
+2.1.4
+
package/valgrind/0002-Fix-configure-for-Linux-kernel-4.0-rc1.patch deleted +0 -48

48 lines not on this page · raw message

package/valgrind/0004-configure.ac-Generalize-glibc-version-check.patch deleted +0 -228

228 lines not on this page · raw message

package/valgrind/valgrind.hash +1 -1
index f311ea4..f2cd6e8 100644
@@ -1,2 +1,2 @@
 # From http://valgrind.org/downloads/current.html
-md5	60ddae962bc79e7c95cfc4667245707f	valgrind-3.10.1.tar.bz2
+md5	4ea62074da73ae82e0162d6550d3f129	valgrind-3.11.0.tar.bz2
package/valgrind/valgrind.mk +2 -3
index 9500264..75d542a 100644
@@ -4,13 +4,12 @@
 #
 ################################################################################
 
-VALGRIND_VERSION = 3.10.1
+VALGRIND_VERSION = 3.11.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_CONF_OPTS = --disable-tls
-VALGRIND_AUTORECONF = YES
+VALGRIND_CONF_OPTS = --disable-tls --disable-ubsan
 VALGRIND_INSTALL_STAGING = YES
 
 # When Valgrind detects a 32-bit MIPS architecture, it forcibly adds
Signature · 1 line
2.1.4
#1 lore raw

PATCH 1/1 valgrind: bump version to 3.11.0

Dear Peter Seiderer,

Quoted 11 lines · Peter Seiderer

- rebase patch 0001-workaround-SIGSEGV-on-PPC.patch
- remove upstream applied patches 0002-Fix-configure-for-Linux-kernel-4.0-rc1.patch 0004-configure.ac-Generalize-glibc-version-check.patch
- rebase 0003-add-missing-ptrace-getsiginfo-on-powerpc.patch (convert to git patch format, rename to 0002-Define-PTRACE_GETSIGINFO-on-PowerPC-when-not-availab.patch)
- remove legacy VALGRIND_AUTORECONF=YES (no more patch touching confgure.ac)
- add '--disable-ubsan' for new undefined behaviour sanitiser option

Quoted 11 lines
---
 .../valgrind/0001-workaround-SIGSEGV-on-PPC.patch  |  10 +-
 ...E_GETSIGINFO-on-PowerPC-when-not-availab.patch} |  23 ++-
 ...02-Fix-configure-for-Linux-kernel-4.0-rc1.patch |  48 -----
 ...nfigure.ac-Generalize-glibc-version-check.patch | 228 ---------------------
 package/valgrind/valgrind.hash                     |   2 +-
 package/valgrind/valgrind.mk                       |   5 +-
 6 files changed, 24 insertions(+), 292 deletions(-)
 rename package/valgrind/{0003-add-missing-ptrace-getsiginfo-on-powerpc.patch => 0002-Define-PTRACE_GETSIGINFO-on-PowerPC-when-not-availab.patch} (52%)
 delete mode 100644 package/valgrind/0002-Fix-configure-for-Linux-kernel-4.0-rc1.patch
 delete mode 100644 package/valgrind/0004-configure.ac-Generalize-glibc-version-check.patch

Applied, thanks. Could you have a look at the build failures that occur with musl ? See
http://autobuild.buildroot.org/results/7b0/7b048ba58918f0a08498c61327fcf35a85a84837/build-end.log.

Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#2 lore raw

PATCH 1/1 valgrind: bump version to 3.11.0

Hello Thomas,

Quoted 5 lines · Thomas Petazzoni

Applied, thanks. Could you have a look at the build failures that occur with musl ? See
http://autobuild.buildroot.org/results/7b0/7b048ba58918f0a08498c61327fcf35a85a84837/build-end.log.

The configure scripts failed with:

checking the glibc version... unsupported version
configure: error: Valgrind requires glibc version 2.2 or later

The glibc version is detected by the following code

if test x$ac_cv_header_features_h = xyes; then
rm -f conftest.$ac_ext
cat <<_ACEOF >conftest.$ac_ext
#include <features.h>
#if defined(__GNU_LIBRARY__) && defined(__GLIBC__) && defined(__GLIBC_MINOR__) glibc version is: __GLIBC__ __GLIBC_MINOR__
#endif
_ACEOF
GLIBC_VERSION="$CPP -P conftest.$ac_ext | $SED -n 's/^glibc version is: //p' | $SED 's/ /./g'"
fi

and there are special cases for darwin, bionic and solaris.

Musl detection is not easy because there is no __MUSL__ macro defined (by design see [1]). (Any easy alternative suggestions for a check?)

There is a openwrt patch for this problem, basically disabling the glibc version check (see [2]), and some other minor tweaks.

Take this patch for buildroot? Or disable valgrind for musl for the moment?

The patch works basically, but there are no suppression files for musl, triggering a lot of basic messages (false positives(?)), see e.g. [3]...

Regards,
Peter

[1] http://wiki.musl-libc.org/wiki/FAQ#Q:_why_is_there_no_MUSL_macro_.3F
[2] https://dev.openwrt.org/browser/trunk/package/devel/valgrind/patches/200-musl_fix.patch
[3] http://www.openwall.com/lists/musl/2013/06/16/7

Quoted 3 lines

Thanks!

Thomas