【发布时间】:2020-07-23 13:53:45
【问题描述】:
我想从源代码构建 GCC 作为 ARM 裸机目标的交叉编译器。具体来说,我需要对架构 armv4t 和 armv5te 以及 softfp 的支持,因为它们缺乏适当的 FPU。
我使用的(相关)标志是
--with-cpu=arm946e-s --with-mode=arm --with-float=soft --enable-interwork --enable-multilib --with-multilib-list=armv4t,armv5te
通过这种方式,我试图通过--with-cpu 选项实现编译器默认为armv5te,并且仍然保持为armv4t 构建的机会。
Binutils 构建工作正常,但是在构建 gcc 的子目录 gcc 时,multilib 检查失败:
For arm946e-s real value is arm946e-s
Error: --with-multilib-list=armv4t,armv5te not supported.
make: *** [Makefile:4356: configure-gcc] Error 1
我查看了如何启用armv5te 支持,因为armv4t 和arm7tdmi 似乎是默认的multilib 目标,但没有找到任何结果。似乎甚至没有有效的 multilib 目标的正确列表。删除多库列表生成了 armv4t 和 armv7-a 多库的构建,我不需要支持。
如何使用softfp 成功构建两个目标?
【问题讨论】:
-
gcc.gnu.org/install/configure.html
--with-multilib-list=只需要rmprofile或/和aprofile,没有别的 -
armv5te不是皮质系列架构,所以这两个配置文件都不能解决问题