[29/58] Hide internal __mremap function [BZ #18822]
Commit Message
Hide internal __mremap function to allow direct access within libc.so and
libc.a without using GOT nor PLT.
__GI___mremap is defined when sysdeps/unix/syscalls.list is used to
generate mremap. Otherwise libc_hidden_def is needed explicitly.
[BZ #18822]
* include/sys/mman.h (__mremap): Add libc_hidden_proto.
* sysdeps/unix/sysv/linux/m68k/mremap.S (__mremap): Add
libc_hidden_def.
---
include/sys/mman.h | 1 +
sysdeps/unix/sysv/linux/m68k/mremap.S | 1 +
2 files changed, 2 insertions(+)
Comments
On 9/1/17, H.J. Lu <hjl.tools@gmail.com> wrote:
> Hide internal __mremap function to allow direct access within libc.so and
> libc.a without using GOT nor PLT.
>
> __GI___mremap is defined when sysdeps/unix/syscalls.list is used to
> generate mremap. Otherwise libc_hidden_def is needed explicitly.
>
> [BZ #18822]
> * include/sys/mman.h (__mremap): Add libc_hidden_proto.
> * sysdeps/unix/sysv/linux/m68k/mremap.S (__mremap): Add
> libc_hidden_def.
Tested with build-many-glibcs.py. I am checking it in.
@@ -20,6 +20,7 @@ libc_hidden_proto (__madvise)
/* This one is Linux specific. */
extern void *__mremap (void *__addr, size_t __old_len,
size_t __new_len, int __flags, ...);
+libc_hidden_proto (__mremap)
# if IS_IN (rtld)
# include <dl-mman.h>
@@ -25,4 +25,5 @@ PSEUDO (__mremap, mremap, 5)
move.l %d0, %a0
rts
PSEUDO_END (__mremap)
+libc_hidden_def (__mremap)
weak_alias (__mremap, mremap)