]> sourceware.org Git - glibc.git/commitdiff
Hide __chmod and __mkdir [BZ #18822]
authorH.J. Lu <hjl.tools@gmail.com>
Mon, 4 Sep 2017 20:38:36 +0000 (13:38 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Mon, 4 Sep 2017 20:38:51 +0000 (13:38 -0700)
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.

ChangeLog
include/sys/stat.h
io/chmod.c
io/mkdir.c
sysdeps/mach/hurd/chmod.c
sysdeps/mach/hurd/mkdir.c
sysdeps/unix/sysv/linux/generic/chmod.c
sysdeps/unix/sysv/linux/generic/mkdir.c

index c4e175abc67c9ab4d9525e61f2b5b5f0d297e1cf..ead6d792239e42181c4aa9da507372bc705f100e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2017-09-04  H.J. Lu  <hongjiu.lu@intel.com>
+
+       [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.
+
 2017-09-04  Joseph Myers  <joseph@codesourcery.com>
 
        * sysdeps/unix/sysv/linux/syscall-names.list: Update kernel
index 4f31c00ecaba221fae0e4f10fd1ed6fd6b17a92b..eb4475418570f09ca1f7b916c1935943200c2a37 100644 (file)
@@ -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)
index 0b85565ec2b3b32d88dba2595f90ead45c30b0ee..3cacbf612f0d30dda8484193ee835f7e81e271e6 100644 (file)
@@ -35,4 +35,5 @@ __chmod (const char *file, mode_t mode)
 }
 stub_warning (chmod)
 
+libc_hidden_def (__chmod)
 weak_alias (__chmod, chmod)
index 0b8499a707ad6636fc6e49461e315e08891f99aa..43a790de33b67d0195417e7684f6c68dea604ab0 100644 (file)
@@ -36,4 +36,5 @@ __mkdir (const char *path, mode_t mode)
 }
 stub_warning (mkdir)
 
+libc_hidden_def (__mkdir)
 weak_alias (__mkdir, mkdir)
index 943f9855d49cdea011c3e72a7d31442c961d4d7f..612e62d0b235d6a62febe2fcfa9d4c65030a97a8 100644 (file)
@@ -35,4 +35,5 @@ __chmod (const char *file, mode_t mode)
   return 0;
 }
 
+libc_hidden_def (__chmod)
 weak_alias (__chmod, chmod)
index 58c2ac42913d9198558196698ebb370dc74d4d60..1efac949f6f925cf3d33d7d7dcbecb4019f1f1cc 100644 (file)
@@ -40,4 +40,5 @@ __mkdir (const char *file_name, mode_t mode)
   return 0;
 }
 
+libc_hidden_def (__mkdir)
 weak_alias (__mkdir, mkdir)
index 41d6d9851f70f0cdbd13371eb364720728e062a8..551c67cd07f78f400886504c22d2514f1adebf44 100644 (file)
@@ -28,4 +28,6 @@ __chmod (const char *file, mode_t mode)
 {
   return INLINE_SYSCALL (fchmodat, 3, AT_FDCWD, file, mode);
 }
+
+libc_hidden_def (__chmod)
 weak_alias (__chmod, chmod)
index 6571d29ca39491e7e17bfb27e8642849cb1566eb..7eebe90ba7d9ebc821473c01ab4e36ff9e4ac042 100644 (file)
@@ -30,4 +30,6 @@ __mkdir (const char *path, mode_t mode)
 {
   return INLINE_SYSCALL (mkdirat, 3, AT_FDCWD, path, mode);
 }
+
+libc_hidden_def (__mkdir)
 weak_alias (__mkdir, mkdir)
This page took 0.050499 seconds and 5 git commands to generate.