Maxim Sobolev wrote:
> When you are linking with shared libraries you do not need to specify
> them in the "correct" order, because AFAIK linker takes care of that
> using dependency information recorded within each shared library.
> Correct order only required for static libraries that do not have a
> way to record a dependency information.

Libraries are not all int he same dependency space.

It's possible to have a shared library that is linked
against libc_r.so.3, and have the rest of the program
linked against libc.so.4 (e.g. if there were a .init
that started a thread in the library when the program
was invoked, in order to service requests made via an
IPC, also defined by the library).

Likewise, it's possible for different interface versions
to coexist in a program, so long as there are no relied
upon interactions (e.g. a static buffer being blown by
one thread for use by another).

The relationship between libraries is not flat, it's
hierarchical, or at least is supposed to be able to be,
according to the ELF spec..

-- Terry

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to