valgrind: update to 3.11.0
authorGrazvydas Ignotas <notasas@gmail.com>
Fri, 22 Apr 2016 22:46:58 +0000 (01:46 +0300)
committerGrazvydas Ignotas <notasas@gmail.com>
Fri, 22 Apr 2016 22:46:58 +0000 (01:46 +0300)
Needed support for "vcvt.s32.f32 s3, s3, #12".
Recipe from newer OE, as usual.

15 files changed:
recipes/valgrind/valgrind/0001-Remove-tests-that-fail-to-build-on-some-PPC32-config.patch [new file with mode: 0644]
recipes/valgrind/valgrind/0001-fix-build-for-musl-targets.patch [new file with mode: 0644]
recipes/valgrind/valgrind/0002-remove-rpath.patch [new file with mode: 0644]
recipes/valgrind/valgrind/0004-Fix-out-of-tree-builds.patch [new file with mode: 0644]
recipes/valgrind/valgrind/0005-Modify-vg_test-wrapper-to-support-PTEST-formats.patch [moved from recipes/valgrind/valgrind/add-ptest.patch with 67% similarity]
recipes/valgrind/valgrind/11_mips-link-tool.patch [new file with mode: 0644]
recipes/valgrind/valgrind/avoid-neon-for-targets-which-don-t-support-it.patch [new file with mode: 0644]
recipes/valgrind/valgrind/force-nostabs.patch [deleted file]
recipes/valgrind/valgrind/glibc-2.19.patch [deleted file]
recipes/valgrind/valgrind/remove-arm-variant-specific.patch [deleted file]
recipes/valgrind/valgrind/remove-ppc-tests-failing-build.patch [deleted file]
recipes/valgrind/valgrind/run-ptest [changed mode: 0644->0755]
recipes/valgrind/valgrind/sepbuildfix.patch [deleted file]
recipes/valgrind/valgrind/use-appropriate-march-mcpu-mfpu-for-ARM-test-apps.patch [new file with mode: 0644]
recipes/valgrind/valgrind_3.11.0.bb [moved from recipes/valgrind/valgrind_3.9.0.bb with 51% similarity]

