Question

on our production solaris x86 server we dont have a compiler, so i have to compile on a separate solaris x86. The compilation server has the md_3dnow instruction set, but the production server does not. Is there a way to tell openssl config or make to exclude amd_3dnow instructions of the libssl.so? isainfo -v on the prod/target server tells:

  • 64-bit amd64 applications: pclmulqdq aes sse4.2 sse4.1 ssse3 popcnt tscp cx16 mon sse3 pause sse2 sse fxsr mmx cmov amd_sysc cx8 tsc fpu
  • 32-bit i386 applications: clmulqdq aes sse4.2 sse4.1 ssse3 popcnt tscp cx16 mon sse3 pause sse2 sse fxsr mmx cmov sep cx8 tsc fpu
Was it helpful?

Solution

Rather than using ./config, use ./Configure to manually configure the source tree (probably specifying either solaris64-x86_64-gcc or solaris-x86-gcc as the OS/compiler).

Since you appear to have a Core i7 CPU with AES, you could also specify -march=corei7-avx (if you have a recent enough gcc) to get a build that is optimised for your production CPU. It won't run on your build system, though. Consult the list of supported -march options for gcc on x86 / x86-64.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top