[PATCH 1/3] Mark ld.so internel mmap functions hidden
H.J. Lu
hjl.tools@gmail.com
Mon Oct 19 21:04:00 GMT 2015
On Mon, Oct 19, 2015 at 1:45 PM, Richard Henderson <rth@twiddle.net> wrote:
> 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.
>
> Surely you should just put all of these within dl-mman.h, even if in the end
> there are a few lines of overlap.
>
sysdeps/mach/hurd/Versions has
ld {
GLIBC_2.0 {
# variables that must be shared with libc
__hurd_sigthread_stack_base; __hurd_sigthread_stack_end;
__hurd_sigthread_variables;
__hurd_threadvar_stack_mask; __hurd_threadvar_stack_offset;
# functions that must be shared with libc
__close; __getcwd; __getpid;
__mmap; __open; __xstat64; __fxstat64;
_exit; _hurd_intr_rpc_mach_msg;
abort;
}
GLIBC_2.2.6 {
# this also must be shared with libc.
__errno_location;
}
GLIBC_PRIVATE {
_dl_init_first;
# functions that must be shared with libc
__libc_read; __libc_write; __libc_lseek64;
}
}
__mprotect and __munmap are hidden in ld.so on Hurd.
--
H.J.
More information about the Libc-alpha
mailing list