From 225f7eec85b83ad38a1c92dbb16a843732a25899 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Sun, 1 Oct 2017 16:01:43 -0700 Subject: 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. --- ChangeLog | 7 +++++++ include/sys/mman.h | 1 + sysdeps/unix/sysv/linux/m68k/mremap.S | 1 + 3 files changed, 9 insertions(+) diff --git a/ChangeLog b/ChangeLog index 79489d7164..21d5d6aa06 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2017-10-01 H.J. Lu + + [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 [BZ #18822] 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 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) -- cgit 1.4.1