summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--meta/recipes-devtools/valgrind/valgrind/remove-arm-variant-specific.patch99
1 files changed, 48 insertions, 51 deletions
diff --git a/meta/recipes-devtools/valgrind/valgrind/remove-arm-variant-specific.patch b/meta/recipes-devtools/valgrind/valgrind/remove-arm-variant-specific.patch
index f84bf9ae9a..2319ab98c5 100644
--- a/meta/recipes-devtools/valgrind/valgrind/remove-arm-variant-specific.patch
+++ b/meta/recipes-devtools/valgrind/valgrind/remove-arm-variant-specific.patch
@@ -1,69 +1,66 @@
-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.
+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.0/none/tests/arm/Makefile.am
+Index: valgrind-3.10.1/none/tests/arm/Makefile.am
===================================================================
---- valgrind-3.10.0.orig/none/tests/arm/Makefile.am
-+++ valgrind-3.10.0/none/tests/arm/Makefile.am
-@@ -17,15 +17,16 @@ EXTRA_DIST = \
+--- 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
-+# 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.
++# 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 \
ldrt_arm \
neon128 \
- neon64 \
+@@ -27,7 +31,6 @@
v6intARM \
-- v6intThumb \
+ v6intThumb \
v6media \
- vcvt_fixed_float_VFP \
+- vcvt_fixed_float_VFP \
vfp \
-@@ -36,34 +37,3 @@ AM_CXXFLAGS += @FLAG_M32@
- AM_CCASFLAGS += @FLAG_M32@
+ vfpv4_fma
- 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
--
--vfpv4_fma_CFLAGS = $(AM_CFLAGS) -g -O0 -mcpu=cortex-a15 -mfpu=vfpv4 -marm