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 3884bfe966), because vfork now don't
use the stack.
This commit is contained in:
Matthieu Castet
2013-01-16 14:02:50 +01:00
parent 791e26d959
commit faa0fdb119
182 changed files with 364 additions and 546 deletions

View File

@@ -3,11 +3,10 @@
#include <sys/linux-syscalls.h>
ENTRY(mkdir)
.save {r4, r7}
stmfd sp!, {r4, r7}
mov ip, r7
ldr r7, =__NR_mkdir
swi #0
ldmfd sp!, {r4, r7}
mov r7, ip
movs r0, r0
bxpl lr
b __set_syscall_errno