diff options
Diffstat (limited to 'libc/arch-arm/syscalls')
-rw-r--r-- | libc/arch-arm/syscalls/__sys_clone.S (renamed from libc/arch-arm/syscalls/__clone.S) | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/libc/arch-arm/syscalls/__clone.S b/libc/arch-arm/syscalls/__sys_clone.S index 650e2c0..9fe2641 100644 --- a/libc/arch-arm/syscalls/__clone.S +++ b/libc/arch-arm/syscalls/__sys_clone.S @@ -2,17 +2,19 @@ #include <sys/linux-syscalls.h> .text - .type __clone, #function - .globl __clone + .type __sys_clone, #function + .globl __sys_clone .align 4 .fnstart -__clone: - .save {r4, r7} - stmfd sp!, {r4, r7} +__sys_clone: + mov ip, sp + .save {r4, r5, r6, r7} + stmfd sp!, {r4, r5, r6, r7} + ldmfd ip, {r4, r5, r6} ldr r7, =__NR_clone swi #0 - ldmfd sp!, {r4, r7} + ldmfd sp!, {r4, r5, r6, r7} movs r0, r0 bxpl lr b __set_syscall_errno |