交叉编译中target的定义是什么

时间:2016-05-12 01:17:06

标签: linux gcc arm cross-compiling arm64

我知道“目标”是二进制文件所在的机器。

但是因为手臂有很多芯片,所以gcc中有一个-march选项。

今天,有Aarch64和Aarch64工具链。 Gcc没有做出像-march = Aarch64

这样的新选项

当我找到这个帖子(https://gcc.gnu.org/ml/gcc-help/2014-10/msg00143.html)时,我变得更加困惑。

目标定义是什么?为什么gcc没有使用arm-none-linux-eabi -march = Aarch64但是制作了Aarch64-none-linux-eabi?

1 个答案:

答案 0 :(得分:1)

当核心处于AArch64状态时使用的A64指令集不是现有A32 / T32指令集的扩展,而是一个全新的指令集。因此,虽然从技术上讲,可能已经将AArch32和AArch64指令集填充到相同的gcc编译器二进制文件中,但gcc开发人员认为这不值得。

可能还会看到this answer了解更多详情。