使用yocto的softfp工具链配置

使用yocto的softfp工具链配置,yocto,gcc4.8,Yocto,Gcc4.8,我已经使用yocto为IMX6 Sabersd构建了图像,如下所示 #curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo #repo init -u git://git.freescale.com/imx/fsl-arm-yocto-bsp.git -b imx-3.10.53-1.1.0_ga #repo sync #source setup-environment build

我已经使用yocto为IMX6 Sabersd构建了图像,如下所示

#curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
#repo init -u git://git.freescale.com/imx/fsl-arm-yocto-bsp.git -b imx-3.10.53-1.1.0_ga
#repo sync
#source setup-environment build
#bitbake core-image-minimal
在构建期间,它将获得用于IMX6的gcc-4.8源代码和编译工具chian。toochain使用的是硬浮点(使用“/arm poky linux gnueabi gcc-v”检查,输出为“--float with=hard”),我的要求是工具链必须使用softfp

这背后的原因是我使用的是第三方预构建库,它们与hardfp不兼容。因此,在编译期间,我得到如下所示的错误

ld: error: *Executable* uses VFP register arguments,  *Library* does not
ld: failed to merge target specific data of file *Library*
您能帮助我如何更改yocto中的配置以使用softfp编译工具链吗


我找不到yocto freescale使用的是哪个版本,但我可以在“poky/meta/recipes devtools/gcc/”下看到gcc-4.8的副本,因为我不知道您使用的是什么核心处理器

要修改的文件应位于
poky/meta/conf/machine/include/

您还可以在
conf/local.conf
中添加类似的内容来覆盖:


TARGET\u CC\u ARCH=“-march=armv7-mfpu=vfp-mfloat abi=softfp”

感谢您的回复。我试图在local.conf中添加“TARGET_CC_ARCH”,但失败了,错误为“”,在检查配置日志时,观察到autoconf错误“”。请您在这方面提供帮助。尝试删除
/build/tmp
通过在“TARGET\u CC\u ARCH”中使用“-march=armv7a”修复的编译问题来清理整个构建。IMX6 Sabersd板基于Cortex-A9,在开始时没有更新。Cortex-A9似乎在使用armv7a。通过使用“-march=armv7a”使用yocto构建是成功的,但在使用此工具链进行编译时,它给出了错误“sysroot/imx6qsabred/usr/include/gnu/stubs.h:10:29:致命错误:gnu/stubs hard.h:没有这样的文件或目录”。使用“cortexa9 neon”而不是“cortexa9hf neon”表示“DEFAULTTUNE_mx6”在“meta fsl arm”层(conf/machine/include/imx base.inc)中,编译了工具链,并且没有观察到此工具链链接问题。