Re: On the cost of libraries



On Sun, 2 Sep 2001, Drazen Kacar wrote:

> > >   b) then ld(1) can record in which library every simbol lives.
> > 
> > Do i have to tell ld to do this?
> 
> If it implements that capability (GNU ld doesn't, AFAIK), yes. I doubt that
> any Unix linker would have such an option as a default, because it conflicts
> with the way symbol lookup was done previously (ie. search dependencies in
> the mapping order). Since that behaviour is mandated by Unix 98, I suppose
> Unix 98 has to be the default. At least for C compilers.
> 

It is also an absolutely horrendous idea that will have bad side effects
like breaking all present practices of library versioning, not really
working with chroot, etc. 

> > >   d) while we're at it, the libraries which probably won't be used can
> > >      be marked for lazy loading (or deferred loading, or however your
> > >      system documentation calls it). If those libraries have good enough
> > >      API, run-time linker won't load them until needed.
> > 
> > Is this possible with Linux + GNU ld? I've never seen anything about it.
> 
> No. I've been told that people are working on it. For the time being you
> can use -O1 and get much better lookup time (although ELF sucks even with
> that).
> 

Lazy loading is supported on Solaris. As for elf sucking - well, maybe,
but I'm not holding my breath for a better solution anytime in the next 10
years.

> > > And all private symbols in the libraries should be marked as such.
> > 
> > Yes. Maybe we should sweep through all our libraries and see if we can fix 
> > this for Gnome 2?
> 
> That would be nice. But if someone will make the effort, it would be nice
> to provide version information, as well.
> 

I'm not sure if gnome libraries are all that versionable at the moment.
Ok, they are versionable, except it wouldn't follow the rigrous
assumptions.

> -- 
>  .-.   .-.    Errors have been made. Others will be blamed.
> (_  \ /  _)
>      |
>      |        dave arsdigita com
> 

	Sander

I haven't been vampired. You've been Weatherwaxed.





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