aboutsummaryrefslogtreecommitdiff
path: root/sysdeps
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 /sysdeps
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 'sysdeps')
-rw-r--r--sysdeps/mach/hurd/chmod.c1
-rw-r--r--sysdeps/mach/hurd/mkdir.c1
-rw-r--r--sysdeps/unix/sysv/linux/generic/chmod.c2
-rw-r--r--sysdeps/unix/sysv/linux/generic/mkdir.c2
4 files changed, 6 insertions, 0 deletions
diff --git a/sysdeps/mach/hurd/chmod.c b/sysdeps/mach/hurd/chmod.c
index 943f985..612e62d 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 58c2ac4..1efac94 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 41d6d98..551c67c 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 6571d29..7eebe90 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)