All of lore.kernel.org
 help / color / mirror / Atom feed
* [BUG REPORT] failed to build valgrind on qemuarm
@ 2016-01-19  7:27 Rongqing Li
  2016-01-19  7:47 ` Robert Yang
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Rongqing Li @ 2016-01-19  7:27 UTC (permalink / raw)
  To: openembedded-core

1. on qemuarm:

| arm-poky-linux-gnueabi-gcc  -march=armv5e -marm 
--sysroot=/buildarea1/lirq/Yocto/poky/arm/tmp/sysroots/qemuarm 
-DHAVE_CONFIG_H -I. -I../../valgrind-3.11.0/memcheck -I.. 
-I../../valgrind-3.11.0 -I../../valgrind-3.11.0/include 
-I../../valgrind-3.11.0/VEX/pub -I../VEX/pub -DVGA_arm=1 -DVGO_linux=1 
-DVGP_arm_linux=1 -DVGPV_arm_linux_vanilla=1  -O2 -g -std=gnu99 -Wall 
-Wmissing-prototypes -Wshadow -Wpointer-arith -Wstrict-prototypes 
-Wmissing-declarations -Wcast-qual -Wwrite-strings -Wempty-body -Wformat 
-Wformat-security -Wignored-qualifiers -Wmissing-parameter-type 
-Wold-style-declaration -fno-stack-protector -fno-strict-aliasing 
-fno-builtin  -marm -mcpu=cortex-a8 -O -g -fno-omit-frame-pointer 
-fno-strict-aliasing -fpic -fno-builtin -fno-ipa-icf -O2 -O2 -pipe -g 
-feliminate-unused-debug-types -c -o 
vgpreload_memcheck_arm_linux_so-mc_replace_strmem.o `test -f 
'mc_replace_strmem.c' || echo 
'../../valgrind-3.11.0/memcheck/'`mc_replace_strmem.c
| for f in ; do \
|   if [ ! -e $f.dSYM  -o  $f -nt $f.dSYM ] ; then \
|       echo "dsymutil $f"; \
|       dsymutil $f; \
|   fi; \
| done
| ../../valgrind-3.11.0/memcheck/mc_malloc_wrappers.c:1:0: warning: 
switch -mcpu=cortex-a8 conflicts with -march=armv5e switch
|
|  ^
| mkdir -p ../.in_place; \
| for f in ; do \
|   rm -f ../.in_place/$f.dSYM; \
|   ln -f -s ../memcheck/$f.dSYM ../.in_place; \
| done
| ../../valgrind-3.11.0/memcheck/mc_leakcheck.c:1:0: warning: switch 
-mcpu=cortex-a8 conflicts with -march=armv5e switch
|
|  ^
| ../../valgrind-3.11.0/memcheck/mc_replace_strmem.c:1:0: warning: 
switch -mcpu=cortex-a8 conflicts with -march=armv5e switch
|
|  ^
| ../../valgrind-3.11.0/memcheck/mc_errors.c:1:0: warning: switch 
-mcpu=cortex-a8 conflicts with -march=armv5e switch
|
|  ^
| ../../valgrind-3.11.0/memcheck/mc_translate.c:1:0: warning: switch 
-mcpu=cortex-a8 conflicts with -march=armv5e switch
|
|  ^
| ../../valgrind-3.11.0/memcheck/mc_machine.c:1:0: warning: switch 
-mcpu=cortex-a8 conflicts with -march=armv5e switch
|
|  ^
| ../../valgrind-3.11.0/memcheck/mc_main.c:1:0: warning: switch 
-mcpu=cortex-a8 conflicts with -march=armv5e switch
|  /* -*- mode: C; c-basic-offset: 3; -*- */
|  ^
| {standard input}: Assembler messages:
| {standard input}:25: Error: selected processor does not support ARM 
mode `movw r3,#:lower16:primary_map'
| {standard input}:28: Error: selected processor does not support ARM 
mode `movt r3,#:upper16:primary_map'
| {standard input}:30: Error: selected processor does not support ARM 
mode `uxth r1,r0'
| {standard input}:31: Error: selected processor does not support ARM 
mode `movw r3,#0xAAAA'
| {standard input}:40: Error: selected processor does not support ARM 
mode `movw r3,#0x5555'
| {standard input}:61: Error: selected processor does not support ARM 
mode `movw r3,#:lower16:primary_map'
| {standard input}:64: Error: selected processor does not support ARM 
mode `movt r3,#:upper16:primary_map'
| {standard input}:66: Error: selected processor does not support ARM 
mode `uxth r1,r0'
| {standard input}:94: Error: selected processor does not support ARM 
mode `movw r3,#:lower16:primary_map'
| {standard input}:95: Error: selected processor does not support ARM 
mode `uxth r1,r0'
| {standard input}:96: Error: selected processor does not support ARM 
mode `movt r3,#:upper16:primary_map'
| {standard input}:135: Error: selected processor does not support ARM 
mode `movw r3,#:lower16:primary_map'
| {standard input}:136: Error: selected processor does not support ARM 
mode `uxth r1,r0'
| {standard input}:137: Error: selected processor does not support ARM 
mode `movt r3,#:upper16:primary_map'



2: on qemuarma9


| 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/memcheck/tests 
-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    -O2 -pipe -g  -fno-omit-frame-pointer 
-fvisibility=default -O0 -c -o sh-mem-random.o 
/work/wr/buildarea/arm/bitbake_build/tmp/work/armv7a-vfp-wrs-linux-gnueabi/valgrind/3.11.0-r0/valgrind-3.11.0/memcheck/tests/sh-mem-random.c
| {standard input}: Assembler messages:
| {standard input}:1107: Error: selected processor does not support ARM 
mode `vld1.64 {d7},[r3]'
| {standard input}:1107: Error: selected processor does not support ARM 
mode `vst1.64 {d7},[r2]'
| Makefile:2467: recipe for target 'sh-mem-random.o' failed


and the codes are below:

194 #elif defined(__linux__) && defined(__arm__) && !defined(__aarch64__)
195             /* On arm32, many compilers generate a 64-bit float move
196                using two 32 bit integer registers, which completely
197                defeats this test.  Hence force a 64-bit NEON load and
198                store.  I guess this will break the build on non-NEON
199                capable targets. */
200             __asm__ __volatile__ (
201                "vld1.64 {d7},[%0] ; vst1.64 {d7},[%1] "
202                : : "r"(arr+src), "r"(arr+dst) : "d7","memory"
203             );
204 #else


-Roy


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [BUG REPORT] failed to build valgrind on qemuarm
  2016-01-19  7:27 [BUG REPORT] failed to build valgrind on qemuarm Rongqing Li
@ 2016-01-19  7:47 ` Robert Yang
  2016-01-19  7:50   ` Rongqing Li
  2016-01-19 20:20 ` Andre McCurdy
  2016-01-19 21:00 ` Khem Raj
  2 siblings, 1 reply; 10+ messages in thread
From: Robert Yang @ 2016-01-19  7:47 UTC (permalink / raw)
  To: Rongqing Li, openembedded-core


On 01/19/2016 03:27 PM, Rongqing Li wrote:
> 1. on qemuarm:

There is a patch for this:
[OE-core] [PATCH] valgrind: make it explicit that valgrind supports armv7a and above

// Robert

>
> | arm-poky-linux-gnueabi-gcc  -march=armv5e -marm
> --sysroot=/buildarea1/lirq/Yocto/poky/arm/tmp/sysroots/qemuarm -DHAVE_CONFIG_H
> -I. -I../../valgrind-3.11.0/memcheck -I.. -I../../valgrind-3.11.0
> -I../../valgrind-3.11.0/include -I../../valgrind-3.11.0/VEX/pub -I../VEX/pub
> -DVGA_arm=1 -DVGO_linux=1 -DVGP_arm_linux=1 -DVGPV_arm_linux_vanilla=1  -O2 -g
> -std=gnu99 -Wall -Wmissing-prototypes -Wshadow -Wpointer-arith
> -Wstrict-prototypes -Wmissing-declarations -Wcast-qual -Wwrite-strings
> -Wempty-body -Wformat -Wformat-security -Wignored-qualifiers
> -Wmissing-parameter-type -Wold-style-declaration -fno-stack-protector
> -fno-strict-aliasing -fno-builtin  -marm -mcpu=cortex-a8 -O -g
> -fno-omit-frame-pointer -fno-strict-aliasing -fpic -fno-builtin -fno-ipa-icf -O2
> -O2 -pipe -g -feliminate-unused-debug-types -c -o
> vgpreload_memcheck_arm_linux_so-mc_replace_strmem.o `test -f
> 'mc_replace_strmem.c' || echo '../../valgrind-3.11.0/memcheck/'`mc_replace_strmem.c
> | for f in ; do \
> |   if [ ! -e $f.dSYM  -o  $f -nt $f.dSYM ] ; then \
> |       echo "dsymutil $f"; \
> |       dsymutil $f; \
> |   fi; \
> | done
> | ../../valgrind-3.11.0/memcheck/mc_malloc_wrappers.c:1:0: warning: switch
> -mcpu=cortex-a8 conflicts with -march=armv5e switch
> |
> |  ^
> | mkdir -p ../.in_place; \
> | for f in ; do \
> |   rm -f ../.in_place/$f.dSYM; \
> |   ln -f -s ../memcheck/$f.dSYM ../.in_place; \
> | done
> | ../../valgrind-3.11.0/memcheck/mc_leakcheck.c:1:0: warning: switch
> -mcpu=cortex-a8 conflicts with -march=armv5e switch
> |
> |  ^
> | ../../valgrind-3.11.0/memcheck/mc_replace_strmem.c:1:0: warning: switch
> -mcpu=cortex-a8 conflicts with -march=armv5e switch
> |
> |  ^
> | ../../valgrind-3.11.0/memcheck/mc_errors.c:1:0: warning: switch
> -mcpu=cortex-a8 conflicts with -march=armv5e switch
> |
> |  ^
> | ../../valgrind-3.11.0/memcheck/mc_translate.c:1:0: warning: switch
> -mcpu=cortex-a8 conflicts with -march=armv5e switch
> |
> |  ^
> | ../../valgrind-3.11.0/memcheck/mc_machine.c:1:0: warning: switch
> -mcpu=cortex-a8 conflicts with -march=armv5e switch
> |
> |  ^
> | ../../valgrind-3.11.0/memcheck/mc_main.c:1:0: warning: switch -mcpu=cortex-a8
> conflicts with -march=armv5e switch
> |  /* -*- mode: C; c-basic-offset: 3; -*- */
> |  ^
> | {standard input}: Assembler messages:
> | {standard input}:25: Error: selected processor does not support ARM mode `movw
> r3,#:lower16:primary_map'
> | {standard input}:28: Error: selected processor does not support ARM mode `movt
> r3,#:upper16:primary_map'
> | {standard input}:30: Error: selected processor does not support ARM mode `uxth
> r1,r0'
> | {standard input}:31: Error: selected processor does not support ARM mode `movw
> r3,#0xAAAA'
> | {standard input}:40: Error: selected processor does not support ARM mode `movw
> r3,#0x5555'
> | {standard input}:61: Error: selected processor does not support ARM mode `movw
> r3,#:lower16:primary_map'
> | {standard input}:64: Error: selected processor does not support ARM mode `movt
> r3,#:upper16:primary_map'
> | {standard input}:66: Error: selected processor does not support ARM mode `uxth
> r1,r0'
> | {standard input}:94: Error: selected processor does not support ARM mode `movw
> r3,#:lower16:primary_map'
> | {standard input}:95: Error: selected processor does not support ARM mode `uxth
> r1,r0'
> | {standard input}:96: Error: selected processor does not support ARM mode `movt
> r3,#:upper16:primary_map'
> | {standard input}:135: Error: selected processor does not support ARM mode
> `movw r3,#:lower16:primary_map'
> | {standard input}:136: Error: selected processor does not support ARM mode
> `uxth r1,r0'
> | {standard input}:137: Error: selected processor does not support ARM mode
> `movt r3,#:upper16:primary_map'
>
>
>
> 2: on qemuarma9
>
>
> | 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/memcheck/tests
> -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    -O2 -pipe -g  -fno-omit-frame-pointer
> -fvisibility=default -O0 -c -o sh-mem-random.o
> /work/wr/buildarea/arm/bitbake_build/tmp/work/armv7a-vfp-wrs-linux-gnueabi/valgrind/3.11.0-r0/valgrind-3.11.0/memcheck/tests/sh-mem-random.c
>
> | {standard input}: Assembler messages:
> | {standard input}:1107: Error: selected processor does not support ARM mode
> `vld1.64 {d7},[r3]'
> | {standard input}:1107: Error: selected processor does not support ARM mode
> `vst1.64 {d7},[r2]'
> | Makefile:2467: recipe for target 'sh-mem-random.o' failed
>
>
> and the codes are below:
>
> 194 #elif defined(__linux__) && defined(__arm__) && !defined(__aarch64__)
> 195             /* On arm32, many compilers generate a 64-bit float move
> 196                using two 32 bit integer registers, which completely
> 197                defeats this test.  Hence force a 64-bit NEON load and
> 198                store.  I guess this will break the build on non-NEON
> 199                capable targets. */
> 200             __asm__ __volatile__ (
> 201                "vld1.64 {d7},[%0] ; vst1.64 {d7},[%1] "
> 202                : : "r"(arr+src), "r"(arr+dst) : "d7","memory"
> 203             );
> 204 #else
>
>
> -Roy


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [BUG REPORT] failed to build valgrind on qemuarm
  2016-01-19  7:47 ` Robert Yang
