diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2017-10-01 16:01:43 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2017-10-01 16:02:04 -0700 |
commit | 225f7eec85b83ad38a1c92dbb16a843732a25899 (patch) | |
tree | 7b6e1ffc162075ebadc7daf06c85ce28f4a1bde7 | |
parent | 372fe247b11eb4079f93f11f3f20d14bc6c2c57f (diff) | |
download | glibc-225f7eec85b83ad38a1c92dbb16a843732a25899.tar.gz glibc-225f7eec85b83ad38a1c92dbb16a843732a25899.tar.xz glibc-225f7eec85b83ad38a1c92dbb16a843732a25899.zip |
Hide internal __mremap function [BZ #18822]
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.
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | include/sys/mman.h | 1 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/m68k/mremap.S | 1 |
3 files changed, 9 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog index 79489d7164..21d5d6aa06 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,13 @@ 2017-10-01 H.J. Lu <hongjiu.lu@intel.com> [BZ #18822] + * include/sys/mman.h (__mremap): Add libc_hidden_proto. + * sysdeps/unix/sysv/linux/m68k/mremap.S (__mremap): Add + libc_hidden_def. + +2017-10-01 H.J. Lu <hongjiu.lu@intel.com> + + [BZ #18822] * include/malloc.h (__malloc_check_init): Add attribute_hidden. 2017-10-01 H.J. Lu <hongjiu.lu@intel.com> diff --git a/include/sys/mman.h b/include/sys/mman.h index 8b996fce73..503edaae88 100644 --- a/include/sys/mman.h +++ b/include/sys/mman.h @@ -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> diff --git a/sysdeps/unix/sysv/linux/m68k/mremap.S b/sysdeps/unix/sysv/linux/m68k/mremap.S index 01be848f45..5cb7c1b132 100644 --- a/sysdeps/unix/sysv/linux/m68k/mremap.S +++ b/sysdeps/unix/sysv/linux/m68k/mremap.S @@ -25,4 +25,5 @@ PSEUDO (__mremap, mremap, 5) move.l %d0, %a0 rts PSEUDO_END (__mremap) +libc_hidden_def (__mremap) weak_alias (__mremap, mremap) |