[OE-core] [PATCH] valgrind: remove arm tests that don't compile

Erik Botö erik.boto at pelagicore.com
Thu Jun 11 08:39:14 UTC 2015


Hi,

I'd like to see this backported into fido if possible, I saw that it's
now merged in master.

http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=d1ce219960c031c00b48bf454b740b8bffcfbc43

Cheers,
Erik

On Fri, May 22, 2015 at 5:42 PM, Dave Lerner <dave.lerner at windriver.com> wrote:
> [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.
>
> Signed-off-by: Dave Lerner <dave.lerner at windriver.com>
> ---
>  .../valgrind/remove-arm-variant-specific.patch     | 99 +++++++++++-----------
>  1 file 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 f84bf9a..2319ab9 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 at 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
> --
> 1.9.1
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core



More information about the Openembedded-core mailing list