Skip to contentSkip to conversation

valgrind: update to 3.11.0 + fixes

PATCH Superseded Andre McCurdy 1 participant 5 messages Dec 18, 2015

v1 of 3 Superseded Latest is v3 →

lore
Share & tools
lore
#0 lore raw

cover valgrind: update to 3.11.0 + fixes

Rebase Alexander's valgrind 3.11.0 update patch to current oe-core master (remove redunant FILES_${PN}-dbg line) plus fix additional issues.

Alexander Kanavin (1):
valgrind: update to 3.11.0

Andre McCurdy (3):
security_flags.inc: disable -fstack-protector-XXX for valgrind
valgrind: make it explicit that valgrind supports armv7a and above
valgrind: include aarch64 in COMPATIBLE_HOST

 meta/conf/distro/include/security_flags.inc        |   2 +-
 ...able-rt_sigpending-syscall-on-ppc64-linux.patch |  35 ---
 .../valgrind/valgrind/0002-remove-rpath.patch      |  35 +++
 .../valgrind/0004-Fix-out-of-tree-builds.patch     | 175 ++++++++++++++
 ...-vg_test-wrapper-to-support-PTEST-formats.patch | 252 +++++++++++++++++++++
 .../valgrind/valgrind/add-ptest.patch              | 243 --------------------
 .../valgrind/enable.building.on.4.x.kernel.patch   |  37 ---
 .../valgrind/valgrind/force-nostabs.patch          |  42 ----
 .../recipes-devtools/valgrind/valgrind/glibc.patch |  44 ----
 .../pass-maltivec-only-if-it-supported.patch       |  68 ------
 .../valgrind/remove-ppc-tests-failing-build.patch  |  75 ------
 .../valgrind/valgrind/sepbuildfix.patch            | 235 -------------------
 meta/recipes-devtools/valgrind/valgrind_3.10.1.bb  | 104 ---------
 meta/recipes-devtools/valgrind/valgrind_3.11.0.bb  | 101 +++++++++
 14 files changed, 564 insertions(+), 884 deletions(-)
 delete mode 100644 meta/recipes-devtools/valgrind/valgrind/0001-valgrind-Enable-rt_sigpending-syscall-on-ppc64-linux.patch
 create mode 100644 meta/recipes-devtools/valgrind/valgrind/0002-remove-rpath.patch
 create mode 100644 meta/recipes-devtools/valgrind/valgrind/0004-Fix-out-of-tree-builds.patch
 create mode 100644 meta/recipes-devtools/valgrind/valgrind/0005-Modify-vg_test-wrapper-to-support-PTEST-formats.patch
 delete mode 100644 meta/recipes-devtools/valgrind/valgrind/add-ptest.patch
 delete mode 100644 meta/recipes-devtools/valgrind/valgrind/enable.building.on.4.x.kernel.patch
 delete mode 100644 meta/recipes-devtools/valgrind/valgrind/force-nostabs.patch
 delete mode 100644 meta/recipes-devtools/valgrind/valgrind/glibc.patch
 delete mode 100644 meta/recipes-devtools/valgrind/valgrind/pass-maltivec-only-if-it-supported.patch
 delete mode 100644 meta/recipes-devtools/valgrind/valgrind/remove-ppc-tests-failing-build.patch
 delete mode 100644 meta/recipes-devtools/valgrind/valgrind/sepbuildfix.patch
 delete mode 100644 meta/recipes-devtools/valgrind/valgrind_3.10.1.bb
 create mode 100644 meta/recipes-devtools/valgrind/valgrind_3.11.0.bb
Signature · 1 line
1.9.1
#1 lore raw

PATCH 1/4 valgrind: update to 3.11.0

From: Alexander Kanavin <[email protected]>

LICENSE checksums are changed due to a change in FSF address, or copyright years update.

Rebased patches:
sepbuildfix.patch rebased to 0004-Fix-out-of-tree-builds.patch add-ptest.patch rebased to 0005-Modify-vg_test-wrapper-to-support-PTEST-formats.patch

