[U-Boot] tools/mxsimage: Support building with LibreSSL
Marek Vasut
marex at denx.de
Sat Mar 17 16:24:47 UTC 2018
On 03/17/2018 04:09 PM, Hauke Mehrtens wrote:
> On 03/17/2018 03:47 PM, Marek Vasut wrote:
>> On 03/17/2018 01:23 PM, Hauke Mehrtens wrote:
>>> The mxsimage utility fails to compile against LibreSSL because LibreSSL
>>> says it is OpenSSL 2.0, but it does not support the complete OpenSSL 1.1
>>> interface.
>>
>> The mxsimage does support OpenSSL 1.1 , the commit message is confusing.
>> Can you elaborate on that and reword the last part ?
>
> libressl defines the following in version 2.7.4:
> #define OPENSSL_VERSION_NUMBER 0x20000000L
> #define LIBRESSL_VERSION_NUMBER 0x2060400fL
> see here:
> https://github.com/libressl-portable/openbsd/blob/OPENBSD_6_2/src/lib/libcrypto/opensslv.h
>
> But OPENSSL_zalloc() is not provided by libressl, that is only available
> in OpeSSL 1.1.0 and later.
So it's libressl that's API-incompatible and thus broken ? OK
I guess the commit message should mention that and then yes, if
LIBRESSL_VERSION_NUMBER is defined, we should treat it as old version of
OpenSSL.
Thanks for the explanation
> I do not know if libressl plans to add functions like OPENSSL_zalloc()
> in the future, but currently it is not included and we always have to
> use the backward compatible code when compiling against libressl.
>
>>> Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
>>> ---
>>> tools/mxsimage.c | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/tools/mxsimage.c b/tools/mxsimage.c
>>> index 32a7978cae..0cbf007dff 100644
>>> --- a/tools/mxsimage.c
>>> +++ b/tools/mxsimage.c
>>> @@ -26,7 +26,7 @@
>>> * OpenSSL 1.1.0 and newer compatibility functions:
>>> * https://wiki.openssl.org/index.php/1.1_API_Changes
>>> */
>>> -#if OPENSSL_VERSION_NUMBER < 0x10100000L
>>> +#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
>>
>> This should check for the libressl version number value too I think?
>>
>>> static void *OPENSSL_zalloc(size_t num)
>>> {
>>> void *ret = OPENSSL_malloc(num);
>>>
>>
>>
>
--
Best regards,
Marek Vasut
More information about the U-Boot
mailing list