diff --git a/recipes/valgrind/valgrind/0001-Remove-tests-that-fail-to-build-on-some-PPC32-config.patch b/recipes/valgrind/valgrind/0001-Remove-tests-that-fail-to-build-on-some-PPC32-config.patch
new file mode 100644 (file)
index 0000000..a78e195
--- /dev/null
@@ -0,0 +1,51 @@
+From 9762fd23e1f1db66d4b977c694a17d3bca3fe99a Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Fri, 8 Jan 2016 16:36:29 +0200
+Subject: [PATCH] Remove tests that fail to build on some PPC32 configurations
+
+Failures are documented here:
+http://errors.yoctoproject.org/Errors/Search/?items=10&query=862d702fbb99e484631315aa44b9e46f8fc567da&filter=valgrind&type=recipe
+
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+Upstream-Status: Pending
+---
+ memcheck/tests/ppc32/Makefile.am | 2 +-
+ none/tests/ppc32/Makefile.am     | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/memcheck/tests/ppc32/Makefile.am b/memcheck/tests/ppc32/Makefile.am
+index 26b95a2..8f05743 100644
+--- a/memcheck/tests/ppc32/Makefile.am
++++ b/memcheck/tests/ppc32/Makefile.am
+@@ -10,7 +10,7 @@ EXTRA_DIST = $(noinst_SCRIPTS) \
+       power_ISA2_07.stderr.exp power_ISA2_07.vgtest
+ check_PROGRAMS = \
+-      power_ISA2_05 power_ISA2_07
++      power_ISA2_07
+ power_ISA2_05_CFLAGS = $(AM_CFLAGS) $(WERROR) -Winline -Wall -Wshadow -g \
+               -I$(top_srcdir)/include @FLAG_M32@
+diff --git a/none/tests/ppc32/Makefile.am b/none/tests/ppc32/Makefile.am
+index 196239e..0fe3425 100644
+--- a/none/tests/ppc32/Makefile.am
++++ b/none/tests/ppc32/Makefile.am
+@@ -50,13 +50,13 @@ EXTRA_DIST = \
+ check_PROGRAMS = \
+       allexec \
+-      lsw jm-insns round \
++      lsw \
+       test_isa_2_06_part1 test_isa_2_06_part2 test_isa_2_06_part3 \
+       test_dfp1 test_dfp2 test_dfp3 test_dfp4 test_dfp5 \
+       test_isa_2_07_part1 test_isa_2_07_part2 \
+       test_tm test_touch_tm ldst_multiple data-cache-instructions \
+       test_fx test_gx \
+-      testVMX twi tw xlc_dbl_u32 power5+_round power6_bcmp \
++      twi tw xlc_dbl_u32 power6_bcmp \
+       bug129390-ppc32 bug139050-ppc32 \
+       ldstrev mftocrf mcrfs
+-- 
+2.6.4
+
diff --git a/recipes/valgrind/valgrind/0001-fix-build-for-musl-targets.patch b/recipes/valgrind/valgrind/0001-fix-build-for-musl-targets.patch
new file mode 100644 (file)
index 0000000..dc6feff
--- /dev/null
@@ -0,0 +1,69 @@
+From 1b1a024efd18d44294e184e792c1e039cab02bfe Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 14 Feb 2016 09:14:12 +0000
+Subject: [PATCH] fix build for musl targets
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ configure.ac             | 2 --
+ coregrind/vg_preloaded.c | 2 +-
+ include/pub_tool_redir.h | 7 +++++--
+ 3 files changed, 6 insertions(+), 5 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 9366dc7..679f514 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1066,8 +1066,6 @@ case "${GLIBC_VERSION}" in
+       ;;
+      2.0|2.1|*)
+       AC_MSG_RESULT([unsupported version ${GLIBC_VERSION}])
+-      AC_MSG_ERROR([Valgrind requires glibc version 2.2 or later,])
+-      AC_MSG_ERROR([Darwin libc, Bionic libc or Solaris libc])
+       ;;
+ esac
+diff --git a/coregrind/vg_preloaded.c b/coregrind/vg_preloaded.c
+index 2ea7a7a..e49c832 100644
+--- a/coregrind/vg_preloaded.c
++++ b/coregrind/vg_preloaded.c
+@@ -56,7 +56,7 @@
+ void VG_NOTIFY_ON_LOAD(freeres)( void );
+ void VG_NOTIFY_ON_LOAD(freeres)( void )
+ {
+-#  if !defined(__UCLIBC__) \
++#  if !defined(__UCLIBC__) && defined(__GLIBC__) \
+       && !defined(VGPV_arm_linux_android) \
+       && !defined(VGPV_x86_linux_android) \
+       && !defined(VGPV_mips32_linux_android) \
+diff --git a/include/pub_tool_redir.h b/include/pub_tool_redir.h
+index bac00d7..fbb2ef2 100644
+--- a/include/pub_tool_redir.h
++++ b/include/pub_tool_redir.h
+@@ -242,8 +242,7 @@
+ /* --- Soname of the standard C library. --- */
+ #if defined(VGO_linux) || defined(VGO_solaris)
+-#  define  VG_Z_LIBC_SONAME  libcZdsoZa              // libc.so*
+-
++#  define  VG_Z_LIBC_SONAME  libcZdZa                // libc.*
+ #elif defined(VGO_darwin) && (DARWIN_VERS <= DARWIN_10_6)
+ #  define  VG_Z_LIBC_SONAME  libSystemZdZaZddylib    // libSystem.*.dylib
+@@ -274,7 +273,11 @@
+ /* --- Soname of the pthreads library. --- */
+ #if defined(VGO_linux)
++# if defined(__GLIBC__) || defined(__UCLIBC__)
+ #  define  VG_Z_LIBPTHREAD_SONAME  libpthreadZdsoZd0     // libpthread.so.0
++# else
++#  define  VG_Z_LIBPTHREAD_SONAME  libcZdZa              // libc.*
++#endif
+ #elif defined(VGO_darwin)
+ #  define  VG_Z_LIBPTHREAD_SONAME  libSystemZdZaZddylib  // libSystem.*.dylib
+ #elif defined(VGO_solaris)
+-- 
+2.7.1
+
diff --git a/recipes/valgrind/valgrind/0002-remove-rpath.patch b/recipes/valgrind/valgrind/0002-remove-rpath.patch
new file mode 100644 (file)
index 0000000..e9112da
--- /dev/null
@@ -0,0 +1,35 @@
+From f96cf1f4eaa72860ab8b5e18ad10fdc704d78c5f Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+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 <sgw@linux.intel.com>
+---
+ 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
+
diff --git a/recipes/valgrind/valgrind/0004-Fix-out-of-tree-builds.patch b/recipes/valgrind/valgrind/0004-Fix-out-of-tree-builds.patch
new file mode 100644 (file)
index 0000000..ed313d6
--- /dev/null
@@ -0,0 +1,175 @@
+From 38ae233b6893a4eec7f9ed6d8ad02392bca8eaed Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Tue, 15 Dec 2015 15:31:50 +0200
+Subject: [PATCH 1/2] Fix out of tree builds.
+
+The paths to these files need to be fully specified in
+the out of tree build case. glibc-2.X.supp is a generated file so the full path
+is deliberately not specified in that case.
+
+RP 2013/03/23
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
+---
+ configure.ac | 64 ++++++++++++++++++++++++++++++------------------------------
+ 1 file changed, 32 insertions(+), 32 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 8ab7f9b..9366dc7 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -377,44 +377,44 @@ case "${host_os}" in
+            9.*)
+                 AC_MSG_RESULT([Darwin 9.x (${kernel}) / Mac OS X 10.5 Leopard])
+                 AC_DEFINE([DARWIN_VERS], DARWIN_10_5, [Darwin / Mac OS X version])
+-                DEFAULT_SUPP="darwin9.supp ${DEFAULT_SUPP}"
+-                DEFAULT_SUPP="darwin9-drd.supp ${DEFAULT_SUPP}"
++                DEFAULT_SUPP="$srcdir/darwin9.supp ${DEFAULT_SUPP}"
++                DEFAULT_SUPP="$srcdir/darwin9-drd.supp ${DEFAULT_SUPP}"
+                 ;;
+            10.*)
+                 AC_MSG_RESULT([Darwin 10.x (${kernel}) / Mac OS X 10.6 Snow Leopard])
+                 AC_DEFINE([DARWIN_VERS], DARWIN_10_6, [Darwin / Mac OS X version])
+-                DEFAULT_SUPP="darwin10.supp ${DEFAULT_SUPP}"
+-                DEFAULT_SUPP="darwin10-drd.supp ${DEFAULT_SUPP}"
++                DEFAULT_SUPP="$srcdir/darwin10.supp ${DEFAULT_SUPP}"
++                DEFAULT_SUPP="$srcdir/darwin10-drd.supp ${DEFAULT_SUPP}"
+                 ;;
+            11.*)
+                 AC_MSG_RESULT([Darwin 11.x (${kernel}) / Mac OS X 10.7 Lion])
+                 AC_DEFINE([DARWIN_VERS], DARWIN_10_7, [Darwin / Mac OS X version])
+-                DEFAULT_SUPP="darwin11.supp ${DEFAULT_SUPP}"
+-                DEFAULT_SUPP="darwin10-drd.supp ${DEFAULT_SUPP}"
++                DEFAULT_SUPP="$srcdir/darwin11.supp ${DEFAULT_SUPP}"
++                DEFAULT_SUPP="$srcdir/darwin10-drd.supp ${DEFAULT_SUPP}"
+                 ;;
+            12.*)
+                 AC_MSG_RESULT([Darwin 12.x (${kernel}) / Mac OS X 10.8 Mountain Lion])
+                 AC_DEFINE([DARWIN_VERS], DARWIN_10_8, [Darwin / Mac OS X version])
+-                DEFAULT_SUPP="darwin12.supp ${DEFAULT_SUPP}"
+-                DEFAULT_SUPP="darwin10-drd.supp ${DEFAULT_SUPP}"
++                DEFAULT_SUPP="$srcdir/darwin12.supp ${DEFAULT_SUPP}"
++                DEFAULT_SUPP="$srcdir/darwin10-drd.supp ${DEFAULT_SUPP}"
+                 ;;
+            13.*)
+                 AC_MSG_RESULT([Darwin 13.x (${kernel}) / Mac OS X 10.9 Mavericks])
+                 AC_DEFINE([DARWIN_VERS], DARWIN_10_9, [Darwin / Mac OS X version])
+-                DEFAULT_SUPP="darwin13.supp ${DEFAULT_SUPP}"
+-                DEFAULT_SUPP="darwin10-drd.supp ${DEFAULT_SUPP}"
++                DEFAULT_SUPP="$srcdir/darwin13.supp ${DEFAULT_SUPP}"
++                DEFAULT_SUPP="$srcdir/darwin10-drd.supp ${DEFAULT_SUPP}"
+                 ;;
+            14.*)
+                 AC_MSG_RESULT([Darwin 14.x (${kernel}) / Mac OS X 10.10 Yosemite])
+                 AC_DEFINE([DARWIN_VERS], DARWIN_10_10, [Darwin / Mac OS X version])
+-                DEFAULT_SUPP="darwin14.supp ${DEFAULT_SUPP}"
+-                DEFAULT_SUPP="darwin10-drd.supp ${DEFAULT_SUPP}"
++                DEFAULT_SUPP="$srcdir/darwin14.supp ${DEFAULT_SUPP}"
++                DEFAULT_SUPP="$srcdir/darwin10-drd.supp ${DEFAULT_SUPP}"
+                 ;;
+            15.*)
+                 AC_MSG_RESULT([Darwin 15.x (${kernel}) / Mac OS X 10.11 El Capitan])
+                 AC_DEFINE([DARWIN_VERS], DARWIN_10_11, [Darwin / Mac OS X version])
+-                DEFAULT_SUPP="darwin15.supp ${DEFAULT_SUPP}"
+-                DEFAULT_SUPP="darwin10-drd.supp ${DEFAULT_SUPP}"
++                DEFAULT_SUPP="$srcdir/darwin15.supp ${DEFAULT_SUPP}"
++                DEFAULT_SUPP="$srcdir/darwin10-drd.supp ${DEFAULT_SUPP}"
+                 ;;
+              *) 
+                 AC_MSG_RESULT([unsupported (${kernel})])
+@@ -426,13 +426,13 @@ case "${host_os}" in
+      solaris2.11*)
+         AC_MSG_RESULT([ok (${host_os})])
+         VGCONF_OS="solaris"
+-        DEFAULT_SUPP="solaris11.supp ${DEFAULT_SUPP}"
++        DEFAULT_SUPP="$srcdir/solaris11.supp ${DEFAULT_SUPP}"
+         ;;
+      solaris2.12*)
+         AC_MSG_RESULT([ok (${host_os})])
+         VGCONF_OS="solaris"
+-        DEFAULT_SUPP="solaris12.supp ${DEFAULT_SUPP}"
++        DEFAULT_SUPP="$srcdir/solaris12.supp ${DEFAULT_SUPP}"
+         ;;
+      *) 
+@@ -1015,29 +1015,29 @@ AC_MSG_CHECKING([the glibc version])
+ case "${GLIBC_VERSION}" in
+      2.2)
+       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}"
++      DEFAULT_SUPP="$srcdir/glibc-2.2.supp ${DEFAULT_SUPP}"
++      DEFAULT_SUPP="$srcdir/glibc-2.2-LinuxThreads-helgrind.supp ${DEFAULT_SUPP}"
++      DEFAULT_SUPP="$srcdir/glibc-2.X-drd.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}"
++      DEFAULT_SUPP="$srcdir/glibc-${GLIBC_VERSION}.supp ${DEFAULT_SUPP}"
++      DEFAULT_SUPP="$srcdir/glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
++      DEFAULT_SUPP="$srcdir/glibc-2.X-drd.supp ${DEFAULT_SUPP}"
+       ;;
+      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}"
++      DEFAULT_SUPP="$srcdir/glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
++      DEFAULT_SUPP="$srcdir/glibc-2.X-drd.supp ${DEFAULT_SUPP}"
+       ;;
+      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}"
++      DEFAULT_SUPP="$srcdir/glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
++      DEFAULT_SUPP="$srcdir/glibc-2.X-drd.supp ${DEFAULT_SUPP}"
+       ;;
+      2.*)
+       AC_MSG_RESULT(${GLIBC_VERSION} family)
+@@ -1046,8 +1046,8 @@ case "${GLIBC_VERSION}" in
+       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}"
++      DEFAULT_SUPP="$srcdir/glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
++      DEFAULT_SUPP="$srcdir/glibc-2.X-drd.supp ${DEFAULT_SUPP}"
+       ;;
+      darwin)
+       AC_MSG_RESULT(Darwin)
+@@ -1057,7 +1057,7 @@ case "${GLIBC_VERSION}" in
+      bionic)
+       AC_MSG_RESULT(Bionic)
+       AC_DEFINE([BIONIC_LIBC], 1, [Define to 1 if you're using Bionic])
+-      DEFAULT_SUPP="bionic.supp ${DEFAULT_SUPP}"
++      DEFAULT_SUPP="$srcdir/bionic.supp ${DEFAULT_SUPP}"
+       ;;
+      solaris)
+       AC_MSG_RESULT(Solaris)
+@@ -1079,11 +1079,11 @@ if test "$VGCONF_OS" != "solaris"; then
+     # attempt to detect whether such libraries are installed on the
+     # build machine (or even if any X facilities are present); just
+     # add the suppressions antidisirregardless.
+-    DEFAULT_SUPP="xfree-4.supp ${DEFAULT_SUPP}"
+-    DEFAULT_SUPP="xfree-3.supp ${DEFAULT_SUPP}"
++    DEFAULT_SUPP="$srcdir/xfree-4.supp ${DEFAULT_SUPP}"
++    DEFAULT_SUPP="$srcdir/xfree-3.supp ${DEFAULT_SUPP}"
+     # Add glibc and X11 suppressions for exp-sgcheck
+-    DEFAULT_SUPP="exp-sgcheck.supp ${DEFAULT_SUPP}"
++    DEFAULT_SUPP="$srcdir/exp-sgcheck.supp ${DEFAULT_SUPP}"
+ fi
+-- 
+2.6.2
+
@@ -1,6 +1,9 @@
-Modify vg_test wrapper to support PTEST formats
+From f49f27f1bc67d07440b0ac9a7d767a8ea1589bfe Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Tue, 15 Dec 2015 15:50:44 +0200
+Subject: [PATCH 5/5] Modify vg_test wrapper to support PTEST formats
 
-This commit changes the valgrind regression test script vg_regtest to
+Change the valgrind regression test script vg_regtest to
 support the yocto ptest stdout reporting format.  The commit adds
 '--yocto-ptest' as an optional argument to vg_regtest, which alters
 the output to use the ptest infrastructure reporting format:
@@ -8,59 +11,96 @@ the output to use the ptest infrastructure reporting format:
 instead of valgrind's internal test reporting format.  Without the added
 option, --yocto-ptest, the valgrind regression test output is unchanged.
 
+Enforce 30 seconds limit for the test.
+This resume execution of the remaining tests when valgrind hangs.
+
 Upstream-Status: Pending
 
 Signed-off-by: Dave Lerner <dave.lerner@windriver.com>
+Signed-off-by: Tudor Florea <tudor.florea@enea.com>
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ tests/vg_regtest.in | 75 +++++++++++++++++++++++++++++++++++++++--------------
+ 1 file changed, 55 insertions(+), 20 deletions(-)
 
 diff --git a/tests/vg_regtest.in b/tests/vg_regtest.in
-index 224385f..dbbd23d 100755
+index a441f42..cb05b52 100755
 --- a/tests/vg_regtest.in
 +++ b/tests/vg_regtest.in
-@@ -39,11 +39,11 @@
- #               --valgrind.)
- #   --keep-unfiltered: keep a copy of the unfiltered output/error output
- #     of each test by adding an extension .unfiltered.out
--#
- #   --outer-valgrind: run this valgrind under the given outer valgrind.
- #     This valgrind must be configured with --enable-inner.
- #   --outer-tool: tool to use by the outer valgrind (default memcheck).
- #   --outer-args: use this as outer tool args.
+@@ -47,6 +47,7 @@
+ #   --loop-till-fail: loops on the test(s) till one fail, then exit
+ #              This is useful to obtain detailed trace or --keep-unfiltered
+ #              output of a non deterministic test failure
 +#   --yocto-ptest: output in yocto ptest format
  #
  # The easiest way is to run all tests in valgrind/ with (assuming you installed
  # in $PREFIX):
-@@ -126,7 +126,7 @@ use strict;
- my $usage="\n"
+@@ -139,7 +140,7 @@ my $usage="\n"
       . "Usage:\n"
       . "   vg_regtest [--all, --valgrind, --valgrind-lib, --keep-unfiltered\n"
--     . "                 --outer-valgrind, --outer-tool, --outer-args]\n"
-+     . "                 --outer-valgrind, --outer-tool, --outer-args, --yocto-ptest]\n"
+      . "                 --outer-valgrind, --outer-tool, --outer-args\n"
+-     . "                 --loop-till-fail]\n"
++     . "                 --loop-till-fail, --yocto-ptest]\n"
       . "   Use EXTRA_REGTEST_OPTS to supply extra args for all tests\n"
       . "\n";
  
-@@ -170,6 +170,7 @@ my $outer_args;
+@@ -186,6 +187,7 @@ my $outer_args;
  my $valgrind_lib = "$tests_dir/.in_place";
  my $keepunfiltered = 0;
+ my $looptillfail = 0;
 +my $yoctoptest = 0;
  
  # default filter is the one named "filter_stderr" in the test's directory
  my $default_stderr_filter = "filter_stderr";
-@@ -226,6 +227,8 @@ sub process_command_line()
-                 $valgrind_lib = $1;
-             } elsif ($arg =~ /^--keep-unfiltered$/) {
+@@ -244,6 +246,8 @@ sub process_command_line()
                  $keepunfiltered = 1;
+             } elsif ($arg =~ /^--loop-till-fail$/) {
+                 $looptillfail = 1;
 +            } elsif ($arg =~ /^--yocto-ptest$/) {
 +                $yoctoptest = 1;
              } else {
                  die $usage;
              }
