summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Lerner <dave.lerner@windriver.com>2015-05-22 10:42:42 -0500
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-05-24 07:19:20 +0100
commitd1ce219960c031c00b48bf454b740b8bffcfbc43 (patch)
tree15251175e4e45a839e87b5ffb5f0235ed51c2fd7
parentace08a2923117c9fb1f3d232372c433b4bab82d9 (diff)
downloadpoky-d1ce219960c031c00b48bf454b740b8bffcfbc43.tar.gz
valgrind: remove arm tests that don't compile
[Yocto #7453] 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. (From OE-Core rev: 2fb0edcb47a14e47780d545f60885b36e71fca71) Signed-off-by: Dave Lerner <dave.lerner@windriver.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/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 @@
1Remove tests that require thumb compiler flags 1Remove arm tests that don't compile
2
3Default compiler options for arm machines are incompatible with the
4'-mthumb' compiler option imposed by the intdiv and lrt test
5applications, so those two are removed from the ptest build.
6 2
7Upstream-Status: Pending 3Upstream-Status: Pending
8 4
5Corrects the original commit for the patch that removed ARM ptest CFLAGS
6settings. Since the flags could be set by a user, the flags should
7be kept in place during compilation. By keeping the original up-stream
8CFLAGS for the tests, then additional tests successfully compile
9for all tested ARM tunings.
10
11However, there were still two tests listed below that did not compile
12for any beaglebone tuning that is valid for valgrind. With the updated
13patch, the set of excluded ARM ptests and their respective build
14failures are:
15 intdiv - fails for all beaglebone tunings with 2 errors:
16 {standard input}:(40 or 41): Error: selected processor does not
17 support Thumb mode `udiv r3,r9,r10'
18 {standard input}:(72 or 73): Error: selected processor does not
19 support Thumb mode `sdiv r3,r9,r10'
20
21 vcvt_fixed_float_VFP - fails for all beaglebone tunings in one of
22 two ways:
23 with neon tuning (-mfpu=neon) fails with Internal Compiler Error
24 without neon tuning fails with 3 errors:
25 {standard input}:33: Error: selected FPU does not support
26 instruction -- `vcvt.f32.s32 s15,s15,#1'
27 {standard input}:58: Error: selected FPU does not support
28 instruction -- `vcvt.f32.s32 s15,s15,#32'
29 {standard input}:136: Error: selected FPU does not support
30 instruction -- `vcvt.f32.u32 s15,s15,#1'
31
32After applying this commit, the valgrind ARM ptests compile without
33errors for tunings:
34 armv7[t][hf][b][-neon] cortexa8[t][hf][-neon]
35where the tuning [option] was successfully compiled, both with
36and without the 'option', and in combination with all other options.
37
9Signed-off-by: Dave Lerner <dave.lerner@windriver.com> 38Signed-off-by: Dave Lerner <dave.lerner@windriver.com>
10 39
11Index: valgrind-3.10.0/none/tests/arm/Makefile.am 40Index: valgrind-3.10.1/none/tests/arm/Makefile.am
12=================================================================== 41===================================================================
13--- valgrind-3.10.0.orig/none/tests/arm/Makefile.am 42--- valgrind-3.10.1.orig/none/tests/arm/Makefile.am 2015-05-19 15:11:59.224842927 -0500
14+++ valgrind-3.10.0/none/tests/arm/Makefile.am 43+++ valgrind-3.10.1/none/tests/arm/Makefile.am 2015-05-19 15:14:20.808847028 -0500
15@@ -17,15 +17,16 @@ EXTRA_DIST = \ 44@@ -17,9 +17,13 @@
16 vfp.stdout.exp vfp.stderr.exp vfp.vgtest \ 45 vfp.stdout.exp vfp.stderr.exp vfp.vgtest \
17 vfpv4_fma.stdout.exp vfpv4_fma.stderr.exp vfpv4_fma.vgtest 46 vfpv4_fma.stdout.exp vfpv4_fma.stderr.exp vfpv4_fma.vgtest
18 47
19+# For yocto: 48+# Remove the following tests which cause compiler errors for all tunings
20+# Only include tests that don't require Thumb. 49+# available for beagle bone (see remove-arm-variant-specific.patch):
21+# Only use CFLAGS passed in by the build system. 50+# intdiv
22+# Some tests may fail, but all tests must compile. 51+# vcvt_fixed_float_VFP
52+
23 check_PROGRAMS = \ 53 check_PROGRAMS = \
24 allexec \ 54 allexec \
25- intdiv \ 55- intdiv \
26- ldrt \ 56 ldrt \
27 ldrt_arm \ 57 ldrt_arm \
28 neon128 \ 58 neon128 \
29 neon64 \ 59@@ -27,7 +31,6 @@
30 v6intARM \ 60 v6intARM \
31- v6intThumb \ 61 v6intThumb \
32 v6media \ 62 v6media \
33 vcvt_fixed_float_VFP \ 63- vcvt_fixed_float_VFP \
34 vfp \ 64 vfp \
35@@ -36,34 +37,3 @@ AM_CXXFLAGS += @FLAG_M32@ 65 vfpv4_fma
36 AM_CCASFLAGS += @FLAG_M32@
37 66
38 allexec_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_NONNULL@
39-
40-# These two are specific to their ARM/Thumb respectively and so we
41-# hardwire -marm/-mthumb. neon64 and neon128 are compilable on both,
42-# however, ask for them to be compiled on thumb, as that looks
43-# like that's going to be the more common use case. They also
44-# need special helping w.r.t -mfpu and -mfloat-abi, though.
45-# Also force -O0 since -O takes hundreds of MB of memory
46-# for v6intThumb.c.
47-v6intARM_CFLAGS = $(AM_CFLAGS) -g -O0 -mcpu=cortex-a8 -marm
48-v6intThumb_CFLAGS = $(AM_CFLAGS) -g -O0 -mcpu=cortex-a8 -mthumb
49-
50-v6media_CFLAGS = $(AM_CFLAGS) -g -O0 -mcpu=cortex-a8 -mthumb
51-
52-vfp_CFLAGS = $(AM_CFLAGS) -g -O0 -mcpu=cortex-a8 \
53- -mfpu=neon \
54- -mthumb
55-
56-
57-neon128_CFLAGS = $(AM_CFLAGS) -g -O0 -mcpu=cortex-a8 \
58- -mfpu=neon \
59- -mthumb
60-
61-neon64_CFLAGS = $(AM_CFLAGS) -g -O0 -mcpu=cortex-a8 \
62- -mfpu=neon \
63- -mthumb
64-
65-intdiv_CFLAGS = $(AM_CFLAGS) -g -mcpu=cortex-a15 -mthumb
66-ldrt_CFLAGS = $(AM_CFLAGS) -g -mcpu=cortex-a8 -mthumb
67-ldrt_arm_CFLAGS = $(AM_CFLAGS) -g -mcpu=cortex-a8 -marm
68-
69-vfpv4_fma_CFLAGS = $(AM_CFLAGS) -g -O0 -mcpu=cortex-a15 -mfpu=vfpv4 -marm