about summary refs log tree commit diff
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.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--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 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)