[openssl-dev] [openssl.org #3843] OpenSSL 1.0.1* and below: incorrect use of _lrotl()

rt@openssl.org via RT rt at openssl.org
Tue May 26 08:57:39 UTC 2015


>>> And linux-x86_64 won't work here, since it uses some instructions not supported by MIC. 
>>
>> But all x86_64 modules feature run-time switch, when processor
>> capabilities are detected [with cpuid] and code that can't be executed
>> on any particular processor won't execute. Or do you mean that fails to
>> *compile* it with -mmic? Or do you mean that cpuid doesn't work on mic?
>> But I recall that there is cpuid...
> 
> It fails to compile with -mmic:
> x86_64cpuid.s:165: Error: `pxor' is not supported on `k1om'

I see, thanks. In other words, as it turns out my suggestion about
run-time switch does not apply in this case, because minimum of SSE2 is
actually *assumed* for x86_64 platform. And this doesn't hold true for
Knights Corner. But it does hold true for Knights Landing, doesn't it? I
see no point in attempting to accommodate assembler support for Knights
Corner (too rare processor) and would appreciate if you could confirm if
following works with 1.0.2:

./Configure linux-x86_64-icc no-asm -mmic

BTW, _lrotl fix is applied to 1.0.1, but not earlier versions, which are
open for security fixes only.




More information about the openssl-dev mailing list