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

Re: HPPA and Squeeze



On Sun, Jul 5, 2009 at 7:07 PM, John David
Anglin<dave@hiauly1.hia.nrc.ca> wrote:
> After staring at the dynamic loader code for a while, I think the following
> mmap call in dl-load.c doesn't correctly map the info data for /lib/libdl.so.2.
>
>        /* Remember which part of the address space this object uses.  */
>        l->l_map_start = (ElfW(Addr)) __mmap ((void *) mappref, maplength,
>                                              c->prot,
>                                              MAP_COPY|MAP_FILE,
>                                              fd, c->mapoff);
>
> The info data is near the end of the mapped segment.  The l_info field
> is initialized by elf_get_dynamic_info from the dynamic data mapped
> at l->ld.

Why do you think this is wrong?

> I seem to recall that the kernel mmap implementation on hppa is somewhat
> unique.

I don't recall anything, Kyle?

> In the above call, mappref is NULL.  The kernel selects the map location.

Yes, that's probably correct, the loader is letting the kernel choose
the address, at this point we don't care where the library is loaded.

Cheers,
Carlos.


Reply to: