[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [gnutls-dev] Symbol versioning in gnutls 1.5.x
From: |
Werner Koch |
Subject: |
Re: [gnutls-dev] Symbol versioning in gnutls 1.5.x |
Date: |
Tue, 26 Sep 2006 13:16:04 +0200 |
User-agent: |
Gnus/5.110006 (No Gnus v0.6) |
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