如何在编译openssl时排除amd_3dnow指令集

时间:2011-01-04 22:49:02

标签: openssl solaris-10

在我们的生产solaris x86服务器上我们没有编译器,所以我必须在单独的solaris x86上编译。编译服务器具有md_3dnow指令集,但生产服务器没有。有没有办法告诉openssl配置或make以排除libssl.so的amd_3dnow指令? prod / target服务器上的isainfo -v告诉:

  • 64位amd64应用程序:pclmulqdq aes sse4.2 sse4.1 ssse3 popcnt tscp cx16 mon sse3 pause sse2 sse fxsr mmx cmov amd_sysc cx8 tsc fpu
  • 32位i386应用程序:clmulqdq aes sse4.2 sse4.1 ssse3 popcnt tscp cx16 mon sse3 pause sse2 sse fxsr mmx cmov sep cx8 tsc fpu

1 个答案:

答案 0 :(得分:0)

使用./config手动配置源树(可能指定./Configuresolaris64-x86_64-gcc作为OS /编译器),而不是使用solaris-x86-gcc

由于您似乎拥有带有AES的Core i7 CPU,您还可以指定-march=corei7-avx(如果您有最近的gcc),以获得针对您的生产CPU优化的构建。但它不会在您的构建系统上运行。在x86 / x86-64上咨询the list of supported -march options for gcc