libc: Add ftruncate64 and improve 64-bit parameter syscall handling.
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
This commit is contained in:
@@ -28,10 +28,8 @@
|
||||
#include <sys/types.h>
|
||||
#include <unistd.h>
|
||||
|
||||
extern int __pwrite64(int fd, const void *buf, size_t nbytes, loff_t offset);
|
||||
|
||||
ssize_t pwrite(int fd, const void *buf, size_t nbytes, off_t offset)
|
||||
{
|
||||
return __pwrite64(fd, buf, nbytes, offset);
|
||||
return pwrite64(fd, buf, nbytes, (off64_t)offset);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user