[gnutls-dev] Re: Symbol versioning in gnutls 1.5.x
Simon Josefsson
jas at extundo.com
Mon Sep 25 21:13:49 CEST 2006
Andreas Metzler <ametzler at downhill.at.eu.org> writes:
> On 2006-09-25 Simon Josefsson <jas at extundo.com> wrote:
>> Andreas Metzler <ametzler at downhill.at.eu.org> writes:
> [...]
>> > i.e. gnutls 1.5 uses a different soname than gnutls 1.4.x but the
>> > symbols are still versioned with GNUTLS_1_3.
> [...]
>> There appear to have been no external API/ABI changes between 1.4.x
>> and 1.5.x. Thus, bumping the shared library version was probably a
>> mistake. Does anyone see any value in bumping it anyway? I
>> incremented to avoid having old binaries built against 1.4
>> automatically linking to 1.5, but now when I think about it, I see no
>> reason to do this. I think I should revert it back, so that GnuTLS
>> 1.5.x also uses libgnutls.so.13.
>
> Both ways to fix the issue (decrement soname or bump symbol versioning)
> will break binaries linking against 1.5. Reverting the unnecessary
> soname bump seems to be the better alternative.
Ok, I'm doing this now. To avoid colliding with gnutls 1.4.x (that
use shared library version 13.0.x -- also, most likely there will
never be any ABI changes in 1.4.x and thus no so version 13.1.x from
that branch), I bumped the so version for gnutls 1.5.2 to 13.1.0.
I glanced through Drepper's howto on writing DSO's again, but it isn't
really clear to me whether we are doing the right thing here. The
situation is a bit more complex when you want to avoid collisions
between two current branches of the same library too. It is also not
clear how things work on non-GNU/Linux platforms without GNU ld.so.
More information or better ideas on how things should work are most
welcome...
Thanks,
Simon
More information about the Gnutls-dev
mailing list