-@@ -394,19 +397,21 @@ sub do_diffs($$$$)
+@@ -365,13 +369,28 @@ sub read_vgtest_file($)
+ #----------------------------------------------------------------------------
+ # Since most of the program time is spent in system() calls, need this to
+ # propagate a Ctrl-C enabling us to quit.
+-sub mysystem($) 
++# Enforce 30 seconds limit for the test.
++# This resume execution of the remaining tests if valgrind hangs.
++sub mysystem($)
+ {
+-    my $exit_code = system($_[0]);
+-    ($exit_code == 2) and exit 1;      # 2 is SIGINT
+-    return $exit_code;
++    my $exit_code=0;
++    eval {
++        local $SIG{'ALRM'} = sub { die "timed out\n" };
++        alarm(30);
++        $exit_code = system($_[0]);
++        alarm (0);
++        ($exit_code == 2) and die "SIGINT\n";   # 2 is SIGINT
++    };
++    if ($@) {
++        if ($@ eq "timed out\n") {
++            print "timed out\n";
++            return 1;
++        }
++        if ($@ eq "SIGINT\n") {
++            exit 1;
++        }
++    }
+ }
+-
+ # if $keepunfiltered, copies $1 to $1.unfiltered.out
+ # renames $0 tp $1
+ sub filtered_rename($$) 
+@@ -419,23 +438,25 @@ sub do_diffs($$$$)
                  # A match;  remove .out and any previously created .diff files.
                  unlink("$name.$mid.out");
                  unlink(<$name.$mid.diff*>);
 -                return;
