Yocto dizzy version 1.7.1 cross compiling meta-toolchain BROKEN for weeks now!

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

Yocto dizzy version 1.7.1 cross compiling meta-toolchain BROKEN for weeks now!

跳至解决方案
12,176 次查看
AdCmo
Contributor III

All,

We have been observing this bug for many weeks now, hoping the dizzy build will be updated to fix this. It looks l

ike it is not getting any attention. Please help!

Any quick solution while waiting for a git repository fix?

There is a problem with this “dizzy” toolchain. though the meta-toolchain environment.

It shows that this wandboard-dual uses hard-float VFP,

it looks like soft float is used somewhere and __ARM_PCS_VFP is not defined.


Here is the version of gcc set up by the environment above:


+++++++++++++++++++++++++++++++++OUTPUT+++++++++++++++++++++++++++++++++++++

aseema@en4078926linux:~/myyocto/fsl-community-bsp/build/tmp/sysroots/wandboard-dual/home/xuser$ arm-poky-linux-gnueabi-gcc -v

Using built-in specs.

COLLECT_GCC=arm-poky-linux-gnueabi-gcc

COLLECT_LTO_WRAPPER=/opt/poky/1.7.1/sysroots/x86_64-pokysdk-linux/usr/libexec/arm-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.9.1/lto-wrapper

Target: arm-poky-linux-gnueabi

Configured with: /home/aseema/myyocto/fsl-community-bsp/build/tmp/work-shared/gcc-4.9.1-r0/gcc-4.9.1/configure --build=x86_64-linux --host=x86_64-pokysdk-linux --target=arm-poky-linux-gnueabi --prefix=/opt/poky/1.7.1/sysroots/x86_64-pokysdk-linux/usr --exec_prefix=/opt/poky/1.7.1/sysroots/x86_64-pokysdk-linux/usr --bindir=/opt/poky/1.7.1/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi --sbindir=/opt/poky/1.7.1/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi --libexecdir=/opt/poky/1.7.1/sysroots/x86_64-pokysdk-linux/usr/libexec/arm-poky-linux-gnueabi --datadir=/opt/poky/1.7.1/sysroots/x86_64-pokysdk-linux/usr/share --sysconfdir=/opt/poky/1.7.1/sysroots/x86_64-pokysdk-linux/etc --sharedstatedir=/opt/poky/1.7.1/sysroots/x86_64-pokysdk-linux/com --localstatedir=/opt/poky/1.7.1/sysroots/x86_64-pokysdk-linux/var --libdir=/opt/poky/1.7.1/sysroots/x86_64-pokysdk-linux/usr/lib/arm-poky-linux-gnueabi --includedir=/opt/poky/1.7.1/sysroots/x86_64-pokysdk-linux/usr/include --oldincludedir=/opt/poky/1.7.1/sysroots/x86_64-pokysdk-linux/usr/include --infodir=/opt/poky/1.7.1/sysroots/x86_64-pokysdk-linux/usr/share/info --mandir=/opt/poky/1.7.1/sysroots/x86_64-pokysdk-linux/usr/share/man --disable-silent-rules --disable-dependency-tracking --with-libtool-sysroot=/home/aseema/myyocto/fsl-community-bsp/build/tmp/sysroots/x86_64-nativesdk-pokysdk-linux --with-gnu-ld --enable-shared --enable-languages=c,c++ --enable-threads=posix --enable-multilib --enable-c99 --enable-long-long --enable-symvers=gnu --enable-libstdcxx-pch --program-prefix=arm-poky-linux-gnueabi- --without-local-prefix --enable-target-optspace --enable-lto --enable-libssp --disable-bootstrap --disable-libmudflap --with-system-zlib --with-linker-hash-style=gnu --enable-linker-build-id --with-ppl=no --with-cloog=no --enable-checking=release --enable-cheaders=c_global --with-gxx-include-dir=/opt/poky/1.7.1/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/usr/include/c++/4.9.1 --with-build-time-tools=/home/aseema/myyocto/fsl-community-bsp/build/tmp/sysroots/x86_64-linux/usr/arm-poky-linux-gnueabi/bin --with-sysroot=/opt/poky/1.7.1/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi --with-build-sysroot=/home/aseema/myyocto/fsl-community-bsp/build/tmp/sysroots/wandboard-dual --enable-poison-system-directories --with-mpfr=/home/aseema/myyocto/fsl-community-bsp/build/tmp/sysroots/x86_64-nativesdk-pokysdk-linux --with-mpc=/home/aseema/myyocto/fsl-community-bsp/build/tmp/sysroots/x86_64-nativesdk-pokysdk-linux --enable-nls --with-arch=armv7-a

