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

Jan Just Keijser via RT rt at openssl.org
Wed May 27 09:32:13 UTC 2015


Hi,

rt at openssl.org via RT wrote:
>>>> 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.
>
>   
I can confirm that a clean build of openssl 1.0.2a using the above 
./Configure line works for me. The resulting binary runs without issues.

JJK




More information about the openssl-dev mailing list