-+                return 0;
++                return 1;
              }
          }
      }
@@ -69,7 +109,11 @@ index 224385f..dbbd23d 100755
 +    print "*** $name failed ($mid) ***\n" if ($yoctoptest == 0) ;
      push(@failures, sprintf("%-40s ($mid)", "$fullname"));
      $num_failures{$mid}++;
-+    return 1;
+     if ($looptillfail == 1) {
+        print "Failure encountered, stopping to loop\n";
+        exit 1
+     }
++    return 0;
  }
  
  sub do_one_test($$) 
@@ -79,7 +123,7 @@ index 224385f..dbbd23d 100755
      $vgtest =~ /^(.*)\.vgtest/;
      my $name = $1;
      my $fullname = "$dir/$name"; 
-@@ -425,7 +430,11 @@ sub do_one_test($$)
+@@ -454,7 +475,11 @@ sub do_one_test($$)
          } elsif (256 == $prereq_res) {
              # Nb: weird Perl-ism -- exit code of '1' is seen by Perl as 256...
              # Prereq failed, skip.
@@ -92,8 +136,8 @@ index 224385f..dbbd23d 100755
              return;
          } else {
              # Bad prereq; abort.
-@@ -438,7 +447,7 @@ sub do_one_test($$)
-     if (defined $progB) {
+@@ -472,7 +497,7 @@ sub do_one_test($$)
+         }
          # If there is a progB, let's start it in background:
          printf("%-16s valgrind $extraopts $vgopts $prog $args (progB: $progB $argsB)\n",
 -               "$name:");
@@ -101,7 +145,7 @@ index 224385f..dbbd23d 100755
          # progB.done used to detect child has finished. See below.
          # Note: redirection of stdout and stderr is before $progB to allow argsB
          # to e.g. redirect stdoutB to stderrB
-@@ -452,7 +461,8 @@ sub do_one_test($$)
+@@ -488,7 +513,8 @@ sub do_one_test($$)
                       . "touch progB.done)  &");
          }
      } else {
@@ -109,9 +153,9 @@ index 224385f..dbbd23d 100755
 +        printf("%-16s valgrind $extraopts $vgopts $prog $args\n", "$name:")
 +            if ($yoctoptest == 0);
      }
-  
-     # Pass the appropriate --tool option for the directory (can be overridden
-@@ -487,7 +497,7 @@ sub do_one_test($$)
+     # Collect environment variables, if any.
+@@ -529,7 +555,7 @@ sub do_one_test($$)
      # Find all the .stdout.exp files.  If none, use /dev/null.
      my @stdout_exps = <$name.stdout.exp*>;
      @stdout_exps = ( "/dev/null" ) if (0 == scalar @stdout_exps);
@@ -120,7 +164,7 @@ index 224385f..dbbd23d 100755
  
      # Filter stderr
      $stderr_filter_args = $name if (! defined $stderr_filter_args);
-@@ -496,7 +506,7 @@ sub do_one_test($$)
+@@ -538,7 +564,7 @@ sub do_one_test($$)
      # Find all the .stderr.exp files.  At least one must exist.
      my @stderr_exps = <$name.stderr.exp*>;
      (0 != scalar @stderr_exps) or die "Could not find `$name.stderr.exp*'\n";
@@ -129,7 +173,7 @@ index 224385f..dbbd23d 100755
  
      if (defined $progB) {
          # wait for the child to be finished
-@@ -520,7 +530,7 @@ sub do_one_test($$)
+@@ -562,7 +588,7 @@ sub do_one_test($$)
          # Find all the .stdoutB.exp files.  If none, use /dev/null.
          my @stdoutB_exps = <$name.stdoutB.exp*>;
          @stdoutB_exps = ( "/dev/null" ) if (0 == scalar @stdoutB_exps);
@@ -138,7 +182,7 @@ index 224385f..dbbd23d 100755
          
          # Filter stderr
          $stderrB_filter_args = $name if (! defined $stderrB_filter_args);
-@@ -529,7 +539,7 @@ sub do_one_test($$)
+@@ -571,7 +597,7 @@ sub do_one_test($$)
          # Find all the .stderrB.exp files.  At least one must exist.
          my @stderrB_exps = <$name.stderrB.exp*>;
          (0 != scalar @stderrB_exps) or die "Could not find `$name.stderrB.exp*'\n";
@@ -147,7 +191,7 @@ index 224385f..dbbd23d 100755
      }
  
      # Maybe do post-test check
-@@ -541,7 +551,7 @@ sub do_one_test($$)
+@@ -583,7 +609,7 @@ sub do_one_test($$)
            # Find all the .post.exp files.  If none, use /dev/null.
            my @post_exps = <$name.post.exp*>;
            @post_exps = ( "/dev/null" ) if (0 == scalar @post_exps);
@@ -156,7 +200,7 @@ index 224385f..dbbd23d 100755
        }
      }
   
-@@ -550,6 +560,13 @@ sub do_one_test($$)
+@@ -592,6 +618,13 @@ sub do_one_test($$)
              print("(cleanup operation failed: $cleanup)\n");
      }
  
@@ -170,7 +214,7 @@ index 224385f..dbbd23d 100755
      $num_tests_done++;
  }
  
-@@ -589,7 +606,7 @@ sub test_one_dir($$)
+@@ -631,7 +664,7 @@ sub test_one_dir($$)
      my $found_tests = (0 != (grep { $_ =~ /\.vgtest$/ } @fs));
  
      if ($found_tests) {
@@ -179,7 +223,7 @@ index 224385f..dbbd23d 100755
      }
      foreach my $f (@fs) {
          if (-d $f) {
-@@ -599,7 +616,7 @@ sub test_one_dir($$)
+@@ -641,7 +674,7 @@ sub test_one_dir($$)
          }
      }
      if ($found_tests) {
@@ -188,7 +232,7 @@ index 224385f..dbbd23d 100755
      }
  
      chdir("..");
-@@ -625,10 +642,12 @@ sub summarise_results
+@@ -667,10 +700,12 @@ sub summarise_results
             $num_failures{"stdout"},   plural($num_failures{"stdout"}),
             $num_failures{"stderrB"},  plural($num_failures{"stderrB"}),
             $num_failures{"stdoutB"},  plural($num_failures{"stdoutB"}),