Removed patches:
force-nostabs.patch removed because it's patching lines that have been removed upstream remove-ppc-tests-failing-build.patch removed because it no longer applies, and rebasing it requires building with special ppc32 machine configurations; qemuppc build is fine without it. enable.building.on.4.x.kernel.patch removed because the problem is fixed upstream glibc.patch removed for the same reason

Removed backports:
pass-maltivec-only-if-it-supported.patch 0001-valgrind-Enable-rt_sigpending-syscall-on-ppc64-linux.patch

There is a known warning issued during build:
WARNING: QA Issue: /usr/lib/valgrind/ptest/none/tests/scripts/shell@underscore@badinterp_valgrind-ptest contained in package valgrind-ptest requires /this/is/a/bogus/interpreter/name,
but no providers found in its RDEPENDS [file-rdeps]

If you know how to fix it, let me know.

---
 ...able-rt_sigpending-syscall-on-ppc64-linux.patch |  35 ---
 .../valgrind/valgrind/0002-remove-rpath.patch      |  35 +++
 .../valgrind/0004-Fix-out-of-tree-builds.patch     | 175 ++++++++++++++
 ...-vg_test-wrapper-to-support-PTEST-formats.patch | 252 +++++++++++++++++++++
 .../valgrind/valgrind/add-ptest.patch              | 243 --------------------
 .../valgrind/enable.building.on.4.x.kernel.patch   |  37 ---
 .../valgrind/valgrind/force-nostabs.patch          |  42 ----
 .../recipes-devtools/valgrind/valgrind/glibc.patch |  44 ----
 .../pass-maltivec-only-if-it-supported.patch       |  68 ------
 .../valgrind/remove-ppc-tests-failing-build.patch  |  75 ------
 .../valgrind/valgrind/sepbuildfix.patch            | 235 -------------------
 meta/recipes-devtools/valgrind/valgrind_3.10.1.bb  | 104 ---------
 meta/recipes-devtools/valgrind/valgrind_3.11.0.bb  |  94 ++++++++
 13 files changed, 556 insertions(+), 883 deletions(-)
 delete mode 100644 meta/recipes-devtools/valgrind/valgrind/0001-valgrind-Enable-rt_sigpending-syscall-on-ppc64-linux.patch
 create mode 100644 meta/recipes-devtools/valgrind/valgrind/0002-remove-rpath.patch
 create mode 100644 meta/recipes-devtools/valgrind/valgrind/0004-Fix-out-of-tree-builds.patch
 create mode 100644 meta/recipes-devtools/valgrind/valgrind/0005-Modify-vg_test-wrapper-to-support-PTEST-formats.patch
 delete mode 100644 meta/recipes-devtools/valgrind/valgrind/add-ptest.patch
 delete mode 100644 meta/recipes-devtools/valgrind/valgrind/enable.building.on.4.x.kernel.patch
 delete mode 100644 meta/recipes-devtools/valgrind/valgrind/force-nostabs.patch
 delete mode 100644 meta/recipes-devtools/valgrind/valgrind/glibc.patch
 delete mode 100644 meta/recipes-devtools/valgrind/valgrind/pass-maltivec-only-if-it-supported.patch
 delete mode 100644 meta/recipes-devtools/valgrind/valgrind/remove-ppc-tests-failing-build.patch
 delete mode 100644 meta/recipes-devtools/valgrind/valgrind/sepbuildfix.patch
 delete mode 100644 meta/recipes-devtools/valgrind/valgrind_3.10.1.bb
 create mode 100644 meta/recipes-devtools/valgrind/valgrind_3.11.0.bb
