diff mbox series

[29/58] Hide internal __mremap function [BZ #18822]

Message ID 20170901180029.9527-30-hjl.tools@gmail.com
State New
Headers show
Series Hide internal functions in libc.so | expand

Commit Message

H.J. Lu Sept. 1, 2017, 6 p.m. UTC
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

H.J. Lu Oct. 1, 2017, 10:33 p.m. UTC | #1
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.
diff mbox series

Patch

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)