95d751feac
This patch improves the handling of 64-bit parameters in syscalls on ARM. The ARM EABI mandates that 64-bit quantities be passed in even/odd register pairs, which requires special treatment. This allows us to simplify our implementations of pread() and pwrite() and remove the C stubs for pread64() and pwrite64(). Also add ftruncate64() to <unistd.h> Change-Id: I407e2fd223ba0093dd2d0b04c6152fadfc9ce3ef Bug 3107933
22 lines
432 B
ArmAsm
22 lines
432 B
ArmAsm
/* autogenerated by gensyscalls.py */
|
|
#include <sys/linux-syscalls.h>
|
|
|
|
.text
|
|
.type pread64, #function
|
|
.globl pread64
|
|
.align 4
|
|
.fnstart
|
|
|
|
pread64:
|
|
mov ip, sp
|
|
.save {r4, r5, r6, r7}
|
|
stmfd sp!, {r4, r5, r6, r7}
|
|
ldmfd ip, {r4, r5, r6}
|
|
ldr r7, =__NR_pread64
|
|
swi #0
|
|
ldmfd sp!, {r4, r5, r6, r7}
|
|
movs r0, r0
|
|
bxpl lr
|
|
b __set_syscall_errno
|
|
.fnend
|