meta/recipes-devtools/valgrind/valgrind/0001-valgrind-Enable-rt_sigpending-syscall-on-ppc64-linux.patch deleted +0 -35
deleted file mode 100644
index 56bb5f5..0000000
@@ -1,35 +0,0 @@
-From 1a8006f56342dae9f7100a3c33d80873676e0404 Mon Sep 17 00:00:00 2001
-From: Li Zhou <[email protected]>
-Date: Mon, 24 Aug 2015 03:55:18 -0400
-Subject: [PATCH] valgrind: Enable rt_sigpending syscall on ppc64 linux
-
-New Revision: 15133
-Enable rt_sigpending syscall on ppc64 linux.
-Patch from Thomas Huth <[email protected]>
-
-Get the patch from valgrind upstream:
-http://valgrind.10908.n7.nabble.com/Valgrind-r15133-in-trunk-NEWS-coregrind-m-syswrap-syswrap-ppc64-linux-c-td54589.html
-
-Upstream-Status: backport
-
-Signed-off-by: Li Zhou <[email protected]>
----
- coregrind/m_syswrap/syswrap-ppc64-linux.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/coregrind/m_syswrap/syswrap-ppc64-linux.c b/coregrind/m_syswrap/syswrap-ppc64-linux.c
-index 5946ee1..8aaa1d7 100644
---- a/coregrind/m_syswrap/syswrap-ppc64-linux.c
-+++ b/coregrind/m_syswrap/syswrap-ppc64-linux.c
-@@ -887,7 +887,7 @@ static SyscallTableEntry syscall_table[] = {
-    LINXY(__NR_rt_sigaction,      sys_rt_sigaction),       // 173
-    LINXY(__NR_rt_sigprocmask,    sys_rt_sigprocmask),     // 174
- 
--// _____(__NR_rt_sigpending,     sys_rt_sigpending),      // 175
-+   LINXY(__NR_rt_sigpending,     sys_rt_sigpending),      // 175
-    LINXY(__NR_rt_sigtimedwait,   sys_rt_sigtimedwait),    // 176
-    LINXY(__NR_rt_sigqueueinfo,   sys_rt_sigqueueinfo),    // 177
-    LINX_(__NR_rt_sigsuspend,     sys_rt_sigsuspend),      // 178
--- 
-1.9.1
-
meta/recipes-devtools/valgrind/valgrind/0002-remove-rpath.patch new file +35 -0
new file mode 100644
index 0000000..e9112da
@@ -0,0 +1,35 @@
+From f96cf1f4eaa72860ab8b5e18ad10fdc704d78c5f Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <[email protected]>
+Date: Tue, 15 Dec 2015 15:01:34 +0200
+Subject: [PATCH 2/5] remove rpath
+
+Upstream-Status: Inappropriate [embedded config]
+Signed-off-by: Saul Wold <[email protected]>
+---
+ none/tests/Makefile.am | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/none/tests/Makefile.am b/none/tests/Makefile.am
+index 54f2a7e..25b0f49 100644
+--- a/none/tests/Makefile.am
++++ b/none/tests/Makefile.am
+@@ -326,7 +326,6 @@ threadederrno_CFLAGS	+= --std=c99
+ endif
+ tls_SOURCES		= tls.c tls2.c
+ tls_DEPENDENCIES	= tls.so tls2.so
+-tls_LDFLAGS		= -Wl,-rpath,$(abs_top_builddir)/none/tests
+ tls_LDADD		= tls.so tls2.so -lpthread
+ tls_so_SOURCES		= tls_so.c
+ tls_so_DEPENDENCIES	= tls2.so
+@@ -334,7 +333,7 @@ if VGCONF_OS_IS_DARWIN
+  tls_so_LDFLAGS		= -dynamic -dynamiclib -all_load -fpic
+  tls_so_LDADD		= `pwd`/tls2.so
+ else
+- tls_so_LDFLAGS		= -Wl,-rpath,$(abs_top_builddir)/none/tests -shared -fPIC
++ tls_so_LDFLAGS		= -shared -fPIC
+  tls_so_LDADD		= tls2.so
+ endif
+ tls_so_CFLAGS		= $(AM_CFLAGS) -fPIC
+-- 
+2.6.2
+
meta/recipes-devtools/valgrind/valgrind/0004-Fix-out-of-tree-builds.patch new file +175 -0

175 lines not on this page · raw message

meta/recipes-devtools/valgrind/valgrind/0005-Modify-vg_test-wrapper-to-support-PTEST-formats.patch new file +252 -0

252 lines not on this page · raw message

meta/recipes-devtools/valgrind/valgrind/add-ptest.patch deleted +0 -243

243 lines not on this page · raw message

meta/recipes-devtools/valgrind/valgrind/enable.building.on.4.x.kernel.patch deleted +0 -37
deleted file mode 100644
index 300f2f1..0000000
@@ -1,37 +0,0 @@
-Enable building valgrind on host with 4.x kernel.
-
-For OpenEmbedded builds we should be checking something like
-OLDEST_KERNEL instead of `uname -r`, but this is good enough for now.
-
-Building on 4.x* currently fails with:
-  configure:5556: checking for the kernel version
-  configure:5579: result: unsupported (4.0.0-rc3-00111-gaffb817)
-  configure:5581: error: Valgrind works on kernels 2.4, 2.6
-
-Upstream-Status: Pending
-Signed-off-by: Martin Jansa <[email protected]>
-
---- valgrind-3.9.0/configure.ac.orig	2015-03-13 19:17:01.247310868 +0100
-+++ valgrind-3.9.0/configure.ac	2015-03-13 19:19:27.388316108 +0100
-@@ -276,9 +276,9 @@
-         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.6.*|3.*|4.*) 
-+        	    AC_MSG_RESULT([2.6.x/3.x/4.x family (${kernel})])
-+        	    AC_DEFINE([KERNEL_2_6], 1, [Define to 1 if you're using Linux 2.6.x or Linux 3.x or Linux 4.x])
-         	    ;;
- 
-              2.4.*) 
-@@ -288,7 +288,7 @@
- 
-              *) 
-         	    AC_MSG_RESULT([unsupported (${kernel})])
--        	    AC_MSG_ERROR([Valgrind works on kernels 2.4, 2.6])
-+        	    AC_MSG_ERROR([Valgrind works on kernels 2.4, 2.6, 3.x, 4.x])
-         	    ;;
-         esac
- 
meta/recipes-devtools/valgrind/valgrind/force-nostabs.patch deleted +0 -42

