]> sourceware.org Git - glibc.git/commitdiff
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)
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

index a93884a18eeddb159c70a3706931191e97eca723..e9ab885a5b978126a23ad34cb9f02c7bb0107fdf 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+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]
index d09d101da5b8a91f6275f762d00102e35b7ae3bc..bcf63701de399048a756b944c7c61dae387d6016 100644 (file)
@@ -6,6 +6,10 @@ msgctl         -       msgctl          i:iip   __msgctl        msgctl
 msgget         -       msgget          i:ii    __msgget        msgget
 msgrcv         -       msgrcv          Ci:ibnii __msgrcv       msgrcv
 msgsnd         -       msgsnd          Ci:ibni __msgsnd        msgsnd
+pread64                -       pread64         Ci:ipii __libc_pread    __libc_pread64 __pread64 pread64 __pread pread
+preadv64       -       preadv          Ci:ipii preadv64        preadv
+pwrite64       -       pwrite64        Ci:ipii __libc_pwrite   __pwrite64 pwrite64 __pwrite pwrite
+pwritev64      -       pwritev         Ci:ipii pwritev64       pwritev
 shmat          -       shmat           i:ipi   __shmat         shmat
 shmctl         -       shmctl          i:iip   __shmctl        shmctl
 shmdt          -       shmdt           i:s     __shmdt         shmdt
This page took 0.180843 seconds and 5 git commands to generate.