This is the mail archive of the libc-alpha@sourceware.org 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]
Other format: [Raw text]

Re: [PATCH 1/3] Mark ld.so internel mmap functions hidden


> On 10/19/2015 09:31 AM, H.J. Lu wrote:
> > +# if IS_IN (rtld)
> > +#  include <dl-mman.h>
> > +extern __typeof (__mprotect) __mprotect attribute_hidden;
> > +extern __typeof (__munmap) __munmap attribute_hidden;
> 
> Surely if mmap can't be hidden, then munmap can't either.

Actually, that's not true.  On the Hurd, the mmap in ld.so is a special
hack different from the real libc implementation because it has to handle
the file descriptor argument.  munmap and mprotect have trivial
implementations that just use microkernel calls, so using the copies in
ld.so is fine (and might as well avoid the PLT when you can).

> Surely you should just put all of these within dl-mman.h, even if in the
> end there are a few lines of overlap.

Agreed.  The details I just explained are very Hurd-specific, and it seems
sensible that the Hurd file declare as hidden the ones that can be because
of that Hurd-specific rationale.


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