[gnutls-dev] Symbol versioning in gnutls 1.5.x
Werner Koch
wk at gnupg.org
Tue Sep 26 13:16:04 CEST 2006
On Mon, 25 Sep 2006 19:30, Andreas Metzler said:
> That is absolutely no problem *iff* the respective libraries use
> proper symbol versioning. The GnuTLS dependency chain uses symbol
As long as the platform supports this.
> problem for applications linking against libtasn1.so.2, libtasn1.so.3,
> libgnutls12, libgnutls11 and libgnutls13 simultanously.
That really depends on the library. Conflicts may arise outside of the
symbol scope. For example if a library opens a devices and requires
exclusive access. The second instance of the library won't be able to
properly access this device then. It does not know that a second
instance is already running. Locking makes this even worse because it
is often based on the pid.
>> It does. That is the whole and only point of symbol versioning, you
> won't get symbol clashes and crashes. It is no coincidence; on
> architectures that support it, symbol versioning *does* work.
No.: It may work, but there is no guarantee for that. Symbol
versioning solves the problem of maintaining a backward compatible
ABI. It does not help when linking two instances of a library into
one process.
Salam-Shalom,
Werner
More information about the Gnutls-devel
mailing list