97cf7f3394
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).
35 lines
668 B
ArmAsm
35 lines
668 B
ArmAsm
/* autogenerated by gensyscalls.py */
|
|
#include <sys/linux-syscalls.h>
|
|
|
|
.text
|
|
.type __sys_clone, @function
|
|
.globl __sys_clone
|
|
.align 4
|
|
|
|
__sys_clone:
|
|
pushl %ebx
|
|
pushl %ecx
|
|
pushl %edx
|
|
pushl %esi
|
|
pushl %edi
|
|
mov 24(%esp), %ebx
|
|
mov 28(%esp), %ecx
|
|
mov 32(%esp), %edx
|
|
mov 36(%esp), %esi
|
|
mov 40(%esp), %edi
|
|
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 %edi
|
|
popl %esi
|
|
popl %edx
|
|
popl %ecx
|
|
popl %ebx
|
|
ret
|