@ 2016-01-19  7:50   ` Rongqing Li
  2016-01-19  8:05     ` Robert Yang
  0 siblings, 1 reply; 10+ messages in thread
From: Rongqing Li @ 2016-01-19  7:50 UTC (permalink / raw)
  To: Robert Yang, openembedded-core



On 2016年01月19日 15:47, Robert Yang wrote:
>
> On 01/19/2016 03:27 PM, Rongqing Li wrote:
>> 1. on qemuarm:
>
> There is a patch for this:
> [OE-core] [PATCH] valgrind: make it explicit that valgrind supports
> armv7a and above
>
> // Robert

which armv7 BSP is tested?

thanks

-Roy


>
>>
>> | arm-poky-linux-gnueabi-gcc  -march=armv5e -marm
>> --sysroot=/buildarea1/lirq/Yocto/poky/arm/tmp/sysroots/qemuarm
>> -DHAVE_CONFIG_H
>> -I. -I../../valgrind-3.11.0/memcheck -I.. -I../../valgrind-3.11.0
>> -I../../valgrind-3.11.0/include -I../../valgrind-3.11.0/VEX/pub
>> -I../VEX/pub
>> -DVGA_arm=1 -DVGO_linux=1 -DVGP_arm_linux=1
>> -DVGPV_arm_linux_vanilla=1  -O2 -g
>> -std=gnu99 -Wall -Wmissing-prototypes -Wshadow -Wpointer-arith
>> -Wstrict-prototypes -Wmissing-declarations -Wcast-qual -Wwrite-strings
>> -Wempty-body -Wformat -Wformat-security -Wignored-qualifiers
>> -Wmissing-parameter-type -Wold-style-declaration -fno-stack-protector
>> -fno-strict-aliasing -fno-builtin  -marm -mcpu=cortex-a8 -O -g
>> -fno-omit-frame-pointer -fno-strict-aliasing -fpic -fno-builtin
>> -fno-ipa-icf -O2
>> -O2 -pipe -g -feliminate-unused-debug-types -c -o
>> vgpreload_memcheck_arm_linux_so-mc_replace_strmem.o `test -f
>> 'mc_replace_strmem.c' || echo
>> '../../valgrind-3.11.0/memcheck/'`mc_replace_strmem.c
>> | for f in ; do \
>> |   if [ ! -e $f.dSYM  -o  $f -nt $f.dSYM ] ; then \
>> |       echo "dsymutil $f"; \
>> |       dsymutil $f; \
>> |   fi; \
>> | done
>> | ../../valgrind-3.11.0/memcheck/mc_malloc_wrappers.c:1:0: warning:
>> switch
>> -mcpu=cortex-a8 conflicts with -march=armv5e switch
>> |
>> |  ^
>> | mkdir -p ../.in_place; \
>> | for f in ; do \
>> |   rm -f ../.in_place/$f.dSYM; \
>> |   ln -f -s ../memcheck/$f.dSYM ../.in_place; \
>> | done
>> | ../../valgrind-3.11.0/memcheck/mc_leakcheck.c:1:0: warning: switch
>> -mcpu=cortex-a8 conflicts with -march=armv5e switch
>> |
>> |  ^
>> | ../../valgrind-3.11.0/memcheck/mc_replace_strmem.c:1:0: warning: switch
>> -mcpu=cortex-a8 conflicts with -march=armv5e switch
>> |
>> |  ^
>> | ../../valgrind-3.11.0/memcheck/mc_errors.c:1:0: warning: switch
>> -mcpu=cortex-a8 conflicts with -march=armv5e switch
>> |
>> |  ^
>> | ../../valgrind-3.11.0/memcheck/mc_translate.c:1:0: warning: switch
>> -mcpu=cortex-a8 conflicts with -march=armv5e switch
>> |
>> |  ^
>> | ../../valgrind-3.11.0/memcheck/mc_machine.c:1:0: warning: switch
>> -mcpu=cortex-a8 conflicts with -march=armv5e switch
>> |
>> |  ^
>> | ../../valgrind-3.11.0/memcheck/mc_main.c:1:0: warning: switch
>> -mcpu=cortex-a8
>> conflicts with -march=armv5e switch
>> |  /* -*- mode: C; c-basic-offset: 3; -*- */
>> |  ^
>> | {standard input}: Assembler messages:
>> | {standard input}:25: Error: selected processor does not support ARM
>> mode `movw
>> r3,#:lower16:primary_map'
>> | {standard input}:28: Error: selected processor does not support ARM
>> mode `movt
>> r3,#:upper16:primary_map'
>> | {standard input}:30: Error: selected processor does not support ARM
>> mode `uxth
>> r1,r0'
>> | {standard input}:31: Error: selected processor does not support ARM
>> mode `movw
>> r3,#0xAAAA'
>> | {standard input}:40: Error: selected processor does not support ARM
>> mode `movw
>> r3,#0x5555'
>> | {standard input}:61: Error: selected processor does not support ARM
>> mode `movw
>> r3,#:lower16:primary_map'
>> | {standard input}:64: Error: selected processor does not support ARM
>> mode `movt
>> r3,#:upper16:primary_map'
>> | {standard input}:66: Error: selected processor does not support ARM
>> mode `uxth
>> r1,r0'
>> | {standard input}:94: Error: selected processor does not support ARM
>> mode `movw
>> r3,#:lower16:primary_map'
>> | {standard input}:95: Error: selected processor does not support ARM
>> mode `uxth
>> r1,r0'
>> | {standard input}:96: Error: selected processor does not support ARM
>> mode `movt
>> r3,#:upper16:primary_map'
>> | {standard input}:135: Error: selected processor does not support ARM
>> mode
>> `movw r3,#:lower16:primary_map'
>> | {standard input}:136: Error: selected processor does not support ARM
>> mode
>> `uxth r1,r0'
>> | {standard input}:137: Error: selected processor does not support ARM
>> mode
>> `movt r3,#:upper16:primary_map'
>>
>>
>>
>> 2: on qemuarma9
>>
>>
>> | 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/memcheck/tests
>>
>> -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    -O2 -pipe -g  -fno-omit-frame-pointer
>> -fvisibility=default -O0 -c -o sh-mem-random.o
>> /work/wr/buildarea/arm/bitbake_build/tmp/work/armv7a-vfp-wrs-linux-gnueabi/valgrind/3.11.0-r0/valgrind-3.11.0/memcheck/tests/sh-mem-random.c
>>
>>
>> | {standard input}: Assembler messages:
>> | {standard input}:1107: Error: selected processor does not support
>> ARM mode
>> `vld1.64 {d7},[r3]'
>> | {standard input}:1107: Error: selected processor does not support
>> ARM mode
>> `vst1.64 {d7},[r2]'
>> | Makefile:2467: recipe for target 'sh-mem-random.o' failed
>>
>>
>> and the codes are below:
>>
>> 194 #elif defined(__linux__) && defined(__arm__) && !defined(__aarch64__)
>> 195             /* On arm32, many compilers generate a 64-bit float move
>> 196                using two 32 bit integer registers, which completely
>> 197                defeats this test.  Hence force a 64-bit NEON load and
>> 198                store.  I guess this will break the build on non-NEON
>> 199                capable targets. */
>> 200             __asm__ __volatile__ (
>> 201                "vld1.64 {d7},[%0] ; vst1.64 {d7},[%1] "
>> 202                : : "r"(arr+src), "r"(arr+dst) : "d7","memory"
>> 203             );
>> 204 #else
>>
>>
>> -Roy
>

