summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/nios2/vfork.S
diff options
context:
space:
mode:
Diffstat (limited to 'libc/sysdeps/linux/nios2/vfork.S')
-rw-r--r--libc/sysdeps/linux/nios2/vfork.S30
1 files changed, 15 insertions, 15 deletions
diff --git a/libc/sysdeps/linux/nios2/vfork.S b/libc/sysdeps/linux/nios2/vfork.S
index a19a90023..d75edcec9 100644
--- a/libc/sysdeps/linux/nios2/vfork.S
+++ b/libc/sysdeps/linux/nios2/vfork.S
@@ -9,23 +9,20 @@
*
* Written by Wentao Xu <wentao@microtronix.com>
*/
-#include <asm/unistd.h>
-#ifndef __NR_vfork
-#define __NR_vfork __NR_fork /* uClinux-2.0 only has fork which is vfork */
-#endif
+#include <features.h>
+
+#define _ERRNO_H
+#include <bits/errno.h>
+#include <sys/syscall.h>
+
+#ifdef __NR_fork
+.text
+.global __vfork
+.hidden __vfork
+.type __vfork,%function
+.align 4
- .text
- .balign 4
- .globl errno
- .globl vfork
- .globl __libc_vfork
-#if defined __HAVE_ELF__
- .type vfork,@function
- .type __libc_vfork,@function
-#endif
-vfork:
-__libc_vfork:
movui r2, TRAP_ID_SYSCALL
movui r3, __NR_vfork
trap
@@ -51,3 +48,6 @@ fix_errno:
addi sp, sp, 8
ret
+.size __vfork,.-__vfork
+strong_alias(__vfork,vfork)
+#endif