summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/common
diff options
context:
space:
mode:
Diffstat (limited to 'libc/sysdeps/linux/common')
-rw-r--r--libc/sysdeps/linux/common/fork.c7
-rw-r--r--libc/sysdeps/linux/common/vfork.c7
2 files changed, 9 insertions, 5 deletions
diff --git a/libc/sysdeps/linux/common/fork.c b/libc/sysdeps/linux/common/fork.c
index e766799c0..899cbaf63 100644
--- a/libc/sysdeps/linux/common/fork.c
+++ b/libc/sysdeps/linux/common/fork.c
@@ -12,8 +12,9 @@
#ifdef __ARCH_HAS_MMU__
#ifdef __NR_fork
-#define __NR___libc_fork __NR_fork
-_syscall0(pid_t, __libc_fork);
-weak_alias(__libc_fork, fork);
+#define __NR___fork __NR_fork
+attribute_hidden _syscall0(pid_t, __fork);
+strong_alias(__fork,fork)
+weak_alias(__fork,__libc_fork)
#endif
#endif
diff --git a/libc/sysdeps/linux/common/vfork.c b/libc/sysdeps/linux/common/vfork.c
index ba4f042ca..d0a4d9a0e 100644
--- a/libc/sysdeps/linux/common/vfork.c
+++ b/libc/sysdeps/linux/common/vfork.c
@@ -2,7 +2,10 @@
#include <unistd.h>
#include <sys/types.h>
-pid_t vfork(void)
+extern __pid_t __fork (void) __THROW attribute_hidden;
+
+pid_t attribute_hidden __vfork(void)
{
- return fork();
+ return __fork();
}
+strong_alias(__vfork,vfork)