x86-64: Add p{read,write}[v]64 to syscalls.list [BZ #20348]
authorH.J. Lu <hjl.tools@gmail.com>
Tue, 12 Jul 2016 16:21:36 +0000 (09:21 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Tue, 12 Jul 2016 16:21:56 +0000 (09:21 -0700)
commitf531f93056b34800383c5154280e7ba5112563c7
tree23cd6ebe83824bea3829476456b8c112221666aa
parent3bbee82a56b38fc4ee28ecb59721ea1d42494642
x86-64: Add p{read,write}[v]64 to syscalls.list [BZ #20348]

64-bit off_t in pread64, preadv, pwrite64 and pwritev syscalls is passed
in one 64-bit register for both x32 and x86-64.  Since the inline
asm statement only passes long, which is 32-bit for x32, in registers,
64-bit off_t is truncated to 32-bit on x32.  Since __ASSUME_PREADV and
__ASSUME_PWRITEV are defined unconditionally, these syscalls can be
implemented in syscalls.list to pass 64-bit off_t in one 64-bit register.

Tested on x86-64 and x32 with off_t > 4GB on pread64/pwrite64 and
preadv64/pwritev64.

[BZ #20348]
* sysdeps/unix/sysv/linux/x86_64/syscalls.list: Add pread64,
preadv64, pwrite64 and pwritev64.
ChangeLog
sysdeps/unix/sysv/linux/x86_64/syscalls.list