diff options
author | David 'Digit' Turner <digit@google.com> | 2010-01-22 18:59:05 -0800 |
---|---|---|
committer | David 'Digit' Turner <digit@google.com> | 2010-01-25 11:18:30 -0800 |
commit | 97cf7f3394780d524038fc083e2c134031b54728 (patch) | |
tree | 40b61956bbe4d28babe839c3be40e9f114810e5f /libc/arch-x86/syscalls/__clone.S | |
parent | 1a2917ca954f575cc9698c99e54bd93087793c8f (diff) | |
download | bionic-97cf7f3394780d524038fc083e2c134031b54728.zip bionic-97cf7f3394780d524038fc083e2c134031b54728.tar.gz bionic-97cf7f3394780d524038fc083e2c134031b54728.tar.bz2 |
Implement clone() C library function properly.
Only provide an implementation for ARM at the moment, since
it requires specific assembly fragments (the standard syscall
stubs cannot be used because the child returns in a different
stack).
Diffstat (limited to 'libc/arch-x86/syscalls/__clone.S')
-rw-r--r-- | libc/arch-x86/syscalls/__clone.S | 32 |
1 files changed, 0 insertions, 32 deletions
diff --git a/libc/arch-x86/syscalls/__clone.S b/libc/arch-x86/syscalls/__clone.S deleted file mode 100644 index 5862129..0000000 --- a/libc/arch-x86/syscalls/__clone.S +++ /dev/null @@ -1,32 +0,0 @@ -/* autogenerated by gensyscalls.py */ -#include <sys/linux-syscalls.h> - - .text - .type __clone, @function - .globl __clone - .align 4 - -__clone: - pushl %ebx - pushl %ecx - pushl %edx - pushl %esi - mov 20(%esp), %ebx - mov 24(%esp), %ecx - mov 28(%esp), %edx - mov 32(%esp), %esi - movl $__NR_clone, %eax - int $0x80 - cmpl $-129, %eax - jb 1f - negl %eax - pushl %eax - call __set_errno - addl $4, %esp - orl $-1, %eax -1: - popl %esi - popl %edx - popl %ecx - popl %ebx - ret |