@@ -25,10 +25,10 @@
/* int clone(int (*fn)(void *arg), void *child_stack, int flags, void *arg); */
- .text
+.text
- .align 4
+.global __clone
- .globl __clone
+.type __clone,%function
- .type __clone,@function
+.align 4
__clone:
save %sp,-96,%sp
@@ -21,10 +21,10 @@
#include <sys/syscall.h>
-.text;
-.global __libc_fork;
+.global __libc_fork
-.align 4;
+.type __libc_fork,%function
-.type __libc_fork,@function;
__libc_fork:
mov __NR_fork, %g1
@@ -43,6 +43,7 @@ __libc_fork:
retl
and %o0, %o1, %o0
-.size __libc_fork,.-__libc_fork;
+.size __libc_fork,.-__libc_fork
-.weak fork; fork = __libc_fork
+.weak fork
+ fork = __libc_fork
@@ -22,16 +22,18 @@
#ifndef __NR_vfork
-/* uClinux-2.0 only has fork which is really vfork */
+/* No vfork so use fork instead */
-#define __NR_vfork __NR_fork
+.weak vfork
-#endif
+ vfork = __libc_fork
+#else
-.global vfork;
-.type vfork,@function;
-vfork:
+.global vfork
+.type vfork,%function
+
+__vfork:
mov __NR_vfork, %g1
ta 0x10
bcc,a 9000f
@@ -48,5 +50,9 @@ vfork:
-.size vfork,.-vfork;
+.size __vfork,.-__vfork
+ vfork = __vfork
+#endif /* __NR_vfork */