-- 
Best Reagrds,
Roy | RongQing Li


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [BUG REPORT] failed to build valgrind on qemuarm
  2016-01-19  7:50   ` Rongqing Li
@ 2016-01-19  8:05     ` Robert Yang
  0 siblings, 0 replies; 10+ messages in thread
From: Robert Yang @ 2016-01-19  8:05 UTC (permalink / raw)
  To: Rongqing Li, openembedded-core, armccurdy

Add Andre in the loop.

// Robert
On 01/19/2016 03:50 PM, Rongqing Li wrote:
>
>
> On 2016年01月19日 15:47, Robert Yang wrote:
>>
>> On 01/19/2016 03:27 PM, Rongqing Li wrote:
>>> 1. on qemuarm:
>>
>> There is a patch for this:
>> [OE-core] [PATCH] valgrind: make it explicit that valgrind supports
>> armv7a and above
>>
>> // Robert
>
> which armv7 BSP is tested?
>
> thanks
>
> -Roy
>
>
>>
>>>
>>> | arm-poky-linux-gnueabi-gcc  -march=armv5e -marm
>>> --sysroot=/buildarea1/lirq/Yocto/poky/arm/tmp/sysroots/qemuarm
>>> -DHAVE_CONFIG_H
>>> -I. -I../../valgrind-3.11.0/memcheck -I.. -I../../valgrind-3.11.0
>>> -I../../valgrind-3.11.0/include -I../../valgrind-3.11.0/VEX/pub
>>> -I../VEX/pub
>>> -DVGA_arm=1 -DVGO_linux=1 -DVGP_arm_linux=1
>>> -DVGPV_arm_linux_vanilla=1  -O2 -g
>>> -std=gnu99 -Wall -Wmissing-prototypes -Wshadow -Wpointer-arith
>>> -Wstrict-prototypes -Wmissing-declarations -Wcast-qual -Wwrite-strings
>>> -Wempty-body -Wformat -Wformat-security -Wignored-qualifiers
>>> -Wmissing-parameter-type -Wold-style-declaration -fno-stack-protector
>>> -fno-strict-aliasing -fno-builtin  -marm -mcpu=cortex-a8 -O -g
>>> -fno-omit-frame-pointer -fno-strict-aliasing -fpic -fno-builtin
>>> -fno-ipa-icf -O2
>>> -O2 -pipe -g -feliminate-unused-debug-types -c -o
>>> vgpreload_memcheck_arm_linux_so-mc_replace_strmem.o `test -f
>>> 'mc_replace_strmem.c' || echo
>>> '../../valgrind-3.11.0/memcheck/'`mc_replace_strmem.c
>>> | for f in ; do \
>>> |   if [ ! -e $f.dSYM  -o  $f -nt $f.dSYM ] ; then \
>>> |       echo "dsymutil $f"; \
>>> |       dsymutil $f; \
>>> |   fi; \
>>> | done
>>> | ../../valgrind-3.11.0/memcheck/mc_malloc_wrappers.c:1:0: warning:
>>> switch
>>> -mcpu=cortex-a8 conflicts with -march=armv5e switch
>>> |
>>> |  ^
>>> | mkdir -p ../.in_place; \
>>> | for f in ; do \
>>> |   rm -f ../.in_place/$f.dSYM; \
>>> |   ln -f -s ../memcheck/$f.dSYM ../.in_place; \
>>> | done
>>> | ../../valgrind-3.11.0/memcheck/mc_leakcheck.c:1:0: warning: switch
>>> -mcpu=cortex-a8 conflicts with -march=armv5e switch
>>> |
>>> |  ^
>>> | ../../valgrind-3.11.0/memcheck/mc_replace_strmem.c:1:0: warning: switch
>>> -mcpu=cortex-a8 conflicts with -march=armv5e switch
>>> |
>>> |  ^
>>> | ../../valgrind-3.11.0/memcheck/mc_errors.c:1:0: warning: switch
>>> -mcpu=cortex-a8 conflicts with -march=armv5e switch
>>> |
>>> |  ^
>>> | ../../valgrind-3.11.0/memcheck/mc_translate.c:1:0: warning: switch
>>> -mcpu=cortex-a8 conflicts with -march=armv5e switch
>>> |
>>> |  ^
>>> | ../../valgrind-3.11.0/memcheck/mc_machine.c:1:0: warning: switch
>>> -mcpu=cortex-a8 conflicts with -march=armv5e switch
>>> |
>>> |  ^
>>> | ../../valgrind-3.11.0/memcheck/mc_main.c:1:0: warning: switch
>>> -mcpu=cortex-a8
>>> conflicts with -march=armv5e switch
>>> |  /* -*- mode: C; c-basic-offset: 3; -*- */
>>> |  ^
>>> | {standard input}: Assembler messages:
>>> | {standard input}:25: Error: selected processor does not support ARM
>>> mode `movw
>>> r3,#:lower16:primary_map'
>>> | {standard input}:28: Error: selected processor does not support ARM
>>> mode `movt
>>> r3,#:upper16:primary_map'
>>> | {standard input}:30: Error: selected processor does not support ARM
>>> mode `uxth
>>> r1,r0'
>>> | {standard input}:31: Error: selected processor does not support ARM
>>> mode `movw
>>> r3,#0xAAAA'
>>> | {standard input}:40: Error: selected processor does not support ARM
>>> mode `movw
>>> r3,#0x5555'
>>> | {standard input}:61: Error: selected processor does not support ARM
>>> mode `movw
>>> r3,#:lower16:primary_map'
>>> | {standard input}:64: Error: selected processor does not support ARM
>>> mode `movt
>>> r3,#:upper16:primary_map'
>>> | {standard input}:66: Error: selected processor does not support ARM
>>> mode `uxth
>>> r1,r0'
>>> | {standard input}:94: Error: selected processor does not support ARM
>>> mode `movw
>>> r3,#:lower16:primary_map'
>>> | {standard input}:95: Error: selected processor does not support ARM
>>> mode `uxth
>>> r1,r0'
>>> | {standard input}:96: Error: selected processor does not support ARM
>>> mode `movt
>>> r3,#:upper16:primary_map'
>>> | {standard input}:135: Error: selected processor does not support ARM
>>> mode
>>> `movw r3,#:lower16:primary_map'
>>> | {standard input}:136: Error: selected processor does not support ARM
>>> mode
>>> `uxth r1,r0'
>>> | {standard input}:137: Error: selected processor does not support ARM
>>> mode
>>> `movt r3,#:upper16:primary_map'
>>>
>>>
>>>
>>> 2: on qemuarma9
>>>
>>>
>>> | 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/memcheck/tests
>>>
>>>
>>> -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    -O2 -pipe -g  -fno-omit-frame-pointer
>>> -fvisibility=default -O0 -c -o sh-mem-random.o
>>> /work/wr/buildarea/arm/bitbake_build/tmp/work/armv7a-vfp-wrs-linux-gnueabi/valgrind/3.11.0-r0/valgrind-3.11.0/memcheck/tests/sh-mem-random.c
>>>
>>>
>>>
>>> | {standard input}: Assembler messages:
>>> | {standard input}:1107: Error: selected processor does not support
>>> ARM mode
>>> `vld1.64 {d7},[r3]'
>>> | {standard input}:1107: Error: selected processor does not support
>>> ARM mode
>>> `vst1.64 {d7},[r2]'
>>> | Makefile:2467: recipe for target 'sh-mem-random.o' failed
>>>
>>>
>>> and the codes are below:
>>>
>>> 194 #elif defined(__linux__) && defined(__arm__) && !defined(__aarch64__)
>>> 195             /* On arm32, many compilers generate a 64-bit float move
>>> 196                using two 32 bit integer registers, which completely
>>> 197                defeats this test.  Hence force a 64-bit NEON load and
>>> 198                store.  I guess this will break the build on non-NEON
>>> 199                capable targets. */
>>> 200             __asm__ __volatile__ (
>>> 201                "vld1.64 {d7},[%0] ; vst1.64 {d7},[%1] "
>>> 202                : : "r"(arr+src), "r"(arr+dst) : "d7","memory"
>>> 203             );
>>> 204 #else
>>>
>>>
>>> -Roy
>>
>


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [BUG REPORT] failed to build valgrind on qemuarm
  2016-01-19  7:27 [BUG REPORT] failed to build valgrind on qemuarm Rongqing Li
  2016-01-19  7:47 ` Robert Yang
@ 2016-01-19 20:20 ` Andre McCurdy
  2016-01-20  1:17   ` Rongqing Li
  2016-01-19 21:00 ` Khem Raj
  2 siblings, 1 reply; 10+ messages in thread
