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

Hauke Mehrtens hauke at hauke-m.de
Mon Apr 16 14:49:13 PDT 2018


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