Thread model: posix

gcc version 4.9.1 (GCC)

aseema@en4078926linux:~/myyocto/fsl-community-bsp/build/tmp/sysroots/wandboard-dual/home/xuser$

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


Now trying to compile the simple “Hello World!” above I get:


+++++++++++++++++++++++++++++++++OUTPUT+++++++++++++++++++++++++++++++++++++

aseema@en4078926linux:~/myyocto/fsl-community-bsp/build/tmp/sysroots/wandboard-dual/home/xuser$ ls -l

total 4

-rw-rw-r-- 1 aseema aseema 80 Mar 30 22:36 hello_arm_world.c

aseema@en4078926linux:~/myyocto/fsl-community-bsp/build/tmp/sysroots/wandboard-dual/home/xuser$ arm-poky-linux-gnueabi-gcc hello_arm_world.c

In file included from /opt/poky/1.7.1/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/usr/include/features.h:389:0,

                 from /opt/poky/1.7.1/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/usr/include/stdio.h:27,

                 from hello_arm_world.c:1:

/opt/poky/1.7.1/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/usr/include/gnu/stubs.h:7:29: fatal error: gnu/stubs-soft.h: No such file or directory

# include <gnu/stubs-soft.h>

                             ^

compilation terminated.

aseema@en4078926linux:~/myyocto/fsl-community-bsp/build/tmp/sysroots/wandboard-dual/home/xuser$

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


If you go to , you will notice that it is checking for “#if !defined __ARM_PCS_VFP”.

This somehow is not defined.

Even when I try to hack it by putting “#define  __ARM_PCS_VFP 1” at the top of my , I get the linker error below, which implies intermediate files were built with __ARM_PCS_VFP not defined.


+++++++++++++++++++++++++++++++++OUTPUT+++++++++++++++++++++++++++++++++++++

aseema@en4078926linux:~/myyocto/fsl-community-bsp/build/tmp/sysroots/wandboard-dual/home/xuser$ arm-poky-linux-gnueabi-gcc hello_arm_world.c

/opt/poky/1.7.1/sysroots/x86_64-pokysdk-linux/usr/libexec/arm-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.9.1/ld: error: a.out uses VFP register arguments, /tmp/ccKo5YRb.o does not

/opt/poky/1.7.1/sysroots/x86_64-pokysdk-linux/usr/libexec/arm-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.9.1/ld: failed to merge target specific data of file /tmp/ccKo5YRb.o

collect2: error: ld returned 1 exit status

aseema@en4078926linux:~/myyocto/fsl-community-bsp/build/tmp/sysroots/wandboard-dual/home/xuser$

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


We have been observing this bug for many weeks now, hoping the dizzy build will be updated to fix this. It looks like it is not getting any attention. Please help!

Any quick solution while waiting for a git repository fix?

Full step by step document to reproduce this here.
+++++++++++++++++END OF DOCUMENT++++++++++++++++

Thanks,

Ad.

.........................

标签 (3)
0 项奖励
1 解答
1,880 次查看
AdCmo
Contributor III

Found out from Matt that I overlooked the fact that the $CC variable

contains the complete cross compiler command plus all the hard float options.

So, invoking the cross compiler like below should be enough.

$CC hello_arm_world.c

The bottom of this document is updated to show correct commands and output.


Ad.

.......................

在原帖中查看解决方案

0 项奖励
1 回复
1,881 次查看
AdCmo
Contributor III

Found out from Matt that I overlooked the fact that the $CC variable

contains the complete cross compiler command plus all the hard float options.

So, invoking the cross compiler like below should be enough.

$CC hello_arm_world.c

The bottom of this document is updated to show correct commands and output.


Ad.

.......................

0 项奖励