From: Andre McCurdy @ 2016-01-19 20:20 UTC (permalink / raw)
  To: Rongqing Li; +Cc: OE Core mailing list

On Mon, Jan 18, 2016 at 11:27 PM, Rongqing Li <rongqing.li@windriver.com> wrote:
>
> 2: on qemuarma9
>

The problem seems to be that the machine doesn't support NEON and
Valgrind 3.11 includes a new test case which uses embedded NEON
instructions.

We do already disable a few tests which don't build for all ARM
machines (see "remove-arm-variant-specific.patch"), so maybe the
"sh-mem-random" test should be disabled as well. I'll take a look.

What DEFAULTTUNE does the qemuarma9 machine use?

>
> | 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/memcheck/tests
> -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    -O2 -pipe -g  -fno-omit-frame-pointer
> -fvisibility=default -O0 -c -o sh-mem-random.o
> /work/wr/buildarea/arm/bitbake_build/tmp/work/armv7a-vfp-wrs-linux-gnueabi/valgrind/3.11.0-r0/valgrind-3.11.0/memcheck/tests/sh-mem-random.c
> | {standard input}: Assembler messages:
> | {standard input}:1107: Error: selected processor does not support ARM mode
> `vld1.64 {d7},[r3]'
> | {standard input}:1107: Error: selected processor does not support ARM mode
> `vst1.64 {d7},[r2]'
> | Makefile:2467: recipe for target 'sh-mem-random.o' failed
>
>
> and the codes are below:
>
> 194 #elif defined(__linux__) && defined(__arm__) && !defined(__aarch64__)
> 195             /* On arm32, many compilers generate a 64-bit float move
> 196                using two 32 bit integer registers, which completely
> 197                defeats this test.  Hence force a 64-bit NEON load and
> 198                store.  I guess this will break the build on non-NEON
> 199                capable targets. */
> 200             __asm__ __volatile__ (
> 201                "vld1.64 {d7},[%0] ; vst1.64 {d7},[%1] "
> 202                : : "r"(arr+src), "r"(arr+dst) : "d7","memory"
> 203             );
> 204 #else
>
>
> -Roy
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [BUG REPORT] failed to build valgrind on qemuarm
  2016-01-19  7:27 [BUG REPORT] failed to build valgrind on qemuarm Rongqing Li
  2016-01-19  7:47 ` Robert Yang
  2016-01-19 20:20 ` Andre McCurdy
