[LEDE-DEV] [PATCH] mbedtls: change libmbedcrypto.so soversion back to 0

Syrone Wong wong.syrone at gmail.com
Mon Apr 16 16:47:41 PDT 2018


Looks good.


Best Regards,
Syrone Wong


On Tue, Apr 17, 2018 at 5:49 AM, Hauke Mehrtens <hauke at hauke-m.de> wrote:
> On 04/16/2018 01:01 AM, Syrone Wong wrote:
>> Why? the lib version bump means ABI incompatibility. The correct way
>> is to bump release to rebuild instead of decreasing it.
>>
>>
>> Best Regards,
>> Syrone Wong
>
> Let me explain what happened in mbedtls first.
>
> This change was added on version 2.7.0:
> https://github.com/ARMmbed/mbedtls/commit/bee0635b1593d879504e04136c3d10ce36cd6e34
> It adds new functions with _ext postfix (renamed to _ret before the
> 2.7.0 release) and the old functions are replaced with a static inline.
> This was a binary incompatible change.
> The soversion for the 2.7.0 release was changed to 1.
>
> With version 2.8.0 the static inline of the old functions was replaced
> with a real function being implemented in the binary, this way binaries
> linked against the old version will still work with the new version, see:
> https://github.com/ARMmbed/mbedtls/commit/041039f81e61191581f5112bb8e9d27a95d3d873
>
> 2.8.0 still uses the soversion 1.
>
> The version 2.7.2 also contains the changeset which replaced the static
> inline and made it binary compatible again, here the soversion was
> increased to 2.
>
> After thinking again about this, I would stay with soversion 1 in master
> and increase the pkg release of the packages which depend on mbedtls.
> On lede 17.01 I decreases the soversion to 0 again and use the mbedtls
> version 2.7.2 that should be save.
> I hope there are no more ABI changes in the code, then it should be save
> to use applications linked against old mbedtls versions in lede 17.01
> with a recent mbedtls version.
>
> Hauke



More information about the Lede-dev mailing list