在 OSX 10.6 Snow Leopard 上编译 AES-NI 指令时出现问题

Problem compiling AES-NI instructions on OSX 10.6 Snow Leopard

提问人:Terry 提问时间:11/9/2018 更新时间:11/9/2018 访问量:155

问:

在我的 OSX 10.6.8 (Snow Leopard) Mac mini 2.53Ghz(2009 年末 Intel P8700)上,我尝试编译 libressl-2.8。配置顺利完成,但在编译 ./crypto/aes/aesni-macosx-x86_64.S 期间失败

"no such instruction: `aesenc %xmm1,%xmm2"

显然,GNU AS(Apple Inc 版本 cctools-773~33,GNU 汇编程序版本 1.38)无法识别 AES-NI 特定的指令。我已经升级到最新的 GNU Binutils 版本 2.25,但出现了同样的错误。当然,我可以用 --no-asm 指令通过这一步,但我想用汇编代码编译它。有问题的Mac mini确实支持AES-NI设置,因为我尝试在同一台计算机上从OS X 10.7外部硬盘编译相同的AES-NI代码,并且编译时没有任何错误。所以我想这是操作系统的问题。如何在 Snow Leopard 上编译 AES-NI 代码?谢谢。

程序集 : osx-snow-leopard gnu-assembler libressl

评论

0赞 fuz 11/9/2018
C 编译器的版本是什么?Clang 有自己的汇编程序,因此更新 binutils 不会产生任何变化。
0赞 Terry 11/9/2018
忘了谈 C 编译器版本。嗯,它首先是 Xcode 附带的原始 Apple GCC 编译器,它是 4.2 版或其他版本。然后我下载并编译了 GCC-6.1.0,但程序集也没有用它编译。当我尝试从 OSX 7 Lion 映像编译它们时,它们在听到的节拍中被编译了。因此,几乎可以肯定这是关于操作系统的。

答: 暂无答案