Re: KDE 2.0 impressions
- From: Colm Smyth <Colm Smyth ireland sun com>
- To: Padraig Obriain ireland sun com, alla lysator liu se
- Cc: gnome-hackers gnome org
- Subject: Re: KDE 2.0 impressions
- Date: Fri, 3 Nov 2000 10:29:38 +0000 (GMT)
>> Solaris has another linking option, called Direct Bindings.
What direct bindings
>> doies is decide which symbol a specific symbol reference will
bind at link-edit
>> time. This is done by having the link editor record for a
symbol from which
>> object from which object it is made available. and record that
information in
>> the newly built object. This can give much faster symbol
resolution and permit
>> multiple symbols with the same name to exist on the same link
map without name
>> space collision. Does Linux have a similar feature?
>Well, there is a hack called elfvector that does something
similar. It can
>be found at http://www.bitwagon.com/elfvector.html. But it is
not widely
>used.
>
>Linux does support multiple symbols with the same name if they
are in
>libraries loaded by dlopen().
Solaris also supports this and uses shared object groups to
define the search path used to resolve a symbol, but this
can lead to ambiguous symbol resolution, e.g.
-> B.so.1 \
/
Exe -> A.so.1 -> D.so.1
\
-> C.so.1 /
Here if a symbol used in D.so.1 is defined in both B.so.1 and
C.so.1, the actual symbol resolution does not depend on the
dlopen() dependencies but on the actual order of dlopen()'s (ie.
the symbol will be found in B or C, depending on which one was
dlopen()ed first).
The direct bindings feature that Padraig mentioned speeds up
symbol resolution but also allows a programmer to create a
library which specifies that a given symbol will be resolved from
a specific library and this can be used to eliminate the
ambiguity in "diamond" library dependencies like the one above.
Colm.
>/ Alex
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]