diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2017-09-04 13:38:36 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2017-09-04 13:38:51 -0700 |
commit | 0a587a8a98ca32c98e6b00f557e6af6c8eedc602 (patch) | |
tree | e59c30b9b79ba979be469c5ce74450204c0ef0b3 /sysdeps | |
parent | 1650e19265e577d2b9e90929cf47895985f32b87 (diff) | |
download | glibc-0a587a8a98ca32c98e6b00f557e6af6c8eedc602.tar glibc-0a587a8a98ca32c98e6b00f557e6af6c8eedc602.tar.gz glibc-0a587a8a98ca32c98e6b00f557e6af6c8eedc602.tar.bz2 glibc-0a587a8a98ca32c98e6b00f557e6af6c8eedc602.zip |
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 'sysdeps')
-rw-r--r-- | sysdeps/mach/hurd/chmod.c | 1 | ||||
-rw-r--r-- | sysdeps/mach/hurd/mkdir.c | 1 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/generic/chmod.c | 2 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/generic/mkdir.c | 2 |
4 files changed, 6 insertions, 0 deletions
diff --git a/sysdeps/mach/hurd/chmod.c b/sysdeps/mach/hurd/chmod.c index 943f9855d4..612e62d0b2 100644 --- a/sysdeps/mach/hurd/chmod.c +++ b/sysdeps/mach/hurd/chmod.c @@ -35,4 +35,5 @@ __chmod (const char *file, mode_t mode) return 0; } +libc_hidden_def (__chmod) weak_alias (__chmod, chmod) diff --git a/sysdeps/mach/hurd/mkdir.c b/sysdeps/mach/hurd/mkdir.c index 58c2ac4291..1efac949f6 100644 --- a/sysdeps/mach/hurd/mkdir.c +++ b/sysdeps/mach/hurd/mkdir.c @@ -40,4 +40,5 @@ __mkdir (const char *file_name, mode_t mode) return 0; } +libc_hidden_def (__mkdir) weak_alias (__mkdir, mkdir) diff --git a/sysdeps/unix/sysv/linux/generic/chmod.c b/sysdeps/unix/sysv/linux/generic/chmod.c index 41d6d9851f..551c67cd07 100644 --- a/sysdeps/unix/sysv/linux/generic/chmod.c +++ b/sysdeps/unix/sysv/linux/generic/chmod.c @@ -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) diff --git a/sysdeps/unix/sysv/linux/generic/mkdir.c b/sysdeps/unix/sysv/linux/generic/mkdir.c index 6571d29ca3..7eebe90ba7 100644 --- a/sysdeps/unix/sysv/linux/generic/mkdir.c +++ b/sysdeps/unix/sysv/linux/generic/mkdir.c @@ -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) |