This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Prelinking of shared libraries


Jakub Jelinek <jakub@redhat.com> writes:

> On Sat, May 05, 2001 at 12:22:27AM +0100, Joseph S. Myers wrote:
> > On Sat, 5 May 2001, Martin v. Loewis wrote:
> > 
> > > understand pre-linking, you'ld try to assign non-overlapping address
> > > spaces for the most common DSOs.
> > 
> > Would this then require a registry (such as LANANA) for the address spaces
> > chosen for prelinking?
> 
> No, the prelinking and address assignation could be done as part of say
> ldconfig, recording the non-overlapping addresses in there. It could try to
> keep the already assigned addresses as much as possible.
> Having a registry would throw us in the a.out DSO days...

Exactly.  The idea is that the one configuration program (let's say
ldconfig) loads all libraries into its address space, prelinks them
and saves the prelinked files together with information where they
should be mmapped.  The dynamic linker then reads this information and
tries to mmap the prelinked libs into the same address as the
configuration program.  If the mmap fails, the lib will be loaded as
if it was not prelinked and relocated normally.

Andreas
-- 
 Andreas Jaeger
  SuSE Labs aj@suse.de
   private aj@arthur.inka.de
    http://www.suse.de/~aj


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]