Re: KDE 2.0 impressions



On Wed, 1 Nov 2000, Padraig O'Briain wrote:

> Your versioning script sounds very similar to scope mapfiles on Solaris. I 
> assume that it is not a coincidence that the syntax of your versioning script is 
> the same as that of a scope mapfile.
I think the fomat originates from solaris symbol versioning scripts.
 
> I cannot speak for whether The Gnome project is interested in this although I 
> would assume from a statement I saw on another message that GTK 2.0 will use 
> symbol scope reduction that the intention is to use it.
 I saw that, i wonder what tools they plan to use to do that. Owen?
 
> As to the meaing of "load":
> 
> On Solaris the default method for loading an object (executable or shared 
> library) is to map it into memory and then examine it for any dependencies and 
> if it has any they are immediately loaded. These dependencies are then, in turn, 
> examined and additional objects continue to be loaded until all inter-object 
> dependencies are resolved. This may have the effect that objects are loaded into 
> memory whether or not the code in the objects will actually be referenced by the 
> program being run.
> 
> Solaris does have an option which allows for lazy loading of objects. Objects 
> which have been labelled for lazy loading will not be loaded unless explicitly 
> To use Solaris-speak it seems that on Linux the efect is the same as if all 
> shared libraries are labelled for lazy loading.
Well. Libraries are always mapped when they're loaded, but any symbol
references/function calls are not resolved until used.
 
> 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().
 
/ Alex






[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]