summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/dietlibc/sparc/clone.S
diff options
context:
space:
mode:
authorMystery Man <unknown@mandriva.org>2005-04-05 19:41:54 +0000
committerMystery Man <unknown@mandriva.org>2005-04-05 19:41:54 +0000
commit1d9a4b73a37c6e942f909c2d42ca13b5c47e8362 (patch)
tree5bab4266bc57a31d97ac6a8badc2ede721a42c9c /mdk-stage1/dietlibc/sparc/clone.S
parent4691e29d1228b10abbe586c5ecb87ec9e13bd3ec (diff)
downloaddrakx-backup-do-not-use-10_2_20mdk.tar
drakx-backup-do-not-use-10_2_20mdk.tar.gz
drakx-backup-do-not-use-10_2_20mdk.tar.bz2
drakx-backup-do-not-use-10_2_20mdk.tar.xz
drakx-backup-do-not-use-10_2_20mdk.zip
This commit was manufactured by cvs2svn to create tag 'V10_2_20mdk'.V10_2_20mdk
Diffstat (limited to 'mdk-stage1/dietlibc/sparc/clone.S')
-rw-r--r--mdk-stage1/dietlibc/sparc/clone.S46
1 files changed, 0 insertions, 46 deletions
diff --git a/mdk-stage1/dietlibc/sparc/clone.S b/mdk-stage1/dietlibc/sparc/clone.S
deleted file mode 100644
index fd8d1d126..000000000
--- a/mdk-stage1/dietlibc/sparc/clone.S
+++ /dev/null
@@ -1,46 +0,0 @@
-#include <errno.h>
-#include "syscalls.h"
-
-.text
-.align 4
-.weak clone
-clone:
-.type __clone,#function
-.global __clone
-__clone:
- save %sp, -96, %sp
-
- tst %i0 /* check for function pointer */
- be .Lerror
- tst %i1 /* check for stack pointer */
- be .Lerror
- nop
-
- mov %i1, %o1 /* child-stack */
- mov %i2, %o0 /* clone-flags */
- mov __NR_clone, %g1
- ta 0x10 /* syscall: clone */
- bcs .Lerror
-
- tst %o1
- bne .Lstart /* we are the child :) */
- nop
- mov %o0, %i0 /* return child pid */
- ret
- restore
-
-.Lerror:
- call __errno_location
- nop
- mov EINVAL, %l0
- st %l0, [%o0]
- ret
- restore %g0, -1, %o0
-
-.Lstart:
- call %i0 /* call child-function */
- mov %i3, %o0 /* put arg in the right place for the child */
-
- call _exit /* child returned */
- nop
-