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: Changed shared library loading strategy on PPC, why?


On Monday 18 June 2001 10:29, Andreas Jaeger wrote:
> Franz Sirl <Franz.Sirl-kernel@lauterbach.com> writes:
> > Hi,
> >
> > it seems someone changed the library loading strategy on PPC, which
> > certainly has a performance impact. So I would like to know why this
> > had been done and if it was done on purpose at all.
> >
> >
> > On PPC before the change the address scheme was like that:
> >
> > executable at 0x10000000
> > shared lib first load below that, and if that space runs out, loading
> > continues below 0x70000000.
> >
> >
> > Now, it seems that loading starts immediately below 0x70000000,
> > leaving the space with optimal relocations below 0x10000000 unused.
>
> Are you sure that this is not a "feature" of a new kernel?  The kernel
> allocates the mmaped areas for glibc.

Yes, I rechecked with old glibc rpms I have lying around and that was 
introduced somewhere between May 18 and Jun 6. I'm suspecting this patch:

2001-05-21  Jakub Jelinek  <jakub@redhat.com>
 
        * elf/rtld.c (dl_main): Compute l_map_end for the main program.
        * elf/dl-sym.c (_dl_sym): Don't check for l_addr == 0.
        If match == _dl_loaded, caller can still come from the main program.
        (_dl_vsym): Likewise.
        * elf/dl-open.c (dl_open_worker): Don't check for l_addr == 0.
        * elf/dl-error.c (_dl_signal_error): Change NULL objname into "".
        * elf/restest2.c: New test.
        * elf/Makefile (tests): Add restest2.
        (restest2, LDFLAGS-restest2): Add rules.

Jakub, can you comment on this? Also you did nearly all of the recent changes 
in elf/, so it maybe obvious to you what's going on here.

Franz.


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