@ 2016-01-19 21:00 ` Khem Raj
  2016-01-19 21:38   ` Andre McCurdy
  2 siblings, 1 reply; 10+ messages in thread
From: Khem Raj @ 2016-01-19 21:00 UTC (permalink / raw)
  To: Rongqing Li; +Cc: openembedded-core

[-- Attachment #1: Type: text/plain, Size: 6610 bytes --]


> On Jan 18, 2016, at 11:27 PM, Rongqing Li <rongqing.li@windriver.com> wrote:
> 
> 1. on qemuarm:
> 
> | arm-poky-linux-gnueabi-gcc  -march=armv5e -marm --sysroot=/buildarea1/lirq/Yocto/poky/arm/tmp/sysroots/qemuarm -DHAVE_CONFIG_H -I. -I../../valgrind-3.11.0/memcheck -I.. -I../../valgrind-3.11.0 -I../../valgrind-3.11.0/include -I../../valgrind-3.11.0/VEX/pub -I../VEX/pub -DVGA_arm=1 -DVGO_linux=1 -DVGP_arm_linux=1 -DVGPV_arm_linux_vanilla=1  -O2 -g -std=gnu99 -Wall -Wmissing-prototypes -Wshadow -Wpointer-arith -Wstrict-prototypes -Wmissing-declarations -Wcast-qual -Wwrite-strings -Wempty-body -Wformat -Wformat-security -Wignored-qualifiers -Wmissing-parameter-type -Wold-style-declaration -fno-stack-protector -fno-strict-aliasing -fno-builtin  -marm -mcpu=cortex-a8 -O -g -fno-omit-frame-pointer -fno-strict-aliasing -fpic -fno-builtin -fno-ipa-icf -O2 -O2 -pipe -g -feliminate-unused-debug-types -c -o vgpreload_memcheck_arm_linux_so-mc_replace_strmem.o `test -f 'mc_replace_strmem.c' || echo '../../valgrind-3.11.0/memcheck/'`mc_replace_strmem.c
> | for f in ; do \
> |   if [ ! -e $f.dSYM  -o  $f -nt $f.dSYM ] ; then \
> |       echo "dsymutil $f"; \
> |       dsymutil $f; \
> |   fi; \
> | done
> | ../../valgrind-3.11.0/memcheck/mc_malloc_wrappers.c:1:0: warning: switch -mcpu=cortex-a8 conflicts with -march=armv5e switch
> |
> |  ^
> | mkdir -p ../.in_place; \
> | for f in ; do \
> |   rm -f ../.in_place/$f.dSYM; \
> |   ln -f -s ../memcheck/$f.dSYM ../.in_place; \
> | done
> | ../../valgrind-3.11.0/memcheck/mc_leakcheck.c:1:0: warning: switch -mcpu=cortex-a8 conflicts with -march=armv5e switch
> |
> |  ^
> | ../../valgrind-3.11.0/memcheck/mc_replace_strmem.c:1:0: warning: switch -mcpu=cortex-a8 conflicts with -march=armv5e switch
> |
> |  ^
> | ../../valgrind-3.11.0/memcheck/mc_errors.c:1:0: warning: switch -mcpu=cortex-a8 conflicts with -march=armv5e switch
> |
> |  ^
> | ../../valgrind-3.11.0/memcheck/mc_translate.c:1:0: warning: switch -mcpu=cortex-a8 conflicts with -march=armv5e switch
> |
> |  ^
> | ../../valgrind-3.11.0/memcheck/mc_machine.c:1:0: warning: switch -mcpu=cortex-a8 conflicts with -march=armv5e switch
> |
> |  ^
> | ../../valgrind-3.11.0/memcheck/mc_main.c:1:0: warning: switch -mcpu=cortex-a8 conflicts with -march=armv5e switch
> |  /* -*- mode: C; c-basic-offset: 3; -*- */
> |  ^
> | {standard input}: Assembler messages:
> | {standard input}:25: Error: selected processor does not support ARM mode `movw r3,#:lower16:primary_map'
> | {standard input}:28: Error: selected processor does not support ARM mode `movt r3,#:upper16:primary_map'
> | {standard input}:30: Error: selected processor does not support ARM mode `uxth r1,r0'
> | {standard input}:31: Error: selected processor does not support ARM mode `movw r3,#0xAAAA'
> | {standard input}:40: Error: selected processor does not support ARM mode `movw r3,#0x5555'
> | {standard input}:61: Error: selected processor does not support ARM mode `movw r3,#:lower16:primary_map'
> | {standard input}:64: Error: selected processor does not support ARM mode `movt r3,#:upper16:primary_map'
> | {standard input}:66: Error: selected processor does not support ARM mode `uxth r1,r0'
> | {standard input}:94: Error: selected processor does not support ARM mode `movw r3,#:lower16:primary_map'
> | {standard input}:95: Error: selected processor does not support ARM mode `uxth r1,r0'
> | {standard input}:96: Error: selected processor does not support ARM mode `movt r3,#:upper16:primary_map'
> | {standard input}:135: Error: selected processor does not support ARM mode `movw r3,#:lower16:primary_map'
> | {standard input}:136: Error: selected processor does not support ARM mode `uxth r1,r0'
> | {standard input}:137: Error: selected processor does not support ARM mode `movt r3,#:upper16:primary_map'
> 
> 
> 
> 2: on qemuarma9
> 
> 
> | 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/memcheck/tests -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    -O2 -pipe -g  -fno-omit-frame-pointer -fvisibility=default -O0 -c -o sh-mem-random.o /work/wr/buildarea/arm/bitbake_build/tmp/work/armv7a-vfp-wrs-linux-gnueabi/valgrind/3.11.0-r0/valgrind-3.11.0/memcheck/tests/sh-mem-random.c
> | {standard input}: Assembler messages:
> | {standard input}:1107: Error: selected processor does not support ARM mode `vld1.64 {d7},[r3]'
> | {standard input}:1107: Error: selected processor does not support ARM mode `vst1.64 {d7},[r2]'
> | Makefile:2467: recipe for target 'sh-mem-random.o’ failed


So you disable neon but do not choose a particular implementation which allows so. e.g. you should have -mtune=cortex-a9 which allows neon to be optional
but thats probably just the semantic thing. Below code should check for __ARM_NEON__ internal define being set as well before resorting to use neon instructions.

> 
> 
> and the codes are below:
> 
> 194 #elif defined(__linux__) && defined(__arm__) && !defined(__aarch64__)
> 195             /* On arm32, many compilers generate a 64-bit float move
> 196                using two 32 bit integer registers, which completely
> 197                defeats this test.  Hence force a 64-bit NEON load and
> 198                store.  I guess this will break the build on non-NEON
> 199                capable targets. */
> 200             __asm__ __volatile__ (
> 201                "vld1.64 {d7},[%0] ; vst1.64 {d7},[%1] "
> 202                : : "r"(arr+src), "r"(arr+dst) : "d7","memory"
> 203             );
> 204 #else
> 
> 
> -Roy
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core


[-- Attachment #2: Message signed with OpenPGP using GPGMail --]
[-- Type: application/pgp-signature, Size: 211 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [BUG REPORT] failed to build valgrind on qemuarm
  2016-01-19 21:00 ` Khem Raj
@ 2016-01-19 21:38   ` Andre McCurdy
  2016-01-19 23:23     ` Khem Raj
  0 siblings, 1 reply; 10+ messages in thread
From: Andre McCurdy @ 2016-01-19 21:38 UTC (permalink / raw)
  To: Khem Raj; +Cc: OE Core mailing list

On Tue, Jan 19, 2016 at 1:00 PM, Khem Raj <raj.khem@gmail.com> wrote:
>
>> On Jan 18, 2016, at 11:27 PM, Rongqing Li <rongqing.li@windriver.com> wrote:
>>
>> 2: on qemuarma9
>>
>> | 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/memcheck/tests -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    -O2 -pipe -g  -fno-omit-frame-pointer -fvisibility=default -O0 -c -o sh-mem-random.o /work/wr/buildarea/arm/bitbake_build/tmp/work/armv7a-vfp-wrs-linux-gnueabi/valgrind/3.11.0-r0/valgrind-3.11.0/memcheck/tests/sh-mem-random.c
>> | {standard input}: Assembler messages:
>> | {standard input}:1107: Error: selected processor does not support ARM mode `vld1.64 {d7},[r3]'
>> | {standard input}:1107: Error: selected processor does not support ARM mode `vst1.64 {d7},[r2]'
>> | Makefile:2467: recipe for target 'sh-mem-random.o’ failed
>
>
> So you disable neon but do not choose a particular implementation which allows so. e.g. you should have -mtune=cortex-a9 which allows neon to be optional
> but thats probably just the semantic thing. Below code should check for __ARM_NEON__ internal define being set as well before resorting to use neon instructions.

It's a test app which is failing, so I think we have 3 solutions:

1) Disable tests which don't build for all supported targets (the
traditional OE approach). See:

  http://git.openembedded.org/openembedded-core/tree/meta/recipes-devtools/valgrind/valgrind/remove-arm-variant-specific.patch

2) Tweak CFLAGS so that the test always compiles but fails at run-time
on non-neon targets.

3) Tweak test code so that it avoids NEON instructions on non-neon
targets (risk then is that the run-time test will appear to pass on
non-neon targets when it should actually fail).


Any preference?


>>
>> and the codes are below:
>>
>> 194 #elif defined(__linux__) && defined(__arm__) && !defined(__aarch64__)
>> 195             /* On arm32, many compilers generate a 64-bit float move
>> 196                using two 32 bit integer registers, which completely
>> 197                defeats this test.  Hence force a 64-bit NEON load and
>> 198                store.  I guess this will break the build on non-NEON
>> 199                capable targets. */
>> 200             __asm__ __volatile__ (
>> 201                "vld1.64 {d7},[%0] ; vst1.64 {d7},[%1] "
>> 202                : : "r"(arr+src), "r"(arr+dst) : "d7","memory"
>> 203             );
>> 204 #else
>>
>>
>> -Roy
>> --
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core@lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [BUG REPORT] failed to build valgrind on qemuarm
  2016-01-19 21:38   ` Andre McCurdy
@ 2016-01-19 23:23     ` Khem Raj
  2016-01-20  1:45       ` Andre McCurdy
  0 siblings, 1 reply; 10+ messages in thread
From: Khem Raj @ 2016-01-19 23:23 UTC (permalink / raw)
  To: Andre McCurdy; +Cc: OE Core mailing list

[-- Attachment #1: Type: text/plain, Size: 2764 bytes --]


> On Jan 19, 2016, at 1:38 PM, Andre McCurdy <armccurdy@gmail.com> wrote:
> 
> On Tue, Jan 19, 2016 at 1:00 PM, Khem Raj <raj.khem@gmail.com> wrote:
>> 
>>> On Jan 18, 2016, at 11:27 PM, Rongqing Li <rongqing.li@windriver.com> wrote:
>>> 
>>> 2: on qemuarma9
>>> 
>>> | 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/memcheck/tests -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    -O2 -pipe -g  -fno-omit-frame-pointer -fvisibility=default -O0 -c -o sh-mem-random.o /work/wr/buildarea/arm/bitbake_build/tmp/work/armv7a-vfp-wrs-linux-gnueabi/valgrind/3.11.0-r0/valgrind-3.11.0/memcheck/tests/sh-mem-random.c
>>> | {standard input}: Assembler messages:
>>> | {standard input}:1107: Error: selected processor does not support ARM mode `vld1.64 {d7},[r3]'
>>> | {standard input}:1107: Error: selected processor does not support ARM mode `vst1.64 {d7},[r2]'
>>> | Makefile:2467: recipe for target 'sh-mem-random.o’ failed
>> 
>> 
>> So you disable neon but do not choose a particular implementation which allows so. e.g. you should have -mtune=cortex-a9 which allows neon to be optional
>> but thats probably just the semantic thing. Below code should check for __ARM_NEON__ internal define being set as well before resorting to use neon instructions.
> 
> It's a test app which is failing, so I think we have 3 solutions:
> 
> 1) Disable tests which don't build for all supported targets (the
> traditional OE approach). See:
> 
>  http://git.openembedded.org/openembedded-core/tree/meta/recipes-devtools/valgrind/valgrind/remove-arm-variant-specific.patch
> 
> 2) Tweak CFLAGS so that the test always compiles but fails at run-time
> on non-neon targets.
> 
> 3) Tweak test code so that it avoids NEON instructions on non-neon
> targets (risk then is that the run-time test will appear to pass on
> non-neon targets when it should actually fail).
> 
> 
> Any preference?

