summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libc/sysdeps/linux/i386/vfork.S8
-rw-r--r--libc/sysdeps/linux/powerpc/vfork.S11
-rw-r--r--libc/sysdeps/linux/sparc/vfork.S10
-rw-r--r--libc/sysdeps/linux/x86_64/vfork.S8
4 files changed, 13 insertions, 24 deletions
diff --git a/libc/sysdeps/linux/i386/vfork.S b/libc/sysdeps/linux/i386/vfork.S
index 02c049faa..bc7ccdb32 100644
--- a/libc/sysdeps/linux/i386/vfork.S
+++ b/libc/sysdeps/linux/i386/vfork.S
@@ -4,13 +4,13 @@
* Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
*/
-#include <features.h>
#include <sys/syscall.h>
#ifndef __NR_vfork
/* No vfork so use fork instead */
-hidden_strong_alias(__libc_fork,__vfork)
-#else
+# define __NR_vfork __NR_fork
+#endif
+
.text
.global __vfork
.hidden __vfork
@@ -27,6 +27,6 @@ __vfork:
ret
.size __vfork,.-__vfork
-#endif
+
weak_alias(__vfork,vfork)
libc_hidden_def(vfork)
diff --git a/libc/sysdeps/linux/powerpc/vfork.S b/libc/sysdeps/linux/powerpc/vfork.S
index a55b6fbc9..a79cf9e39 100644
--- a/libc/sysdeps/linux/powerpc/vfork.S
+++ b/libc/sysdeps/linux/powerpc/vfork.S
@@ -3,16 +3,13 @@
*
* Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
*/
-#include <features.h>
+
#include <sys/syscall.h>
#ifndef __NR_vfork
-
/* No vfork so use fork instead */
-strong_alias(fork,__libc_fork)
-hidden_strong_alias(__libc_fork,__vfork)
-
-#else
+# define __NR_vfork __NR_fork
+#endif
.text
.global __vfork
@@ -27,6 +24,6 @@ __vfork:
b __syscall_error
.size __vfork,.-__vfork
-#endif
+
weak_alias(__vfork,vfork)
libc_hidden_def(vfork)
diff --git a/libc/sysdeps/linux/sparc/vfork.S b/libc/sysdeps/linux/sparc/vfork.S
index 663243d58..18c980031 100644
--- a/libc/sysdeps/linux/sparc/vfork.S
+++ b/libc/sysdeps/linux/sparc/vfork.S
@@ -19,16 +19,12 @@
/* Code taken from glibc2.2.2/sysdeps/unix/sysv/linux/sparc/vfork.S */
-#include <features.h>
#include <sys/syscall.h>
#ifndef __NR_vfork
/* No vfork so use fork instead */
-
-strong_alias(fork,__libc_fork)
-hidden_strong_alias(__libc_fork,__vfork)
-
-#else
+# define __NR_vfork __NR_fork
+#endif
.text
.global __vfork
@@ -54,6 +50,6 @@ __vfork:
and %o0, %o1, %o0
.size __vfork,.-__vfork
-#endif /* __NR_vfork */
+
weak_alias(__vfork,vfork)
libc_hidden_def(vfork)
diff --git a/libc/sysdeps/linux/x86_64/vfork.S b/libc/sysdeps/linux/x86_64/vfork.S
index a065916d1..41acfeec0 100644
--- a/libc/sysdeps/linux/x86_64/vfork.S
+++ b/libc/sysdeps/linux/x86_64/vfork.S
@@ -16,7 +16,6 @@
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
-#include <features.h>
#include <sys/syscall.h>
/* Clone the calling process, but without copying the whole address space.
@@ -26,10 +25,8 @@
#ifndef __NR_vfork
/* No vfork so use fork instead */
-strong_alias(fork,__libc_fork)
-hidden_strong_alias(__libc_fork,__vfork)
-
-#else
+# define __NR_vfork __NR_fork
+#endif
.text
.global __vfork
@@ -58,6 +55,5 @@ __vfork:
.size __vfork,.-__vfork
-#endif /* __NR_vfork */
weak_alias(__vfork,vfork)
libc_hidden_def(vfork)