[58/58] Hide internal fadvise64/fallocate64 functions [BZ #18822]

Message ID 20170901180029.9527-59-hjl.tools@gmail.com
State Committed
Commit 397286ea93ad30c24a5dad7928d0056c7b7d603d
Headers

Commit Message

H.J. Lu Sept. 1, 2017, 6 p.m. UTC
  Hide internal fadvise64/fallocate64 functions to allow direct access
within libc.so and libc.a without using GOT nor PLT.

	[BZ #18822]
	* sysdeps/unix/sysv/linux/posix_fadvise64.c
	(__posix_fadvise64_l64): Add Add libc_hidden_proto and
	libc_hidden_def.
	* sysdeps/unix/sysv/linux/posix_fallocate64.c
	(__posix_fallocate64_l64): Likewise.
---
 sysdeps/unix/sysv/linux/posix_fadvise64.c   | 2 ++
 sysdeps/unix/sysv/linux/posix_fallocate64.c | 2 ++
 2 files changed, 4 insertions(+)
  

Comments

H.J. Lu Oct. 2, 2017, 1:05 a.m. UTC | #1
On 9/1/17, H.J. Lu <hjl.tools@gmail.com> wrote:
> Hide internal fadvise64/fallocate64 functions to allow direct access
> within libc.so and libc.a without using GOT nor PLT.
>
> 	[BZ #18822]
> 	* sysdeps/unix/sysv/linux/posix_fadvise64.c
> 	(__posix_fadvise64_l64): Add Add libc_hidden_proto and
> 	libc_hidden_def.
> 	* sysdeps/unix/sysv/linux/posix_fallocate64.c
> 	(__posix_fallocate64_l64): Likewise.

Tested with build-many-glibcs.py.  I am checking it in.
  

Patch

diff --git a/sysdeps/unix/sysv/linux/posix_fadvise64.c b/sysdeps/unix/sysv/linux/posix_fadvise64.c
index aaee60add7..6dee86c833 100644
--- a/sysdeps/unix/sysv/linux/posix_fadvise64.c
+++ b/sysdeps/unix/sysv/linux/posix_fadvise64.c
@@ -20,6 +20,7 @@ 
 #include <shlib-compat.h>
 
 int __posix_fadvise64_l64 (int fd, off64_t offset, off64_t len, int advise);
+libc_hidden_proto (__posix_fadvise64_l64)
 
 /* Both arm and powerpc implements fadvise64_64 with last 'advise' argument
    just after 'fd' to avoid the requirement of implementing 7-arg syscalls.
@@ -83,3 +84,4 @@  weak_alias (__posix_fadvise64_l64, posix_fadvise64);
 weak_alias (__posix_fadvise64_l64, posix_fadvise64);
 strong_alias (__posix_fadvise64_l64, posix_fadvise);
 #endif
+libc_hidden_def (__posix_fadvise64_l64)
diff --git a/sysdeps/unix/sysv/linux/posix_fallocate64.c b/sysdeps/unix/sysv/linux/posix_fallocate64.c
index eb05f7c5d0..76cf27a616 100644
--- a/sysdeps/unix/sysv/linux/posix_fallocate64.c
+++ b/sysdeps/unix/sysv/linux/posix_fallocate64.c
@@ -19,6 +19,7 @@ 
 #include <sysdep.h>
 
 extern int __posix_fallocate64_l64 (int fd, __off64_t offset, __off64_t len);
+libc_hidden_proto (__posix_fallocate64_l64)
 #define __posix_fallocate64_l64 static internal_fallocate64
 #include <sysdeps/posix/posix_fallocate64.c>
 #undef __posix_fallocate64_l64
@@ -42,3 +43,4 @@  __posix_fallocate64_l64 (int fd, __off64_t offset, __off64_t len)
     return INTERNAL_SYSCALL_ERRNO (res, err);
   return internal_fallocate64 (fd, offset, len);
 }
+libc_hidden_def (__posix_fallocate64_l64)