我想在我的mac上组装Aarch64 armv8程序集,并最终在qemu上运行它,也许以后在一个真正的设备上运行,比如raspberry pi 2或4。我不知道如何组装我将要编写的代码,gcc、llvm和clang似乎不支持-arch=armv8标志或类似的东西。所以我不能为目标架构构建,我如何才能做到这一点?
我在运行mac 10.14.5。我也不介意在最近的ubuntu版本上找到一个解决方案,因为我有一个用于linux开发的VM。
发布于 2019-07-28 22:53:40
Xcode附带的clang版本支持-arch arm64。(或32位的armv7。)
注意,如果您想使用任何库,那么它们也必须是arm64。如果需要,您可以使用iOS调用xcrun -sdk iphoneos clang -arch arm64 [...]工具链,但也必须从某些IPSW中提取您想要的库,并将它们填充到qemu中。
还请注意,上面将给您一个Mach-O二进制文件。对于你的覆盆子派,你可能想要一个ELF,你可能想要gcc而不是嘎吱作响。根据您的目标,您应该能够从源代码构建gcc和GNU,并将--target作为aarch64-linux-gnu或aarch64-none-elf。另一个注意事项:由于macOS悄悄地将gcc化名为clang,而且许多工具都依赖于此,所以您可能也希望使用类似于--program-prefix=aarch64-的东西来构建这个工具链。
https://stackoverflow.com/questions/57242686
复制相似问题