On Tue, Jan 19, 2016 at 5:49 PM, Rongqing Li <[email protected]> wrote: > > On 2016年01月20日 09:34, Andre McCurdy wrote: >> >> The intdiv test has been fixed upstream and the vcvt_fixed_float_VFP >> test can be fixed with a similar approach, ie ensuring that it is >> always compiled with appropriate -mcpu/-mfpu flags to support the >> instructions being tested. >> >> See similar cases in none/tests/arm/Makefile.am >> >> Signed-off-by: Andre McCurdy <[email protected]> >> --- >> .../valgrind/remove-arm-variant-specific.patch | 66 >> ---------------------- >> ...ppropriate-flags-for-vcvt-fixed-float-VFP.patch | 33 +++++++++++ >> meta/recipes-devtools/valgrind/valgrind_3.11.0.bb | 2 +- >> 3 files changed, 34 insertions(+), 67 deletions(-) >> delete mode 100644 >> meta/recipes-devtools/valgrind/valgrind/remove-arm-variant-specific.patch >> create mode 100644 >> meta/recipes-devtools/valgrind/valgrind/use-appropriate-flags-for-vcvt-fixed-float-VFP.patch >> >> diff --git >> a/meta/recipes-devtools/valgrind/valgrind/remove-arm-variant-specific.patch >> b/meta/recipes-devtools/valgrind/valgrind/remove-arm-variant-specific.patch >> deleted file mode 100644 >> index 2319ab9..0000000 >> --- >> a/meta/recipes-devtools/valgrind/valgrind/remove-arm-variant-specific.patch >> +++ /dev/null >> @@ -1,66 +0,0 @@ >> -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 <[email protected]> >> - >> -Index: valgrind-3.10.1/none/tests/arm/Makefile.am >> -=================================================================== >> ---- 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 >> - >> -+# 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_arm \ >> - neon128 \ >> -@@ -27,7 +31,6 @@ >> - v6intARM \ >> - v6intThumb \ >> - v6media \ >> -- vcvt_fixed_float_VFP \ > > > it failed on my platform again > > > | arm-wrs-linux-gnueabi-gcc -march=armv7-a -mfloat-abi=softfp -marm > -mthumb-interwork > --sysroot=/work/wr/buildarea/arm/bitbake_build/tmp/sysroots/qemuarma9 > -Winline -Wall -Wshadow -Wno-long-long -g -fno-stack-protector -Wno-nonnull > -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o allexec allexec-allexec.o > | arm-wrs-linux-gnueabi-gcc -march=armv7-a -mfloat-abi=softfp -marm > -mthumb-interwork > --sysroot=/work/wr/buildarea/arm/bitbake_build/tmp/sysroots/qemuarma9 > -DHAVE_CONFIG_H -I. > -I/work/wr/buildarea/arm/bitbake_build/tmp/work/armv7a-vfp-wrs-linux-gnueabi/valgrind/3.11.0-r0/valgrind-3.11.0/none/tests/arm > -I../../.. > -I/work/wr/buildarea/arm/bitbake_build/tmp/work/armv7a-vfp-wrs-linux-gnueabi/valgrind/3.11.0-r0/valgrind-3.11.0 > -I/work/wr/buildarea/arm/bitbake_build/tmp/work/armv7a-vfp-wrs-linux-gnueabi/valgrind/3.11.0-r0/valgrind-3.11.0/include > -I/work/wr/buildarea/arm/bitbake_build/tmp/work/armv7a-vfp-wrs-linux-gnueabi/valgrind/3.11.0-r0/valgrind-3.11.0/coregrind > -I../../../include > -I/work/wr/buildarea/arm/bitbake_build/tmp/work/armv7a-vfp-wrs-linux-gnueabi/valgrind/3.11.0-r0/valgrind-3.11.0/VEX/pub > -I../../../VEX/pub -DVGA_arm=1 -DVGO_linux=1 -DVGP_arm_linux=1 > -DVGPV_arm_linux_vanilla=1 -Winline -Wall -Wshadow -Wno-long-long -g > -fno-stack-protector -g -mcpu=cortex-a15 -mthumb -c -o intdiv-intdiv.o > `test -f 'intdiv.c' || echo > '/work/wr/buildarea/arm/bitbake_build/tmp/work/armv7a-vfp-wrs-linux-gnueabi/valgrind/3.11.0-r0/valgrind-3.11.0/none/tests/arm/'`intdiv.c > | > /work/wr/buildarea/arm/bitbake_build/tmp/work/armv7a-vfp-wrs-linux-gnueabi/valgrind/3.11.0-r0/valgrind-3.11.0/none/tests/arm/intdiv.c:1:0: > warning: switch -mcpu=cortex-a15 conflicts with -march=armv7-a switch > | > | ^ > | /tmp/ccw8BXpd.s: Assembler messages: > | /tmp/ccw8BXpd.s:49: Error: selected processor does not support Thumb mode > `udiv r3,r9,r10' > | /tmp/ccw8BXpd.s:104: Error: selected processor does not support Thumb mode > `sdiv r3,r9,r10' > | Makefile:811: recipe for target 'intdiv-intdiv.o' failed > | make[5]: *** [intdiv-intdiv.o] Error 1 >
Thanks for testing. I'll send an updated patch. > > -Roy > > > >> - vfp \ >> - vfpv4_fma >> - >> diff --git >> a/meta/recipes-devtools/valgrind/valgrind/use-appropriate-flags-for-vcvt-fixed-float-VFP.patch >> b/meta/recipes-devtools/valgrind/valgrind/use-appropriate-flags-for-vcvt-fixed-float-VFP.patch >> new file mode 100644 >> index 0000000..b60bbec >> --- /dev/null >> +++ >> b/meta/recipes-devtools/valgrind/valgrind/use-appropriate-flags-for-vcvt-fixed-float-VFP.patch >> @@ -0,0 +1,33 @@ >> +From 3edcad177058150a841a88cf0798fdc0bd0dad43 Mon Sep 17 00:00:00 2001 >> +From: Andre McCurdy <[email protected]> >> +Date: Tue, 19 Jan 2016 16:00:00 -0800 >> +Subject: [PATCH] use appropriate -mcpu/-mfpu for vcvt_fixed_float_VFP >> + >> +vcvt_fixed_float_VFP.c contains embedded vfpv3 instructions. Ensure >> +that it is always compiled with appropriate -mcpu/-mfpu flags to >> +support the instructions being tested. The aim is to build all tests, >> +even ones which may not run correctly on all target CPUs. >> + >> +See similar cases in none/tests/arm/Makefile.am >> + >> +Upstream-Status: Pending >> + >> +Signed-off-by: Andre McCurdy <[email protected]> >> +--- >> + none/tests/arm/Makefile.am | 2 ++ >> + 1 file changed, 2 insertions(+) >> + >> +diff --git a/none/tests/arm/Makefile.am b/none/tests/arm/Makefile.am >> +index 4507a20..b38a082 100644 >> +--- a/none/tests/arm/Makefile.am >> ++++ b/none/tests/arm/Makefile.am >> +@@ -66,4 +66,6 @@ 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 >> + >> ++vcvt_fixed_float_VFP_CFLAGS = $(AM_CFLAGS) -g -mcpu=cortex-a8 >> -mfpu=vfpv3 >> ++ >> + vfpv4_fma_CFLAGS = $(AM_CFLAGS) -g -O0 -mcpu=cortex-a15 -mfpu=vfpv4 >> -marm >> +-- >> +1.9.1 >> + >> diff --git a/meta/recipes-devtools/valgrind/valgrind_3.11.0.bb >> b/meta/recipes-devtools/valgrind/valgrind_3.11.0.bb >> index 8e9b72c..d2a78c3 100644 >> --- a/meta/recipes-devtools/valgrind/valgrind_3.11.0.bb >> +++ b/meta/recipes-devtools/valgrind/valgrind_3.11.0.bb >> @@ -15,13 +15,13 @@ DEPENDS = "${@bb.utils.contains('DISTRO_FEATURES', >> 'x11', '${X11DEPENDS}', '', d >> SRC_URI = "http://www.valgrind.org/downloads/valgrind-${PV}.tar.bz2 \ >> file://fixed-perl-path.patch \ >> file://Added-support-for-PPC-instructions-mfatbu-mfatbl.patch >> \ >> - file://remove-arm-variant-specific.patch \ >> file://run-ptest \ >> file://11_mips-link-tool.patch \ >> file://0002-remove-rpath.patch \ >> file://0004-Fix-out-of-tree-builds.patch \ >> >> file://0005-Modify-vg_test-wrapper-to-support-PTEST-formats.patch \ >> >> file://0001-Remove-tests-that-fail-to-build-on-some-PPC32-config.patch \ >> + file://use-appropriate-flags-for-vcvt-fixed-float-VFP.patch \ >> " >> >> SRC_URI[md5sum] = "4ea62074da73ae82e0162d6550d3f129" >> > > -- > Best Reagrds, > Roy | RongQing Li -- _______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
