diff options
author | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2017-04-26 18:34:47 -0300 |
---|---|---|
committer | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2017-05-02 14:57:40 -0300 |
commit | 827b82378366b026413c8e80a78ba880b9f94a18 (patch) | |
tree | b1c604d790122f66fc43b5a9ff6b6fd59fa9fe02 /include | |
parent | 24a10cfb3e46e8bf7257c099a2ed7c8814624f05 (diff) | |
download | glibc-827b82378366b026413c8e80a78ba880b9f94a18.zip glibc-827b82378366b026413c8e80a78ba880b9f94a18.tar.gz glibc-827b82378366b026413c8e80a78ba880b9f94a18.tar.bz2 |
posix: Fix internal p{read,write} plt usage
This patch adds internal alias for __pread, __pread64, and __pwrite
following the already in place one for __pwrite64. This is not used
in any implementation but on microblaze on preadv/pwritev fallback
(since it does not define __ASSUME_PREADV).
In fact it was signaled by commit c35db50ff5 which update the expected
localptl.data for the architecture based on resulted value. This patch
updates the plt for microblaze now that p{read,write}{64} are correctly
routed to use internal alias.
Checked on x86_64-linux-gnu and a build for all supported architectures
(no all variants although).
* include/unistd.h (__pread): Add libc_hidden_proto.
(__pread64): Likewise.
(__pwrite): Likewise.
* sysdeps/unix/sysv/linux/microblaze/localplt.data [libc.so]
(__pread64): Remove.
* sysdeps/unix/sysv/linux/pread.c (__pread64): Add libc_hidden_weak.
* sysdeps/unix/sysv/linux/pread64.c (__pread64): Likewise.
* sysdeps/unix/sysv/linux/pwrite.c (__pwrite): Likewise.
Diffstat (limited to 'include')
-rw-r--r-- | include/unistd.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/unistd.h b/include/unistd.h index 16a8815..f36759b 100644 --- a/include/unistd.h +++ b/include/unistd.h @@ -33,14 +33,17 @@ extern __off_t __libc_lseek (int __fd, __off_t __offset, int __whence); extern __off64_t __libc_lseek64 (int __fd, __off64_t __offset, int __whence); extern ssize_t __pread (int __fd, void *__buf, size_t __nbytes, __off_t __offset); +libc_hidden_proto (__pread); extern ssize_t __libc_pread (int __fd, void *__buf, size_t __nbytes, __off_t __offset); extern ssize_t __pread64 (int __fd, void *__buf, size_t __nbytes, __off64_t __offset); +libc_hidden_proto (__pread64); extern ssize_t __libc_pread64 (int __fd, void *__buf, size_t __nbytes, __off64_t __offset); extern ssize_t __pwrite (int __fd, const void *__buf, size_t __n, __off_t __offset); +libc_hidden_proto (__pwrite) extern ssize_t __libc_pwrite (int __fd, const void *__buf, size_t __n, __off_t __offset); extern ssize_t __pwrite64 (int __fd, const void *__buf, size_t __n, |