[openssl-dev] [openssl.org #4583] AutoReply: Debian X32 and "fatal error: sys/cdefs.h: No such file or directory"

Andy Polyakov via RT rt at openssl.org
Thu Jun 23 11:10:14 UTC 2016


>>> A quick question about this configuration... Should Linux-x32 enable
>>> ec_nistp_64_gcc_128 by default? Does anything prohibit
>>> ec_nistp_64_gcc_128 in this configuration?
>>>
>>> # ./Configure linux-x32
>>> Configuring OpenSSL version 1.1.0-pre6-dev (0x0x10100006L)
>>>     no-asan         [default]  OPENSSL_NO_ASAN (skip dir)
>>>     ...
>>>     no-ec_nistp_64_gcc_128 [default]  OPENSSL_NO_EC_NISTP_64_GCC_128 (skip dir)
>>>     ...
>>>
>>> I believe it meets the three criteria for ec_nistp_64_gcc_128.
>>
>> What are "the three criteria"? I mean I'm not really sure. Nor am I sure
>> that they are perfect. I mean maybe they need some adjustment in x32
>> context. To either allow or prevent erroneous compilation. Bottom line
>> is that I don't actually know at this point...
> 
> My bad... According to my notes, one can use ec_nistp_64_gcc_128 when
> these three conditions are met:
> 
>   * Little endian CPU
>   * CPU allows unaligned data access
>   * Compiler supports  __uint128_t

Correct. But there still might be nuances. For example first two
criteria were not actually formulated originally. Upon code submission
only __uint128_t requirement was explicitly formulated along with
statement that code was developed on x86_64 and therefore tested only on
x86_64. The first two criteria were kind of epiphany as result of
looking at a compiler warning and realizing that the piece of code in
question can possibly work only on little-endian system that tolerates
unaligned access. I.e. code was written under this assumption, but it
was not explicitly verbalized or maybe even recognized, presumably
because it appeared too obvious to original developer. Same in this
case, i.e. there *might* as well be some so-far-unverbalized assumption,
for example sizeof(long) being 8. Note "might", as I'm not actually
saying that there is. All I'm saying is that I don't know [at this point].


-- 
Ticket here: http://rt.openssl.org/Ticket/Display.html?id=4583
Please log in as guest with password guest if prompted



More information about the openssl-dev mailing list