@@ -203,3 +247,6 @@ index 224385f..dbbd23d 100755
      }
      print "\n";
  }
+-- 
+2.6.2
+
diff --git a/recipes/valgrind/valgrind/11_mips-link-tool.patch b/recipes/valgrind/valgrind/11_mips-link-tool.patch
new file mode 100644 (file)
index 0000000..ecb33b8
--- /dev/null
@@ -0,0 +1,37 @@
+Debian fix for MIPS: mmap(0x400000, 32768) failed in UME with error 22 (Invalid argument)
+
+  https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=777704
+
+Upstream-Status: Pending
+
+Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
+
+
+Description: Disable the MIPS linker workarounds when using -Ttext-section
+Origin: vendor
+Bug-Debian: http://bugs.debian.org/777704
+Author: James Cowgill <james410@cowgill.org.uk>
+Last-Update: 2015-04-25
+
+--- a/coregrind/link_tool_exe_linux.in
++++ b/coregrind/link_tool_exe_linux.in
+@@ -76,12 +76,13 @@
+ my $arch = substr($x, 0, index($x, "'"));
+ my $extra_args;
+-if (($arch eq 'mips') || ($arch eq 'mipsel')
+-    || ($arch eq 'mipsisa32r2el')) {
+-   $extra_args = "-static -Wl,--section-start=.reginfo=$ala";
+-} elsif (($arch eq 'mips64') || ($arch eq 'mips64el') ||
+-         ($arch eq 'mipsisa64el')) {
+-   $extra_args = "-static -Wl,--section-start=.MIPS.options=$ala";
++if ($arch =~ /^mips/ && "@FLAG_T_TEXT@" eq '-Ttext') {
++   # We only need to use the special mips options when using -Ttext
++   if ($arch =~ /^mips(64|isa64)/) {
++      $extra_args = "-static -Wl,--section-start=.MIPS.options=$ala";
++   } else {
++      $extra_args = "-static -Wl,--section-start=.reginfo=$ala";
++   }
+ } else {
+    $extra_args = "-static -Wl,@FLAG_T_TEXT@=$ala";
+ }
diff --git a/recipes/valgrind/valgrind/avoid-neon-for-targets-which-don-t-support-it.patch b/recipes/valgrind/valgrind/avoid-neon-for-targets-which-don-t-support-it.patch
new file mode 100644 (file)
index 0000000..5fcfec0
--- /dev/null
@@ -0,0 +1,33 @@
+From 8facc29c3c56e6cf9cfef70986cf73876044a3fb Mon Sep 17 00:00:00 2001
+From: Andre McCurdy <armccurdy@gmail.com>
+Date: Tue, 19 Jan 2016 16:42:36 -0800
+Subject: [PATCH] avoid neon for targets which don't support it
+
+The sh-mem-random.c test app tries to use neon loads and stores to
+test 64-bit float copies when building for ARM. Allow it to do so if
+possible, but fallback to C when building for ARM targets which don't
+support neon.
+
+Upstream-Status: Pending
+
+Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
+---
+ memcheck/tests/sh-mem-random.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/memcheck/tests/sh-mem-random.c b/memcheck/tests/sh-mem-random.c
+index ae82248..816e139 100644
+--- a/memcheck/tests/sh-mem-random.c
++++ b/memcheck/tests/sh-mem-random.c
+@@ -191,7 +191,7 @@ void do_test_at ( U1* arr )
+                "emms"
+                : : "r"(arr+dst), "r"(arr+src) : "memory"
+             );
+-#elif defined(__linux__) && defined(__arm__) && !defined(__aarch64__)
++#elif defined(__linux__) && defined(__arm__) && defined(__ARM_NEON__) && !defined(__aarch64__)
+             /* On arm32, many compilers generate a 64-bit float move
+                using two 32 bit integer registers, which completely
+                defeats this test.  Hence force a 64-bit NEON load and
+-- 
+1.9.1
+
diff --git a/recipes/valgrind/valgrind/force-nostabs.patch b/recipes/valgrind/valgrind/force-nostabs.patch
deleted file mode 100644 (file)
index 849dfc5..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-Suppress building ptest apps with the -gstabs option
-
-Force the configure tests for -gstabs compiler support to fail so that
-the regression tests don't try to build with the -gstabs option.
-Otherwise, the valgrind build when ptest is enabled fails with the
-error:
-    Stabs debuginfo not supported:
-    ../package/usr/lib/valgrind/ptest/memcheck/tests/deep_templates
-    ERROR: Function failed: split_and_strip_files
-
-Upstream-Status: Inappropriate [gstabs support is appropriate upstream,
-        but not for this distro]
-
-Signed-off-by: Dave Lerner <dave.lerner@windriver.com>
-
-diff --git a/configure.ac b/configure.ac
-index 755dfb9..cc8b5e1 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1743,22 +1743,7 @@ AM_CONDITIONAL(DWARF4, test x$ac_have_dwarf4 = xyes)
- CFLAGS=$safe_CFLAGS
--# does this compiler support -gstabs ?
--
--AC_MSG_CHECKING([if gcc accepts -gstabs])
--
--safe_CFLAGS=$CFLAGS
--CFLAGS="-gstabs"
--AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
--  return 0;
--]])], [
--ac_have_gstabs=yes
--AC_MSG_RESULT([yes])
--], [
- ac_have_gstabs=no
--AC_MSG_RESULT([no])
--])
--CFLAGS=$safe_CFLAGS
- AM_CONDITIONAL([HAVE_GSTABS], [test x$ac_have_gstabs = xyes])
diff --git a/recipes/valgrind/valgrind/glibc-2.19.patch b/recipes/valgrind/valgrind/glibc-2.19.patch
deleted file mode 100644 (file)
index 7714b99..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-Add support for compiling with glibc 2.19
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
-Index: valgrind-3.9.0/configure.ac
-===================================================================
---- valgrind-3.9.0.orig/configure.ac   2014-02-12 09:03:07.879873700 -0800
-+++ valgrind-3.9.0/configure.ac        2014-02-12 09:07:35.099871774 -0800
-@@ -918,6 +918,13 @@
-       DEFAULT_SUPP="$srcdir/glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
-       DEFAULT_SUPP="$srcdir/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="$srcdir/glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
-+      DEFAULT_SUPP="$srcdir/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])
diff --git a/recipes/valgrind/valgrind/remove-arm-variant-specific.patch b/recipes/valgrind/valgrind/remove-arm-variant-specific.patch
deleted file mode 100644 (file)
index 46dea60..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-Remove tests that require thumb compiler flags
-
-Default compiler options for arm machines are incompatible with the
-'-mthumb' compiler option imposed by the intdiv and lrt test
-applications, so those two are removed from the ptest build.
-
-Upstream-Status: Pending
-
-Signed-off-by: Dave Lerner <dave.lerner@windriver.com>
-
-diff --git a/none/tests/arm/Makefile.am b/none/tests/arm/Makefile.am
-index 2a19f5b..ccdeb77 100644
---- a/none/tests/arm/Makefile.am
-+++ b/none/tests/arm/Makefile.am
-@@ -16,15 +16,16 @@ EXTRA_DIST = \
-               vcvt_fixed_float_VFP.vgtest \
-       vfp.stdout.exp vfp.stderr.exp vfp.vgtest
-+# For yocto:
-+#  Only include tests that don't require Thumb.
-+#  Only use CFLAGS passed in by the build system.
-+# Some tests may fail, but all tests must compile.
- check_PROGRAMS = \
-       allexec \
--      intdiv \
--      ldrt \
-       ldrt_arm \
-       neon128 \
-       neon64 \
-       v6intARM \
--      v6intThumb \
-       v6media \
-       vcvt_fixed_float_VFP \
-       vfp
-@@ -34,32 +35,3 @@ AM_CXXFLAGS  += @FLAG_M32@
- AM_CCASFLAGS += @FLAG_M32@
- allexec_CFLAGS                = $(AM_CFLAGS) @FLAG_W_NO_NONNULL@
--
--# These two are specific to their ARM/Thumb respectively and so we
--# hardwire -marm/-mthumb.  neon64 and neon128 are compilable on both,
--# however, ask for them to be compiled on thumb, as that looks
--# like that's going to be the more common use case.  They also
--# need special helping w.r.t -mfpu and -mfloat-abi, though.
--# Also force -O0 since -O takes hundreds of MB of memory 
--# for v6intThumb.c.
--v6intARM_CFLAGS   = $(AM_CFLAGS) -g -O0 -mcpu=cortex-a8 -marm
--v6intThumb_CFLAGS = $(AM_CFLAGS) -g -O0 -mcpu=cortex-a8 -mthumb
--
--v6media_CFLAGS    = $(AM_CFLAGS) -g -O0 -mcpu=cortex-a8 -mthumb
--
--vfp_CFLAGS        = $(AM_CFLAGS) -g -O0 -mcpu=cortex-a8 \
--                      -mfpu=neon \
--                      -mthumb
--
--
--neon128_CFLAGS    = $(AM_CFLAGS) -g -O0 -mcpu=cortex-a8 \
--                      -mfpu=neon \
--                      -mthumb
--
--neon64_CFLAGS     = $(AM_CFLAGS) -g -O0 -mcpu=cortex-a8 \
--                      -mfpu=neon \
--                      -mthumb
--
--intdiv_CFLAGS   = $(AM_CFLAGS) -g -mcpu=cortex-a15 -mthumb
--ldrt_CFLAGS     = $(AM_CFLAGS) -g -mcpu=cortex-a8 -mthumb
--ldrt_arm_CFLAGS         = $(AM_CFLAGS) -g -mcpu=cortex-a8 -marm
diff --git a/recipes/valgrind/valgrind/remove-ppc-tests-failing-build.patch b/recipes/valgrind/valgrind/remove-ppc-tests-failing-build.patch
deleted file mode 100644 (file)
index 2a14e18..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-Remove test apps not building with ppc and PTEST
-
-For mpc8316-rdb in none/tests/ppc32, the oe compiler options are
-inconsistent with the imposed test compiler options generating errors
-as follows:
-test_isa_2_07_part1
-test_isa_2_07_part2
-test_tm
-test_touch_tm
-    : unrecognized command line option '-mhtm'
-
-jm-insns
-testVMX
-    : AltiVec not supported in this target
-
-For the following tests, their inline assembler is inconsistent with
-the ppce300c3 variant:
-round.c:393
-power5+_round.c:98
-    : impossible constraint in 'asm'
-
-For the following tests, with both mpc8316-rdb and with qemuppc bsp,
-the inline assember is inconsistent with the oe compiler machine
-tuning:
-In memcheck/tests/ppc32
- power_ISA2_05.c:56
-In none/tests/ppc32
- test_dfp1.c:85
- test_dfp2.c:160
- test_dfp3.c:157
- test_dfp4.c:73
- test_dfp5.c:73
-    : impossible constraint in 'asm'
-
-Upstream-Status: Pending
-
-Signed-off-by: Dave Lerner <dave.lerner@windriver.com>
-
-diff --git a/memcheck/tests/ppc32/Makefile.am b/memcheck/tests/ppc32/Makefile.am
-index bd70eea..1436e8e 100644
---- a/memcheck/tests/ppc32/Makefile.am
-+++ b/memcheck/tests/ppc32/Makefile.am
-@@ -7,8 +7,7 @@ EXTRA_DIST = $(noinst_SCRIPTS) \
-       power_ISA2_05.stderr.exp power_ISA2_05.stdout.exp power_ISA2_05.vgtest \
-       power_ISA2_05.stdout.exp_Without_FPPO
--check_PROGRAMS = \
--      power_ISA2_05
-+check_PROGRAMS = 
- power_ISA2_05_CFLAGS = $(AM_CFLAGS) $(WERROR) -Winline -Wall -Wshadow -g \
-               -I$(top_srcdir)/include @FLAG_M32@
-diff --git a/none/tests/ppc32/Makefile.am b/none/tests/ppc32/Makefile.am
-index 4f581b6..91ce7e7 100644
---- a/none/tests/ppc32/Makefile.am
-+++ b/none/tests/ppc32/Makefile.am
-@@ -50,16 +50,8 @@ check_PROGRAMS = \
-       allexec \
-       bug129390-ppc32 \
-       bug139050-ppc32 \
--      ldstrev lsw jm-insns mftocrf mcrfs round test_fx test_gx \
--      testVMX twi tw xlc_dbl_u32 power5+_round power6_bcmp \
--      test_isa_2_06_part1 \
--      test_isa_2_06_part2 \
--      test_isa_2_06_part3 \
--      test_dfp1 test_dfp2 test_dfp3 test_dfp4 test_dfp5 \
--      test_isa_2_07_part1 \
--      test_isa_2_07_part2 \
--      test_tm \
--      test_touch_tm
-+      ldstrev lsw mftocrf mcrfs test_fx test_gx \
-+      twi tw xlc_dbl_u32 power6_bcmp 
- AM_CFLAGS    += @FLAG_M32@
- AM_CXXFLAGS  += @FLAG_M32@
old mode 100644 (file)
new mode 100755 (executable)
index 7d0584a..f9a72ec
@@ -1,4 +1,5 @@
-#!/bin/bash
+#!/bin/sh
+
 # run-ptest - 'ptest' test infrastructure shell script that
 #   wraps the valgrind regression script vg_regtest. 
 #   Must be run in the /usr/lib/valgrind/ptest directory. 
diff --git a/recipes/valgrind/valgrind/sepbuildfix.patch b/recipes/valgrind/valgrind/sepbuildfix.patch
deleted file mode 100644 (file)
index 5db0ef8..0000000
+++ /dev/null
@@ -1,235 +0,0 @@
-Fix out of tree builds. The paths to these files need to be fully specified in
-the out of tree build case. glibc-2.X.supp is a generated file so the full path
-is deliberately not specified in that case.
-
-RP 2013/03/23
-
-Upstream-Status: Pending
-
-Index: valgrind-3.9.0/configure.ac
-===================================================================
---- valgrind-3.9.0.orig/configure.ac
-+++ valgrind-3.9.0/configure.ac
-@@ -325,26 +325,26 @@ case "${host_os}" in
-            9.*)
-                 AC_MSG_RESULT([Darwin 9.x (${kernel}) / Mac OS X 10.5 Leopard])
-                 AC_DEFINE([DARWIN_VERS], DARWIN_10_5, [Darwin / Mac OS X version])
--                DEFAULT_SUPP="darwin9.supp ${DEFAULT_SUPP}"
--                DEFAULT_SUPP="darwin9-drd.supp ${DEFAULT_SUPP}"
-+                DEFAULT_SUPP="$srcdir/darwin9.supp ${DEFAULT_SUPP}"
-+                DEFAULT_SUPP="$srcdir/darwin9-drd.supp ${DEFAULT_SUPP}"
-                 ;;
-            10.*)
-                 AC_MSG_RESULT([Darwin 10.x (${kernel}) / Mac OS X 10.6 Snow Leopard])
-                 AC_DEFINE([DARWIN_VERS], DARWIN_10_6, [Darwin / Mac OS X version])
--                DEFAULT_SUPP="darwin10.supp ${DEFAULT_SUPP}"
--                DEFAULT_SUPP="darwin10-drd.supp ${DEFAULT_SUPP}"
-+                DEFAULT_SUPP="$srcdir/darwin10.supp ${DEFAULT_SUPP}"
-+                DEFAULT_SUPP="$srcdir/darwin10-drd.supp ${DEFAULT_SUPP}"
-                 ;;
-            11.*)
-                 AC_MSG_RESULT([Darwin 11.x (${kernel}) / Mac OS X 10.7 Lion])
-                 AC_DEFINE([DARWIN_VERS], DARWIN_10_7, [Darwin / Mac OS X version])
--                DEFAULT_SUPP="darwin11.supp ${DEFAULT_SUPP}"
--                DEFAULT_SUPP="darwin10-drd.supp ${DEFAULT_SUPP}"
-+                DEFAULT_SUPP="$srcdir/darwin11.supp ${DEFAULT_SUPP}"
-+                DEFAULT_SUPP="$srcdir/darwin10-drd.supp ${DEFAULT_SUPP}"
-                 ;;
-            12.*)
-                 AC_MSG_RESULT([Darwin 12.x (${kernel}) / Mac OS X 10.8 Mountain Lion])
-                 AC_DEFINE([DARWIN_VERS], DARWIN_10_8, [Darwin / Mac OS X version])
--                DEFAULT_SUPP="darwin12.supp ${DEFAULT_SUPP}"
--                DEFAULT_SUPP="darwin10-drd.supp ${DEFAULT_SUPP}"
-+                DEFAULT_SUPP="$srcdir/darwin12.supp ${DEFAULT_SUPP}"
-+                DEFAULT_SUPP="$srcdir/darwin10-drd.supp ${DEFAULT_SUPP}"
-                 ;;
-              *) 
-                 AC_MSG_RESULT([unsupported (${kernel})])
-@@ -799,124 +799,124 @@ 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])
--      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}"
-+      DEFAULT_SUPP="$srcdir/glibc-2.2.supp ${DEFAULT_SUPP}"
-+      DEFAULT_SUPP="$srcdir/glibc-2.2-LinuxThreads-helgrind.supp ${DEFAULT_SUPP}"
-+      DEFAULT_SUPP="$srcdir/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}"
-+      DEFAULT_SUPP="$srcdir/glibc-2.3.supp ${DEFAULT_SUPP}"
-+      DEFAULT_SUPP="$srcdir/glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
-+      DEFAULT_SUPP="$srcdir/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}"
-+      DEFAULT_SUPP="$srcdir/glibc-2.4.supp ${DEFAULT_SUPP}"
-+      DEFAULT_SUPP="$srcdir/glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
-+      DEFAULT_SUPP="$srcdir/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}"
-+      DEFAULT_SUPP="$srcdir/glibc-2.5.supp ${DEFAULT_SUPP}"
-+      DEFAULT_SUPP="$srcdir/glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
-+      DEFAULT_SUPP="$srcdir/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}"
-+      DEFAULT_SUPP="$srcdir/glibc-2.6.supp ${DEFAULT_SUPP}"
-+      DEFAULT_SUPP="$srcdir/glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
-+      DEFAULT_SUPP="$srcdir/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}"
-+      DEFAULT_SUPP="$srcdir/glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
-+      DEFAULT_SUPP="$srcdir/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}"
-+      DEFAULT_SUPP="$srcdir/glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
-+      DEFAULT_SUPP="$srcdir/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}"
-+      DEFAULT_SUPP="$srcdir/glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
-+      DEFAULT_SUPP="$srcdir/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}"
-+      DEFAULT_SUPP="$srcdir/glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
-+      DEFAULT_SUPP="$srcdir/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}"
-+      DEFAULT_SUPP="$srcdir/glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
-+      DEFAULT_SUPP="$srcdir/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}"
-+      DEFAULT_SUPP="$srcdir/glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
-+      DEFAULT_SUPP="$srcdir/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}"
-+      DEFAULT_SUPP="$srcdir/glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
-+      DEFAULT_SUPP="$srcdir/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}"
--      DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
--      DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
-+      DEFAULT_SUPP="$srcdir/glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
-+      DEFAULT_SUPP="$srcdir/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])
-       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}"
-+      DEFAULT_SUPP="$srcdir/glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
-+      DEFAULT_SUPP="$srcdir/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])
-       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}"
-+      DEFAULT_SUPP="$srcdir/glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
-+      DEFAULT_SUPP="$srcdir/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}"
-+      DEFAULT_SUPP="$srcdir/glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
-+      DEFAULT_SUPP="$srcdir/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}"
-+      DEFAULT_SUPP="$srcdir/glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
-+      DEFAULT_SUPP="$srcdir/glibc-2.X-drd.supp ${DEFAULT_SUPP}"
-       ;;
-      darwin)
-       AC_MSG_RESULT(Darwin)
-@@ -926,7 +926,7 @@ case "${GLIBC_VERSION}" in
-      bionic)
-       AC_MSG_RESULT(Bionic)
-       AC_DEFINE([BIONIC_LIBC], 1, [Define to 1 if you're using Bionic])
--      DEFAULT_SUPP="bionic.supp ${DEFAULT_SUPP}"
-+      DEFAULT_SUPP="$srcdir/bionic.supp ${DEFAULT_SUPP}"
-       ;;
-      *)
-@@ -943,11 +943,11 @@ AC_SUBST(GLIBC_VERSION)
- # attempt to detect whether such libraries are installed on the
- # build machine (or even if any X facilities are present); just
- # add the suppressions antidisirregardless.
--DEFAULT_SUPP="xfree-4.supp ${DEFAULT_SUPP}"
--DEFAULT_SUPP="xfree-3.supp ${DEFAULT_SUPP}"
-+DEFAULT_SUPP="$srcdir/xfree-4.supp ${DEFAULT_SUPP}"
-+DEFAULT_SUPP="$srcdir/xfree-3.supp ${DEFAULT_SUPP}"
- # Add glibc and X11 suppressions for exp-sgcheck
--DEFAULT_SUPP="exp-sgcheck.supp ${DEFAULT_SUPP}"
-+DEFAULT_SUPP="$srcdir/exp-sgcheck.supp ${DEFAULT_SUPP}"
- #----------------------------------------------------------------------------
diff --git a/recipes/valgrind/valgrind/use-appropriate-march-mcpu-mfpu-for-ARM-test-apps.patch b/recipes/valgrind/valgrind/use-appropriate-march-mcpu-mfpu-for-ARM-test-apps.patch
new file mode 100644 (file)
index 0000000..adea405
--- /dev/null
@@ -0,0 +1,44 @@
+From d134dafc2f11e0d247420a0ba360bcdef77b4093 Mon Sep 17 00:00:00 2001
+From: Andre McCurdy <armccurdy@gmail.com>
+Date: Tue, 19 Jan 2016 16:00:00 -0800
+Subject: [PATCH] use appropriate -march/-mcpu/-mfpu for ARM test apps
+
+Ensure that test apps in none/tests/arm are compiled with appropriate
+-march/-mcpu/-mfpu flags to support the instructions being tested.
+The aim is to build all tests, even ones which may not run correctly
+on all target CPUs.
+
+For tests requiring armv7ve instructions, ensure that we set both
+-march=armv7ve and -mcpu=cortex-a15 (since some TUNE_CCARGS may set
+-march=armv7-a and adding -mcpu=cortex-a15 alone is not enough to
+over-ride that).
+
+See similar cases in none/tests/arm/Makefile.am
+
+Upstream-Status: Pending
+
+Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
+---
+ none/tests/arm/Makefile.am | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/none/tests/arm/Makefile.am b/none/tests/arm/Makefile.am
+index 4507a20..825290f 100644
+--- a/none/tests/arm/Makefile.am
++++ b/none/tests/arm/Makefile.am
+@@ -62,8 +62,10 @@ neon64_CFLAGS     = $(AM_CFLAGS) -g -O0 -mcpu=cortex-a8 \
+                       -mfpu=neon \
+                       -mthumb
+-intdiv_CFLAGS   = $(AM_CFLAGS) -g -mcpu=cortex-a15 -mthumb
++intdiv_CFLAGS   = $(AM_CFLAGS) -g -march=armv7ve -mcpu=cortex-a15 -mthumb
+ ldrt_CFLAGS     = $(AM_CFLAGS) -g -mcpu=cortex-a8 -mthumb
+ ldrt_arm_CFLAGS         = $(AM_CFLAGS) -g -mcpu=cortex-a8 -marm
+-vfpv4_fma_CFLAGS  = $(AM_CFLAGS) -g -O0 -mcpu=cortex-a15 -mfpu=vfpv4 -marm
++vcvt_fixed_float_VFP_CFLAGS = $(AM_CFLAGS) -g -mcpu=cortex-a8 -mfpu=vfpv3
++
++vfpv4_fma_CFLAGS  = $(AM_CFLAGS) -g -O0 -march=armv7ve -mcpu=cortex-a15 -mfpu=vfpv4 -marm
+-- 
+1.9.1
+
similarity index 51%
rename from recipes/valgrind/valgrind_3.9.0.bb
rename to recipes/valgrind/valgrind_3.11.0.bb
index caef106..4852cae 100644 (file)
@@ -2,41 +2,57 @@ SUMMARY = "Valgrind memory debugger and instrumentation framework"
 HOMEPAGE = "http://valgrind.org/"
 BUGTRACKER = "http://valgrind.org/support/bug_reports.html"
 LICENSE = "GPLv2 GPLv2+ BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=c46082167a314d785d012a244748d803 \
-                    file://include/pub_tool_basics.h;beginline=1;endline=29;md5=e7071929a50d4b0fc27a3014b315b0f7 \
-                    file://include/valgrind.h;beginline=1;endline=56;md5=92df8a1bde56fe2af70931ff55f6622f \
-                    file://COPYING.DOCS;md5=8fdeb5abdb235a08e76835f8f3260215"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+                    file://include/pub_tool_basics.h;beginline=1;endline=29;md5=ebb8e640ef633f940c425686c873f9fa \
+                    file://include/valgrind.h;beginline=1;endline=56;md5=4b5e24908e53016ea561c45f4234a327 \
+                    file://COPYING.DOCS;md5=24ea4c7092233849b4394699333b5c56"
 
 X11DEPENDS = "virtual/libx11"
-# DEPENDS = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '${X11DEPENDS}', '', d)}"
+#DEPENDS = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '${X11DEPENDS}', '', d)} \
+#           ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'boost', '', d)} \
+#        "
 DEPENDS = ${X11DEPENDS}
-PR = "r8"
 
 SRC_URI = "http://www.valgrind.org/downloads/valgrind-${PV}.tar.bz2 \
            file://fixed-perl-path.patch;patch=1 \
            file://Added-support-for-PPC-instructions-mfatbu-mfatbl.patch;patch=1 \
-           file://sepbuildfix.patch;patch=1 \
-           file://glibc-2.19.patch;patch=1 \
-           file://force-nostabs.patch;patch=1 \
-           file://remove-arm-variant-specific.patch;patch=1 \
-           file://remove-ppc-tests-failing-build.patch;patch=1 \
-           file://add-ptest.patch;patch=1 \
-           file://run-ptest \
-          "
-
-SRC_URI[md5sum] = "0947de8112f946b9ce64764af7be6df2"
-SRC_URI[sha256sum] = "e6af71a06bc2534541b07743e1d58dc3caf744f38205ca3e5b5a0bdf372ed6f0"
-
-COMPATIBLE_HOST = '(i.86|x86_64|powerpc|powerpc64).*-linux'
-COMPATIBLE_HOST_armv7a = 'arm.*-linux'
+           file://11_mips-link-tool.patch;patch=1 \
+           file://0002-remove-rpath.patch;patch=1 \
+           file://0004-Fix-out-of-tree-builds.patch;patch=1 \
+           file://0005-Modify-vg_test-wrapper-to-support-PTEST-formats.patch;patch=1 \
+           file://0001-Remove-tests-that-fail-to-build-on-some-PPC32-config.patch;patch=1 \
+           file://use-appropriate-march-mcpu-mfpu-for-ARM-test-apps.patch;patch=1 \
+           file://avoid-neon-for-targets-which-don-t-support-it.patch;patch=1 \
+"
+SRC_URI[md5sum] = "4ea62074da73ae82e0162d6550d3f129"
+SRC_URI[sha256sum] = "6c396271a8c1ddd5a6fb9abe714ea1e8a86fce85b30ab26b4266aeb4c2413b42"
+
+COMPATIBLE_HOST = '(i.86|x86_64|arm|aarch64|mips|powerpc|powerpc64).*-linux'
+
+# valgrind supports armv7 and above
+COMPATIBLE_HOST_armv4 = 'null'
+COMPATIBLE_HOST_armv5 = 'null'
+COMPATIBLE_HOST_armv6 = 'null'
 
 # inherit autotools ptest
 inherit autotools
 
 EXTRA_OECONF = "--enable-tls --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_OECONF_armv7a = "--enable-tls -host=armv7-none-linux-gnueabi --without-mpicc"
+
 EXTRA_OEMAKE = "-w"
-PARALLEL_MAKE = ""
+
+# valgrind likes to control its own optimisation flags. It generally defaults
+# to -O2 but uses -O0 for some specific test apps etc. Passing our own flags
+# (via CFLAGS) means we interfere with that. Only pass DEBUG_FLAGS to it
+# which fixes build path issue in DWARF.
+SELECTED_OPTIMIZATION = "${DEBUG_FLAGS}"
+
+CFLAGS_append_libc-uclibc = " -D__UCLIBC__ "
 
 do_install_append () {
     install -m 644 ${B}/default.supp ${D}/${libdir}/valgrind/
@@ -44,19 +60,22 @@ do_install_append () {
 
 RDEPENDS_${PN} += "perl"
 
-FILES_${PN}-dbg += "${libdir}/${PN}/*/.debug/*"
-
 # valgrind needs debug information for ld.so at runtime in order to
 # redirect functions like strlen.
+# RRECOMMENDS_${PN} += "${TCLIBC}-dbg"
 RRECOMMENDS_${PN} += "glibc-dbg"
 
-RDEPENDS_${PN}-ptest += " sed perl glibc-utils"
+RDEPENDS_${PN}-ptest += " sed perl perl-module-file-glob"
+RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-utils"
+
+# One of the tests contains a bogus interpreter path on purpose.
+# Skip file dependency check
+SKIP_FILEDEPS_${PN}-ptest = '1'
 
 do_compile_ptest() {
     oe_runmake check
 }
 
-
 do_install_ptest() {
     chmod +x ${B}/tests/vg_regtest
 
@@ -97,4 +116,3 @@ do_install_ptest() {
     # handle multilib
     sed -i s:@libdir@:${libdir}:g ${D}${PTEST_PATH}/run-ptest
 }
-