From 3e94af90d90f6db6bab66ae87a47b31f3a0474f6 Mon Sep 17 00:00:00 2001 From: Andre McCurdy Date: Tue, 19 Jan 2016 18:47:50 -0800 Subject: 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 Signed-off-by: Andre McCurdy Signed-off-by: Ross Burton --- .../valgrind/remove-arm-variant-specific.patch | 66 ---------------------- ...opriate-march-mcpu-mfpu-for-ARM-test-apps.patch | 44 +++++++++++++++ meta/recipes-devtools/valgrind/valgrind_3.11.0.bb | 2 +- 3 files changed, 45 insertions(+), 67 deletions(-) delete mode 100644 meta/recipes-devtools/valgrind/valgrind/remove-arm-variant-specific.patch create mode 100644 meta/recipes-devtools/valgrind/valgrind/use-appropriate-march-mcpu-mfpu-for-ARM-test-apps.patch (limited to 'meta/recipes-devtools/valgrind') diff --git a/meta/recipes-devtools/valgrind/valgrind/remove-arm-variant-specific.patch b/meta/recipes-devtools/valgrind/valgrind/remove-arm-variant-specific.patch deleted file mode 100644 index 2319ab98c5..0000000000 --- a/meta/recipes-devtools/valgrind/valgrind/remove-arm-variant-specific.patch +++ /dev/null @@ -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 - -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 - diff --git a/meta/recipes-devtools/valgrind/valgrind/use-appropriate-march-mcpu-mfpu-for-ARM-test-apps.patch b/meta/recipes-devtools/valgrind/valgrind/use-appropriate-march-mcpu-mfpu-for-ARM-test-apps.patch new file mode 100644 index 0000000000..adea405213 --- /dev/null +++ b/meta/recipes-devtools/valgrind/valgrind/use-appropriate-march-mcpu-mfpu-for-ARM-test-apps.patch @@ -0,0 +1,44 @@ +From d134dafc2f11e0d247420a0ba360bcdef77b4093 Mon Sep 17 00:00:00 2001 +From: Andre McCurdy +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 +--- + 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 + diff --git a/meta/recipes-devtools/valgrind/valgrind_3.11.0.bb b/meta/recipes-devtools/valgrind/valgrind_3.11.0.bb index 8e9b72cd61..4f7c39a7bc 100644 --- a/meta/recipes-devtools/valgrind/valgrind_3.11.0.bb +++ b/meta/recipes-devtools/valgrind/valgrind_3.11.0.bb @@ -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" -- cgit 1.2.3-korg