42 lines not on this page · raw message

meta/recipes-devtools/valgrind/valgrind/glibc.patch deleted +0 -44

44 lines not on this page · raw message

meta/recipes-devtools/valgrind/valgrind/pass-maltivec-only-if-it-supported.patch deleted +0 -68

68 lines not on this page · raw message

meta/recipes-devtools/valgrind/valgrind/remove-ppc-tests-failing-build.patch deleted +0 -75

75 lines not on this page · raw message

meta/recipes-devtools/valgrind/valgrind/sepbuildfix.patch deleted +0 -235

235 lines not on this page · raw message

meta/recipes-devtools/valgrind/valgrind_3.10.1.bb deleted +0 -104

104 lines not on this page · raw message

meta/recipes-devtools/valgrind/valgrind_3.11.0.bb new file +94 -0

94 lines not on this page · raw message

Signature · 1 line
1.9.1
#2 lore raw

PATCH 2/4 security_flags.inc: disable -fstack-protector-XXX for valgrind

In reply to Andre McCurdy

Valgrind (v3.11.0) expects to build with stack protection disabled and includes -fno-stack-protector in its default CFLAGS. However, the CFLAGS provided by OE are included on the compiler command line after the defaults so any -fstack-protector-all / -fstack-protector-strong option provided by security_flags.inc will cause problems.

| .../build-bcm97425vms/tmp/work/mips32el-rdk-linux/valgrind/3.11.0-r0/valgrind-3.11.0/coregrind/m_mallocfree.c:892: undefined reference to __stack_chk_guard' | .../build-bcm97425vms/tmp/work/mips32el-rdk-linux/valgrind/3.11.0-r0/valgrind-3.11.0/coregrind/m_mallocfree.c:947: undefined reference to __stack_chk_fail'

---
 meta/conf/distro/include/security_flags.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
