Enhanced symbol versioning in 2.7.x

Andreas Metzler ametzler at downhill.at.eu.org
Mon May 25 18:53:51 CEST 2009


On 2009-05-25 Simon Josefsson <simon at josefsson.org> wrote:
> Andreas Metzler <ametzler at downhill.at.eu.org> writes:
[...]
> > I assume that if there was a soname bump we would change from
> > --------------
> > GNUTLS_1_4
> > {
> > ...
> > };
> >
> > GNUTLS_2_8
> > {
> > ...
> > } GNUTLS_1_4;
> >
> > GNUTLS_PRIVATE {
> > };
> > --------------
> >
> > to 
> >
> > --------------
> > GNUTLS_2_10
> > {
> > [symbols listed previously in GNUTLS_1_4 or GNUTLS_2_8 go here]
> > };
> >
> >
> > GNUTLS_PRIVATE_2_10 {
> > [symbols listed previously in GNUTLS_PRIVATE go here]
> > };
> > --------------
> > Am I correct?

> That's not required, but I don't see how it would hurt from a technical
> point of view.

> I don't see any advantage in that, though, because having the old
> version names even in the new soname bump can be informative.

Well I am not sure either. I know that *without* symbol versioning you
get crashes due to symbol clashes whenever two different versions of
the library are linked (indirectly) into a single binary. Versioning
the symbols in the different library versions (I am always taling
about sonames) protects against that. I *assume* you would have the
same problem if the two versions of the library were using the same
versioning, the symbols would clash.
cu andreas

-- 
`What a good friend you are to him, Dr. Maturin. His other friends are
so grateful to you.'
`I sew his ears on from time to time, sure'





More information about the Gnutls-devel mailing list