This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: Any particular reason why mmap family functions aren't hidden in ld.so?
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: Roland McGrath <roland at hack dot frob dot com>
- Cc: GNU C Library <libc-alpha at sourceware dot org>
- Date: Thu, 15 Oct 2015 12:45:50 -0700
- Subject: Re: Any particular reason why mmap family functions aren't hidden in ld.so?
- Authentication-results: sourceware.org; auth=none
- References: <CAMe9rOp3tnr8iuJiH0wGgv69tdixyquqP_J8K4Q-xobpd8cQXw at mail dot gmail dot com> <20151015192840 dot 890D62C3C0E at topped-with-meat dot com>
On Thu, Oct 15, 2015 at 12:28 PM, Roland McGrath <roland@hack.frob.com> wrote:
>> All mmap family functions aren't hidden in ld.so and are called
>> via PLT. Is this an oversight?
>
> It's necessary in the Hurd. I don't know a reason for it elsewhere. You
Why does Hurd need PLT?
> mean just that the compiler doesn't know they will be resolved without a
> PLT, right? The linker doesn't actually produce PLT entries for them
> (except for Hurd).
To call mmap via PLT on i386, compiler has to set up EBX. There is
no need for it if mmap is hidden.
--
H.J.