bionic/libc/arch-aarch64/syscalls/pread64.S
Elliott Hughes 8fbf8deb34 Fix pread/pwrite for LP64.
Unlike on 32-bit systems where off_t is 32-bit, we don't want to
throw away the top 32 bits of an LP64 system's 64-bit off_t.

Change-Id: Ib2e0daeb4fc0b8ab3d1b983d0b371d8f81033b50
2013-11-06 13:10:37 -08:00

27 lines
511 B
ArmAsm

/* Generated by gensyscalls.py. Do not edit. */
#include <asm/unistd.h>
#include <linux/err.h>
#include <machine/asm.h>
ENTRY(pread64)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_pread64
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(pread64)
.globl _C_LABEL(pread)
.equ _C_LABEL(pread), _C_LABEL(pread64)