arm syscall : for eabi call_default don't use stack
In the default case, we don't need to use the stack, we can save r7 with
ip register (that what does eglibc).
This allow to fix vfork data corruption
(see 3884bfe9661955543ce203c60f9225bbdf33f6bb), because vfork now don't
use the stack.
diff --git a/libc/arch-arm/syscalls/__set_tls.S b/libc/arch-arm/syscalls/__set_tls.S
index cf5d6b6..3039b35 100644
--- a/libc/arch-arm/syscalls/__set_tls.S
+++ b/libc/arch-arm/syscalls/__set_tls.S
@@ -3,11 +3,10 @@
#include <sys/linux-syscalls.h>
ENTRY(__set_tls)
- .save {r4, r7}
- stmfd sp!, {r4, r7}
+ mov ip, r7
ldr r7, =__NR_ARM_set_tls
swi #0
- ldmfd sp!, {r4, r7}
+ mov r7, ip
movs r0, r0
bxpl lr
b __set_syscall_errno