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(__brk)
.save {r4, r7}
stmfd sp!, {r4, r7}
mov ip, r7
ldr r7, =__NR_brk
swi #0
ldmfd sp!, {r4, r7}
mov r7, ip
movs r0, r0
bxpl lr
b __set_syscall_errno

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

Some files were not shown because too many files have changed in this diff Show More