summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/dietlibc/x86_64/clone.S
diff options
context:
space:
mode:
authorMystery Man <unknown@mandriva.org>2003-09-12 15:16:49 +0000
committerMystery Man <unknown@mandriva.org>2003-09-12 15:16:49 +0000
commite0a90440b5f10011c62a4ef2ad7ae53ee75eac56 (patch)
tree8fb507c45d54fb01a7532400679b607cb61e8f33 /mdk-stage1/dietlibc/x86_64/clone.S
parent83fc804615d6576d1da05e6b5ac955345914a035 (diff)
downloaddrakx-e0a90440b5f10011c62a4ef2ad7ae53ee75eac56.tar
drakx-e0a90440b5f10011c62a4ef2ad7ae53ee75eac56.tar.gz
drakx-e0a90440b5f10011c62a4ef2ad7ae53ee75eac56.tar.bz2
drakx-e0a90440b5f10011c62a4ef2ad7ae53ee75eac56.tar.xz
drakx-e0a90440b5f10011c62a4ef2ad7ae53ee75eac56.zip
This commit was manufactured by cvs2svn to create tag 'V9_2_11mdk'.V9_2_11mdk
Diffstat (limited to 'mdk-stage1/dietlibc/x86_64/clone.S')
-rw-r--r--mdk-stage1/dietlibc/x86_64/clone.S64
1 files changed, 0 insertions, 64 deletions
diff --git a/mdk-stage1/dietlibc/x86_64/clone.S b/mdk-stage1/dietlibc/x86_64/clone.S
deleted file mode 100644
index 82c8c5bae..000000000
--- a/mdk-stage1/dietlibc/x86_64/clone.S
+++ /dev/null
@@ -1,64 +0,0 @@
-#include "syscalls.h"
-#include <errno.h>
-#include "dietwarning.h"
-
-.text
-.type clone,@function
-.weak clone
-clone:
-.type __clone,@function
-.global __clone
-__clone:
- movl $-EINVAL,%eax
- testq %rdi,%rdi /* have non null thread_funcion */
- jz .Lclone_error
- testq %rsi,%rsi /* have non null child_stack pointer */
- jz .Lclone_error
-
- /* put the parameters on thread stack */
- subq $16,%rsi
- movq %rcx,8(%rsi) /* thread parameter */
- movq %rdi,0(%rsi) /* thread function */
-
- /* syscall */
- movq %rdx,%rdi
- movl $__NR_clone,%eax
- syscall
- cmpl $0,%eax
- jl .Lclone_error
- jne .Lreturn
-
-.thread_start:
- /* call thread function */
- popq %rax
- popq %rdi
- call *%rax
- /* exit a thread */
- movq %rax,%rdi
-#ifdef PIC
- jmp _exit@PLT
-#else
- jmp _exit
-#endif
-
-.Lclone_error:
- /* set errno */
- negl %eax
- pushq %rax
-#ifdef PIC
- call __errno_location@PLT
-#else
- call __errno_location
-#endif
- popq %rcx
- movl %ecx,(%rax)
- orq $-1, %rax
-
-.Lreturn:
- /* just return */
- ret
-
-link_warning("clone", "warning: clone() not yet tested")
-link_warning("__clone", "warning: clone() not yet tested")
-//link_warning("clone", "warning: clone() not yet implemented")
-//link_warning("__clone", "warning: clone() not yet implemented")