aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2017-09-04 13:38:36 -0700
committerH.J. Lu <hjl.tools@gmail.com>2017-09-04 13:38:51 -0700
commit0a587a8a98ca32c98e6b00f557e6af6c8eedc602 (patch)
treee59c30b9b79ba979be469c5ce74450204c0ef0b3 /include
parent1650e19265e577d2b9e90929cf47895985f32b87 (diff)
downloadglibc-0a587a8a98ca32c98e6b00f557e6af6c8eedc602.zip
glibc-0a587a8a98ca32c98e6b00f557e6af6c8eedc602.tar.gz
glibc-0a587a8a98ca32c98e6b00f557e6af6c8eedc602.tar.bz2
Hide __chmod and __mkdir [BZ #18822]
Hide internal __chmod and __mkdir functions to allow direct access within libc.so and libc.a without using GOT nor PLT. [BZ #18822] * include/sys/stat.h (__chmod): Add libc_hidden_proto. (__mkdir): Likewise. * io/chmod.c (__chmod): Add libc_hidden_def. * io/mkdir.c (__mkdir): Likewise. * sysdeps/mach/hurd/chmod.c (__chmod): Likewise. * sysdeps/mach/hurd/mkdir.c (__mkdir): Likewise. * sysdeps/unix/sysv/linux/generic/chmod.c (__chmod): Likewise. * sysdeps/unix/sysv/linux/generic/mkdir.c (__mkdir): Likewise.
Diffstat (limited to 'include')
-rw-r--r--include/sys/stat.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/sys/stat.h b/include/sys/stat.h
index 4f31c00..eb44754 100644
--- a/include/sys/stat.h
+++ b/include/sys/stat.h
@@ -7,9 +7,11 @@ extern int __stat (const char *__file, struct stat *__buf);
extern int __fstat (int __fd, struct stat *__buf);
extern int __lstat (const char *__file, struct stat *__buf);
extern int __chmod (const char *__file, __mode_t __mode);
+libc_hidden_proto (__chmod)
extern int __fchmod (int __fd, __mode_t __mode);
extern __mode_t __umask (__mode_t __mask);
extern int __mkdir (const char *__path, __mode_t __mode);
+libc_hidden_proto (__mkdir)
extern int __mknod (const char *__path,
__mode_t __mode, __dev_t __dev);
#if IS_IN (libc) || IS_IN (rtld)