diff options
author | Mystery Man <unknown@mandriva.org> | 2003-09-12 15:16:49 +0000 |
---|---|---|
committer | Mystery Man <unknown@mandriva.org> | 2003-09-12 15:16:49 +0000 |
commit | e0a90440b5f10011c62a4ef2ad7ae53ee75eac56 (patch) | |
tree | 8fb507c45d54fb01a7532400679b607cb61e8f33 /mdk-stage1/dietlibc/x86_64/clone.S | |
parent | 83fc804615d6576d1da05e6b5ac955345914a035 (diff) | |
download | drakx-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.S | 64 |
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") |