如何以及何时在AArch64上使用-mbig-endian gcc选项?

时间:2019-04-30 09:02:56

标签: gcc arm64

我试图在AArch64(具有小尾数字节顺序配置的Raspberry Pi 3 Model B)上使用-mbig-endian gcc选项,目的是按大尾数字节顺序读取和写入内存。我收到以下错误,编译终止。

/usr/include/gnu/stubs.h:11:11: fatal error: gnu/stubs-lp64_be.h: No such file or directory `#include <gnu/stubs-lp64_be.h>`

我实际上去了那个文件夹,但是找不到那个文件。我想念什么吗?

gcc在线文档说-mbig-endian选项生成big-endian代码。到底是什么意思?

1 个答案:

答案 0 :(得分:0)

您什么都没有丢失,但是似乎ARM提供的gcc工具链甚至都不允许将-mbig-endianaarch64-linux-gnu-gcc一起使用,也不允许-mlittle-endianaarch64_be-linux-gnu-gcc一起使用:两种情况下,都将丢失与“异形”性有关的.h文件。

这可能意味着您应该只使用aarch64_be-linux-gnu-gcc交叉编译big-endian aarch64 Linux可执行文件。但是您仍然不能在低端aarch64 Linux系统上运行这些可执行文件。