mirror of
https://git.yoctoproject.org/poky
synced 2026-04-18 21:32:12 +02:00
valgrind: re-enable ARM intdiv and vcvt_fixed_float_VFP tests
The intdiv test has been partially fixed upstream and the vcvt_fixed_float_VFP test can be fixed with a similar approach, ie ensuring that it is always compiled with appropriate -march/-mcpu/-mfpu flags to support the instructions being tested. 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 (From OE-Core rev: 3e94af90d90f6db6bab66ae87a47b31f3a0474f6) 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>
This commit is contained in:
committed by
Richard Purdie
parent
b0b34127cb
commit
b191f58557
@@ -1,66 +0,0 @@
|
||||
Remove arm tests that don't compile
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Corrects the original commit for the patch that removed ARM ptest CFLAGS
|
||||
settings. Since the flags could be set by a user, the flags should
|
||||
be kept in place during compilation. By keeping the original up-stream
|
||||
CFLAGS for the tests, then additional tests successfully compile
|
||||
for all tested ARM tunings.
|
||||
|
||||
However, there were still two tests listed below that did not compile
|
||||
for any beaglebone tuning that is valid for valgrind. With the updated
|
||||
patch, the set of excluded ARM ptests and their respective build
|
||||
failures are:
|
||||
intdiv - fails for all beaglebone tunings with 2 errors:
|
||||
{standard input}:(40 or 41): Error: selected processor does not
|
||||
support Thumb mode `udiv r3,r9,r10'
|
||||
{standard input}:(72 or 73): Error: selected processor does not
|
||||
support Thumb mode `sdiv r3,r9,r10'
|
||||
|
||||
vcvt_fixed_float_VFP - fails for all beaglebone tunings in one of
|
||||
two ways:
|
||||
with neon tuning (-mfpu=neon) fails with Internal Compiler Error
|
||||
without neon tuning fails with 3 errors:
|
||||
{standard input}:33: Error: selected FPU does not support
|
||||
instruction -- `vcvt.f32.s32 s15,s15,#1'
|
||||
{standard input}:58: Error: selected FPU does not support
|
||||
instruction -- `vcvt.f32.s32 s15,s15,#32'
|
||||
{standard input}:136: Error: selected FPU does not support
|
||||
instruction -- `vcvt.f32.u32 s15,s15,#1'
|
||||
|
||||
After applying this commit, the valgrind ARM ptests compile without
|
||||
errors for tunings:
|
||||
armv7[t][hf][b][-neon] cortexa8[t][hf][-neon]
|
||||
where the tuning [option] was successfully compiled, both with
|
||||
and without the 'option', and in combination with all other options.
|
||||
|
||||
Signed-off-by: Dave Lerner <dave.lerner@windriver.com>
|
||||
|
||||
Index: valgrind-3.10.1/none/tests/arm/Makefile.am
|
||||
===================================================================
|
||||
--- valgrind-3.10.1.orig/none/tests/arm/Makefile.am 2015-05-19 15:11:59.224842927 -0500
|
||||
+++ valgrind-3.10.1/none/tests/arm/Makefile.am 2015-05-19 15:14:20.808847028 -0500
|
||||
@@ -17,9 +17,13 @@
|
||||
vfp.stdout.exp vfp.stderr.exp vfp.vgtest \
|
||||
vfpv4_fma.stdout.exp vfpv4_fma.stderr.exp vfpv4_fma.vgtest
|
||||
|
||||
+# Remove the following tests which cause compiler errors for all tunings
|
||||
+# available for beagle bone (see remove-arm-variant-specific.patch):
|
||||
+# intdiv
|
||||
+# vcvt_fixed_float_VFP
|
||||
+
|
||||
check_PROGRAMS = \
|
||||
allexec \
|
||||
- intdiv \
|
||||
ldrt \
|
||||
ldrt_arm \
|
||||
neon128 \
|
||||
@@ -27,7 +31,6 @@
|
||||
v6intARM \
|
||||
v6intThumb \
|
||||
v6media \
|
||||
- vcvt_fixed_float_VFP \
|
||||
vfp \
|
||||
vfpv4_fma
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -15,13 +15,13 @@ DEPENDS = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '${X11DEPENDS}', '', d
|
||||
SRC_URI = "http://www.valgrind.org/downloads/valgrind-${PV}.tar.bz2 \
|
||||
file://fixed-perl-path.patch \
|
||||
file://Added-support-for-PPC-instructions-mfatbu-mfatbl.patch \
|
||||
file://remove-arm-variant-specific.patch \
|
||||
file://run-ptest \
|
||||
file://11_mips-link-tool.patch \
|
||||
file://0002-remove-rpath.patch \
|
||||
file://0004-Fix-out-of-tree-builds.patch \
|
||||
file://0005-Modify-vg_test-wrapper-to-support-PTEST-formats.patch \
|
||||
file://0001-Remove-tests-that-fail-to-build-on-some-PPC32-config.patch \
|
||||
file://use-appropriate-march-mcpu-mfpu-for-ARM-test-apps.patch \
|
||||
"
|
||||
|
||||
SRC_URI[md5sum] = "4ea62074da73ae82e0162d6550d3f129"
|
||||
|
||||
Reference in New Issue
Block a user