Do we need to bump the shared library version for 2.4.0?

Joe Orton joe at manyfish.co.uk
Wed Jun 4 16:53:20 CEST 2008


On Wed, Jun 04, 2008 at 03:54:21PM +0200, Simon Josefsson wrote:
> Joe Orton <joe at manyfish.co.uk> writes:
> > Having looked into this, I can't see why that would break.  dlsym() will 
> > still find the symbols since libgnutls-extra.so is linked against 
> > libgnutls; the wording in POSIX is very specific that this must be the 
> > case.  Attached a test case which finds gnutls_malloc via dlopen of 
> > libgnutls-extra.so for PoC.
> >
> > So I think it's very reasonable to argue that the ABI of libgnutls-extra 
> > has not changed in this case and no soname bump is necessary.
> 
> But what about non-ELF or even systems without shared libraries?

The dlsym wording is from POSIX; the only platforms I'd expect it might 
be different are the few Unixes with only pre-POSIX dynamic loaders 
(AIX, HPUX).  This libtool -version-info choice doesn't make any 
difference for static library builds on any platform AFAIK.

> Possibly we could decide that systems that doesn't behave like Linux
> here are of too little concern to us, and that they will need to remove
> the old libgnutls* when they install gnutls 2.4.x.

I'm not sure why that's a concern, trying to mix and match libgnutls and 
libgnutls-extra from different versions would not be guarnateed to work 
anyway, surely?  (e.g. libgnutls-extra from 2.4 could depend on 
libgnutls symbols introduced in 2.4; soname versioning would not prevent 
the former being used with 2.2, current concens aside)

Regards,

joe





More information about the Gnutls-devel mailing list