diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2016-07-12 09:21:36 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2016-07-12 09:21:56 -0700 |
commit | f531f93056b34800383c5154280e7ba5112563c7 (patch) | |
tree | 23cd6ebe83824bea3829476456b8c112221666aa /ChangeLog | |
parent | 3bbee82a56b38fc4ee28ecb59721ea1d42494642 (diff) | |
download | glibc-f531f93056b34800383c5154280e7ba5112563c7.tar.gz glibc-f531f93056b34800383c5154280e7ba5112563c7.tar.xz glibc-f531f93056b34800383c5154280e7ba5112563c7.zip |
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.
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog index a93884a18e..e9ab885a5b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,11 @@ 2016-07-12 H.J. Lu <hongjiu.lu@intel.com> + [BZ #20348] + * sysdeps/unix/sysv/linux/x86_64/syscalls.list: Add pread64, + preadv64, pwrite64 and pwritev64. + +2016-07-12 H.J. Lu <hongjiu.lu@intel.com> + [BZ #20350] * posix/tst-preadwrite.c: Renamed to ... * posix/tst-preadwrite-common.c: This. |