option 3


[-- Attachment #2: Message signed with OpenPGP using GPGMail --]
[-- Type: application/pgp-signature, Size: 211 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [BUG REPORT] failed to build valgrind on qemuarm
  2016-01-19 20:20 ` Andre McCurdy
@ 2016-01-20  1:17   ` Rongqing Li
  0 siblings, 0 replies; 10+ messages in thread
From: Rongqing Li @ 2016-01-20  1:17 UTC (permalink / raw)
  To: Andre McCurdy; +Cc: OE Core mailing list



On 2016年01月20日 04:20, Andre McCurdy wrote:
> On Mon, Jan 18, 2016 at 11:27 PM, Rongqing Li <rongqing.li@windriver.com> wrote:
>>
>> 2: on qemuarma9
>>
>
> The problem seems to be that the machine doesn't support NEON and
> Valgrind 3.11 includes a new test case which uses embedded NEON
> instructions.
>
> We do already disable a few tests which don't build for all ARM
> machines (see "remove-arm-variant-specific.patch"), so maybe the
> "sh-mem-random" test should be disabled as well. I'll take a look.
>
> What DEFAULTTUNE does the qemuarma9 machine use?
>

DEFAULTTUNE="armv7at"

thanks

-Roy

>>
>> | 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/memcheck/tests
>> -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    -O2 -pipe -g  -fno-omit-frame-pointer
>> -fvisibility=default -O0 -c -o sh-mem-random.o
>> /work/wr/buildarea/arm/bitbake_build/tmp/work/armv7a-vfp-wrs-linux-gnueabi/valgrind/3.11.0-r0/valgrind-3.11.0/memcheck/tests/sh-mem-random.c
>> | {standard input}: Assembler messages:
>> | {standard input}:1107: Error: selected processor does not support ARM mode
>> `vld1.64 {d7},[r3]'
>> | {standard input}:1107: Error: selected processor does not support ARM mode
>> `vst1.64 {d7},[r2]'
>> | Makefile:2467: recipe for target 'sh-mem-random.o' failed
>>
>>
>> and the codes are below:
>>
>> 194 #elif defined(__linux__) && defined(__arm__) && !defined(__aarch64__)
>> 195             /* On arm32, many compilers generate a 64-bit float move
>> 196                using two 32 bit integer registers, which completely
>> 197                defeats this test.  Hence force a 64-bit NEON load and
>> 198                store.  I guess this will break the build on non-NEON
>> 199                capable targets. */
>> 200             __asm__ __volatile__ (
>> 201                "vld1.64 {d7},[%0] ; vst1.64 {d7},[%1] "
>> 202                : : "r"(arr+src), "r"(arr+dst) : "d7","memory"
>> 203             );
>> 204 #else
>>
>>
>> -Roy
>> --
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core@lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>

-- 
Best Reagrds,
Roy | RongQing Li


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [BUG REPORT] failed to build valgrind on qemuarm
  2016-01-19 23:23     ` Khem Raj
@ 2016-01-20  1:45       ` Andre McCurdy
  0 siblings, 0 replies; 10+ messages in thread
From: Andre McCurdy @ 2016-01-20  1:45 UTC (permalink / raw)
  To: Khem Raj; +Cc: OE Core mailing list

On Tue, Jan 19, 2016 at 3:23 PM, Khem Raj <raj.khem@gmail.com> wrote:
>
>> On Jan 19, 2016, at 1:38 PM, Andre McCurdy <armccurdy@gmail.com> wrote:
>>
>> On Tue, Jan 19, 2016 at 1:00 PM, Khem Raj <raj.khem@gmail.com> wrote:
>>>
>>>> On Jan 18, 2016, at 11:27 PM, Rongqing Li <rongqing.li@windriver.com> wrote:
>>>>
>>>> 2: on qemuarma9
>>>>
>>>> | 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/memcheck/tests -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    -O2 -pipe -g  -fno-omit-frame-pointer -fvisibility=default -O0 -c -o sh-mem-random.o /work/wr/buildarea/arm/bitbake_build/tmp/work/armv7a-vfp-wrs-linux-gnueabi/valgrind/3.11.0-r0/valgrind-3.11.0/memcheck/tests/sh-mem-random.c
>>>> | {standard input}: Assembler messages:
>>>> | {standard input}:1107: Error: selected processor does not support ARM mode `vld1.64 {d7},[r3]'
>>>> | {standard input}:1107: Error: selected processor does not support ARM mode `vst1.64 {d7},[r2]'
>>>> | Makefile:2467: recipe for target 'sh-mem-random.o’ failed
>>>
>>>
>>> So you disable neon but do not choose a particular implementation which allows so. e.g. you should have -mtune=cortex-a9 which allows neon to be optional
>>> but thats probably just the semantic thing. Below code should check for __ARM_NEON__ internal define being set as well before resorting to use neon instructions.
>>
>> It's a test app which is failing, so I think we have 3 solutions:
>>
>> 1) Disable tests which don't build for all supported targets (the
>> traditional OE approach). See:
>>
>>  http://git.openembedded.org/openembedded-core/tree/meta/recipes-devtools/valgrind/valgrind/remove-arm-variant-specific.patch
>>
>> 2) Tweak CFLAGS so that the test always compiles but fails at run-time
>> on non-neon targets.
>>
>> 3) Tweak test code so that it avoids NEON instructions on non-neon
>> targets (risk then is that the run-time test will appear to pass on
>> non-neon targets when it should actually fail).
>>
>> Any preference?
>
> option 3
>

Yes, I think that's right in this case. The sh-mem-random.c test isn't
really about testing neon, so falling back to C for non-neon targets
seems correct.

Patch sent.


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2016-01-20  1:45 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-01-19  7:27 [BUG REPORT] failed to build valgrind on qemuarm Rongqing Li
2016-01-19  7:47 ` Robert Yang
2016-01-19  7:50   ` Rongqing Li
2016-01-19  8:05     ` Robert Yang
2016-01-19 20:20 ` Andre McCurdy
2016-01-20  1:17   ` Rongqing Li
2016-01-19 21:00 ` Khem Raj
2016-01-19 21:38   ` Andre McCurdy
2016-01-19 23:23     ` Khem Raj
2016-01-20  1:45       ` Andre McCurdy

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.