summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndre McCurdy <armccurdy@gmail.com>2016-01-19 18:47:51 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-01-24 09:40:21 +0000
commit9cf1ec00e8ad9256ab4826e56591a3ea4be8b66e (patch)
tree80da0e712980241e5f1c627f62c1c300a322ecb5
parentb191f585571cd5a32b80f240e44d44d1ac25f482 (diff)
downloadpoky-9cf1ec00e8ad9256ab4826e56591a3ea4be8b66e.tar.gz
valgrind: 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. (From OE-Core rev: 2194bbfe287412449d85182a4e02c8884c83170f) Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-devtools/valgrind/valgrind/avoid-neon-for-targets-which-don-t-support-it.patch33
-rw-r--r--meta/recipes-devtools/valgrind/valgrind_3.11.0.bb1
2 files changed, 34 insertions, 0 deletions
diff --git a/meta/recipes-devtools/valgrind/valgrind/avoid-neon-for-targets-which-don-t-support-it.patch b/meta/recipes-devtools/valgrind/valgrind/avoid-neon-for-targets-which-don-t-support-it.patch
new file mode 100644
index 0000000000..5fcfec0015
--- /dev/null
+++ b/meta/recipes-devtools/valgrind/valgrind/avoid-neon-for-targets-which-don-t-support-it.patch
@@ -0,0 +1,33 @@
1From 8facc29c3c56e6cf9cfef70986cf73876044a3fb Mon Sep 17 00:00:00 2001
2From: Andre McCurdy <armccurdy@gmail.com>
3Date: Tue, 19 Jan 2016 16:42:36 -0800
4Subject: [PATCH] avoid neon for targets which don't support it
5
6The sh-mem-random.c test app tries to use neon loads and stores to
7test 64-bit float copies when building for ARM. Allow it to do so if
8possible, but fallback to C when building for ARM targets which don't
9support neon.
10
11Upstream-Status: Pending
12
13Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
14---
15 memcheck/tests/sh-mem-random.c | 2 +-
16 1 file changed, 1 insertion(+), 1 deletion(-)
17
18diff --git a/memcheck/tests/sh-mem-random.c b/memcheck/tests/sh-mem-random.c
19index ae82248..816e139 100644
20--- a/memcheck/tests/sh-mem-random.c
21+++ b/memcheck/tests/sh-mem-random.c
22@@ -191,7 +191,7 @@ void do_test_at ( U1* arr )
23 "emms"
24 : : "r"(arr+dst), "r"(arr+src) : "memory"
25 );
26-#elif defined(__linux__) && defined(__arm__) && !defined(__aarch64__)
27+#elif defined(__linux__) && defined(__arm__) && defined(__ARM_NEON__) && !defined(__aarch64__)
28 /* On arm32, many compilers generate a 64-bit float move
29 using two 32 bit integer registers, which completely
30 defeats this test. Hence force a 64-bit NEON load and
31--
321.9.1
33
diff --git a/meta/recipes-devtools/valgrind/valgrind_3.11.0.bb b/meta/recipes-devtools/valgrind/valgrind_3.11.0.bb
index 4f7c39a7bc..7ef1e48bda 100644
--- a/meta/recipes-devtools/valgrind/valgrind_3.11.0.bb
+++ b/meta/recipes-devtools/valgrind/valgrind_3.11.0.bb
@@ -22,6 +22,7 @@ SRC_URI = "http://www.valgrind.org/downloads/valgrind-${PV}.tar.bz2 \
22 file://0005-Modify-vg_test-wrapper-to-support-PTEST-formats.patch \ 22 file://0005-Modify-vg_test-wrapper-to-support-PTEST-formats.patch \
23 file://0001-Remove-tests-that-fail-to-build-on-some-PPC32-config.patch \ 23 file://0001-Remove-tests-that-fail-to-build-on-some-PPC32-config.patch \
24 file://use-appropriate-march-mcpu-mfpu-for-ARM-test-apps.patch \ 24 file://use-appropriate-march-mcpu-mfpu-for-ARM-test-apps.patch \
25 file://avoid-neon-for-targets-which-don-t-support-it.patch \
25 " 26 "
26 27
27SRC_URI[md5sum] = "4ea62074da73ae82e0162d6550d3f129" 28SRC_URI[md5sum] = "4ea62074da73ae82e0162d6550d3f129"