aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2017-10-01 16:01:43 -0700
committerH.J. Lu <hjl.tools@gmail.com>2017-10-01 16:02:04 -0700
commit225f7eec85b83ad38a1c92dbb16a843732a25899 (patch)
tree7b6e1ffc162075ebadc7daf06c85ce28f4a1bde7
parent372fe247b11eb4079f93f11f3f20d14bc6c2c57f (diff)
downloadglibc-225f7eec85b83ad38a1c92dbb16a843732a25899.zip
glibc-225f7eec85b83ad38a1c92dbb16a843732a25899.tar.gz
glibc-225f7eec85b83ad38a1c92dbb16a843732a25899.tar.bz2
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--ChangeLog7
-rw-r--r--include/sys/mman.h1
-rw-r--r--sysdeps/unix/sysv/linux/m68k/mremap.S1
3 files changed, 9 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 79489d7..21d5d6a 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 8b996fc..503edaa 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 01be848..5cb7c1b 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)