summaryrefslogtreecommitdiff
path: root/libc/sysdeps
diff options
context:
space:
mode:
Diffstat (limited to 'libc/sysdeps')
-rw-r--r--libc/sysdeps/linux/common/umount.c17
-rw-r--r--libc/sysdeps/linux/common/umount2.c7
2 files changed, 7 insertions, 17 deletions
diff --git a/libc/sysdeps/linux/common/umount.c b/libc/sysdeps/linux/common/umount.c
index a084d29bd..916c6c815 100644
--- a/libc/sysdeps/linux/common/umount.c
+++ b/libc/sysdeps/linux/common/umount.c
@@ -9,24 +9,15 @@
#include <sys/syscall.h>
-#if defined __USE_GNU
#include <sys/mount.h>
-
-/* arch provides umount() syscall */
#ifdef __NR_umount
-
_syscall1(int, umount, const char *, specialfile)
-
-/* arch provides umount2() syscall */
#elif defined __NR_umount2
-
-# define __NR___syscall_umount2 __NR_umount2
-static __inline__ _syscall2(int, __syscall_umount2, const char *, special_file, int, flags)
-
+# ifndef __UCLIBC_LINUX_SPECIFIC__
+static __always_inline _syscall2(int, umount2, const char *, special_file, int, flags)
+# endif
int umount(const char *special_file)
{
- return (__syscall_umount2(special_file, 0));
+ return umount2(special_file, 0);
}
-
-#endif
#endif
diff --git a/libc/sysdeps/linux/common/umount2.c b/libc/sysdeps/linux/common/umount2.c
index 2cc4a2338..08e0f3388 100644
--- a/libc/sysdeps/linux/common/umount2.c
+++ b/libc/sysdeps/linux/common/umount2.c
@@ -9,9 +9,8 @@
#include <sys/syscall.h>
-#if defined __USE_GNU
-#include <sys/mount.h>
-#ifdef __NR_umount2 /* Old kernels don't have umount2 */
+#if defined __UCLIBC_LINUX_SPECIFIC__ && defined __NR_umount2
+# include <sys/mount.h>
_syscall2(int, umount2, const char *, special_file, int, flags)
-#endif
+libc_hidden_def(umount2)
#endif