meta/conf/distro/include/security_flags.inc +1 -1
index 14ac0bf..1795750 100644
@@ -84,7 +84,7 @@ SECURITY_CFLAGS_pn-python-numpy = "${SECURITY_NO_PIE_CFLAGS}"
 SECURITY_CFLAGS_pn-python3 = "${SECURITY_NO_PIE_CFLAGS}"
 SECURITY_CFLAGS_pn-tcl = "${SECURITY_NO_PIE_CFLAGS}"
 SECURITY_CFLAGS_pn-tiff = "${SECURITY_NO_PIE_CFLAGS}"
-SECURITY_CFLAGS_pn-valgrind = "${SECURITY_NO_PIE_CFLAGS}"
+SECURITY_CFLAGS_pn-valgrind = ""
 SECURITY_CFLAGS_pn-zlib = "${SECURITY_NO_PIE_CFLAGS}"
 
 # These 2 have text relco errors with the pie options enabled
Signature · 1 line
1.9.1
#3 lore raw

PATCH 3/4 valgrind: make it explicit that valgrind supports armv7a and above

In reply to Andre McCurdy

Update comments etc and remove usage of the _armv7a over-ride.

---
 meta/recipes-devtools/valgrind/valgrind_3.11.0.bb | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)
meta/recipes-devtools/valgrind/valgrind_3.11.0.bb +10 -3
index 30110ab..9e18ec1 100644
@@ -26,14 +26,21 @@ SRC_URI = "http://www.valgrind.org/downloads/valgrind-${PV}.tar.bz2 \
 SRC_URI[md5sum] = "4ea62074da73ae82e0162d6550d3f129"
 SRC_URI[sha256sum] = "6c396271a8c1ddd5a6fb9abe714ea1e8a86fce85b30ab26b4266aeb4c2413b42"
 
-COMPATIBLE_HOST = '(i.86|x86_64|mips|powerpc|powerpc64).*-linux'
-COMPATIBLE_HOST_armv7a = 'arm.*-linux'
+COMPATIBLE_HOST = '(i.86|x86_64|arm|mips|powerpc|powerpc64).*-linux'
+
+# valgrind supports armv7 and above
+COMPATIBLE_HOST_armv4 = 'null'
+COMPATIBLE_HOST_armv5 = 'null'
+COMPATIBLE_HOST_armv6 = 'null'
 
 inherit autotools ptest
 
 EXTRA_OECONF = "--enable-tls --without-mpicc"
-EXTRA_OECONF_armv7a = "--enable-tls -host=armv7-none-linux-gnueabi --without-mpicc"
 EXTRA_OECONF += "${@['--enable-only32bit','--enable-only64bit'][d.getVar('SITEINFO_BITS', True) != '32']}"
+
+# valgrind checks host_cpu "armv7*)", so we need to over-ride the autotools.bbclass default --host option
+EXTRA_OECONF_append_arm = " --host=armv7${HOST_VENDOR}-${HOST_OS}"
+
 EXTRA_OEMAKE = "-w"
 
 do_install_append () {
Signature · 1 line
1.9.1
#4 lore raw

PATCH 4/4 valgrind: include aarch64 in COMPATIBLE_HOST

In reply to Andre McCurdy

Valgrind has supported aarch64 since v3.10.0.

---
 meta/recipes-devtools/valgrind/valgrind_3.11.0.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes-devtools/valgrind/valgrind_3.11.0.bb +1 -1
index 9e18ec1..ed609e1 100644
@@ -26,7 +26,7 @@ SRC_URI = "http://www.valgrind.org/downloads/valgrind-${PV}.tar.bz2 \
 SRC_URI[md5sum] = "4ea62074da73ae82e0162d6550d3f129"
 SRC_URI[sha256sum] = "6c396271a8c1ddd5a6fb9abe714ea1e8a86fce85b30ab26b4266aeb4c2413b42"
 
-COMPATIBLE_HOST = '(i.86|x86_64|arm|mips|powerpc|powerpc64).*-linux'
+COMPATIBLE_HOST = '(i.86|x86_64|arm|aarch64|mips|powerpc|powerpc64).*-linux'
 
 # valgrind supports armv7 and above
 COMPATIBLE_HOST_armv4 = 'null'
Signature · 1 line
1.9.1