0

首先,我不知道这是否属于这里,但我需要你的帮助编码员同事!我正在尝试使用提供的 Raspberry Pi 配置使用 buildroot 构建我自己的 linux 剥离系统。虽然,我面临一个问题,但当“make all”过程达到它应该构建 rpi-userland 的阶段时,会发生一个奇怪的错误。

我有奇怪的编译错误告诉我 LD 在链接时遇到错误,因为:先前编译的目标文件使用 VFP 寄存器参数。据我所知,出现这个错误是因为softfp和hardfp冲突,但是,在查看构建参数后,我无法确定问题的根源。

我的主机配置是 i686 Ubuntu PC,我的目标,如上所示,是著名的树莓派,所以显然我在做交叉编译。这是事情发生的地方:

Building C object
CMakeFiles/cmTryCompileExec306248226.dir/testCCompiler.c.o

/home/robbyos/buildroot-2013.05/output/host/usr/bin/arm-buildroot-linux-uclibcgnueabi-gcc
-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -pipe
-mfloat-abi=hard -mfpu=vfp -Os -o
CMakeFiles/cmTryCompileExec306248226.dir/testCCompiler.c.o -c
/home/robbyos/buildroot-2013.05/output/build/rpi-userland-5e9a740a88a889dfc8a18bb1b00c17e5dd9d0108/CMakeFiles/CMakeTmp/testCCompiler.c

Linking C executable cmTryCompileExec306248226

/home/robbyos/buildroot-2013.05/output/host/usr/bin/cmake -E
cmake_link_script CMakeFiles/cmTryCompileExec306248226.dir/link.txt
--verbose=1

/home/robbyos/buildroot-2013.05/output/host/usr/bin/arm-buildroot-linux-uclibcgnueabi-gcc
-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -pipe
-mfloat-abi=hard -mfpu=vfp -Os
CMakeFiles/cmTryCompileExec306248226.dir/testCCompiler.c.o -o
cmTryCompileExec306248226 -rdynamic


/home/robbyos/buildroot-2013.05/output/host/usr/lib/gcc/arm-buildroot-linux-uclibcgnueabi/4.7.3/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld:
error: CMakeFiles/cmTryCompileExec306248226.dir/testCCompiler.c.o uses VFP
register arguments, cmTryCompileExec306248226 does not

如您所见,编译器和链接器都使用“-mfloat-abi=hard -mfpi=vfp”标志,因此我不明白为什么会出现这些错误。我希望有人可以帮助我解决这个问题!

提前致谢 !

4

1 回答 1

0

请将此问题报告给 Buildroot 邮件列表,包括重现它所需的所有详细信息:Buildroot 版本、Buildroot 配置等。

于 2013-07-31T09:20:10.227 回答