1
Internet / Re: Problems with OpenSSL library after update.
« Last post by Steven Levine on Today at 04:51:55 am »Oops - wrong repo and wrong branch. In the current netlabs sources, the code has moved to crypto\cpuid.c.
Some of the interesting code points are at
crypto\cpuid.c:18
unsigned int OPENSSL_ia32cap_P[4];
crypto\cpuid.c:110
if ((env = ossl_getenv("OPENSSL_ia32cap")) != NULL) {
int off = (env[0] == '~') ? 1 : 0;
poly1305-x86.pl:119
if ($avx>1) {
&mov ("ecx",&DWP(8,"edi"));
&test ("ecx",1<<5); # AVX2?
&jz (&label("no_sse2"));
Since vmovdqa is an AVX2 instruction, we want to turn off
bit #64+5 denoting availability of AVX2 instructions;
to disable the problematic code path.
The brute force
set OPENSSL_ia32cap=:0
should do this. The less brutish
set OPENSSL_ia32cap=:~0x20
should also work, but might leave other problem code paths enabled.
Some of the interesting code points are at
crypto\cpuid.c:18
unsigned int OPENSSL_ia32cap_P[4];
crypto\cpuid.c:110
if ((env = ossl_getenv("OPENSSL_ia32cap")) != NULL) {
int off = (env[0] == '~') ? 1 : 0;
poly1305-x86.pl:119
if ($avx>1) {
&mov ("ecx",&DWP(8,"edi"));
&test ("ecx",1<<5); # AVX2?
&jz (&label("no_sse2"));
Since vmovdqa is an AVX2 instruction, we want to turn off
bit #64+5 denoting availability of AVX2 instructions;
to disable the problematic code path.
The brute force
set OPENSSL_ia32cap=:0
should do this. The less brutish
set OPENSSL_ia32cap=:~0x20
should also work, but might leave other problem code paths enabled.
Recent Posts