diff options
| -rw-r--r-- | meta/recipes-devtools/valgrind/valgrind/remove-arm-variant-specific.patch | 99 |
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 @@ | |||
| 1 | Remove tests that require thumb compiler flags | 1 | Remove arm tests that don't compile |
| 2 | |||
| 3 | Default compiler options for arm machines are incompatible with the | ||
| 4 | '-mthumb' compiler option imposed by the intdiv and lrt test | ||
| 5 | applications, so those two are removed from the ptest build. | ||
| 6 | 2 | ||
| 7 | Upstream-Status: Pending | 3 | Upstream-Status: Pending |
| 8 | 4 | ||
| 5 | Corrects the original commit for the patch that removed ARM ptest CFLAGS | ||
| 6 | settings. Since the flags could be set by a user, the flags should | ||
| 7 | be kept in place during compilation. By keeping the original up-stream | ||
| 8 | CFLAGS for the tests, then additional tests successfully compile | ||
| 9 | for all tested ARM tunings. | ||
| 10 | |||
| 11 | However, there were still two tests listed below that did not compile | ||
| 12 | for any beaglebone tuning that is valid for valgrind. With the updated | ||
| 13 | patch, the set of excluded ARM ptests and their respective build | ||
| 14 | failures 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 | |||
| 32 | After applying this commit, the valgrind ARM ptests compile without | ||
| 33 | errors for tunings: | ||
| 34 | armv7[t][hf][b][-neon] cortexa8[t][hf][-neon] | ||
| 35 | where the tuning [option] was successfully compiled, both with | ||
| 36 | and without the 'option', and in combination with all other options. | ||
| 37 | |||
| 9 | Signed-off-by: Dave Lerner <dave.lerner@windriver.com> | 38 | Signed-off-by: Dave Lerner <dave.lerner@windriver.com> |
| 10 | 39 | ||
| 11 | Index: valgrind-3.10.0/none/tests/arm/Makefile.am | 40 | Index: 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 | ||
