summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/dietlibc/i386/clone.S
diff options
context:
space:
mode:
authorMystery Man <unknown@mandriva.org>2002-07-23 11:21:56 +0000
committerMystery Man <unknown@mandriva.org>2002-07-23 11:21:56 +0000
commit882ed9f801f347b87e162777b296d5be79b8b7ba (patch)
treeb3ee4e9e881f5bda8d243626aac2bea772f25e68 /mdk-stage1/dietlibc/i386/clone.S
parent127a73d935d78af53d3dadd05d4636f6b717976d (diff)
downloaddrakx-882ed9f801f347b87e162777b296d5be79b8b7ba.tar
drakx-882ed9f801f347b87e162777b296d5be79b8b7ba.tar.gz
drakx-882ed9f801f347b87e162777b296d5be79b8b7ba.tar.bz2
drakx-882ed9f801f347b87e162777b296d5be79b8b7ba.tar.xz
drakx-882ed9f801f347b87e162777b296d5be79b8b7ba.zip
This commit was manufactured by cvs2svn to create tag 'V1_1_8_9mdk'.V1_1_8_9mdk
Diffstat (limited to 'mdk-stage1/dietlibc/i386/clone.S')
-rw-r--r--mdk-stage1/dietlibc/i386/clone.S51
1 files changed, 0 insertions, 51 deletions
diff --git a/mdk-stage1/dietlibc/i386/clone.S b/mdk-stage1/dietlibc/i386/clone.S
deleted file mode 100644
index ac02eb468..000000000
--- a/mdk-stage1/dietlibc/i386/clone.S
+++ /dev/null
@@ -1,51 +0,0 @@
-#include <asm/unistd.h>
-
-.text
-.weak clone
-clone:
-.global __clone
-__clone:
- movl 4(%esp), %ecx /* have non null thread_funcion */
- testl %ecx, %ecx
- je .Lclone_error
-
- movl 8(%esp), %ecx /* have non null child_stack pointer */
- testl %ecx, %ecx
- je .Lclone_error
-
- /* put the parameter on thread stack */
- subl $8, %ecx
-
- movl 16(%esp), %eax /* arg */
- movl %eax, 4(%ecx)
-
- movl 4(%esp), %eax /* thread_func */
- movl %eax, 0(%ecx)
-
- /* the syscall */
- pushl %ebx
- movl 16(%esp), %ebx /* flags */
- movl $__NR_clone, %eax
- int $0x80
- popl %ebx
-
- testl %eax, %eax
- jl .Lclone_error
- je .Lstart_thread
- ret
-
-.Lstart_thread:
- xorl %ebp,%ebp
- call *%ebx
- pushl %eax
- call _exit
-
-.Lclone_error:
- negl %eax
- pushl %eax
- call __errno_location
- popl %ecx
- movl %ecx, (%eax)
- xorl %eax, %eax
- decl %eax
- ret