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 @@ -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 |