about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/pread.c
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2017-04-26 18:34:47 -0300
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2017-05-02 14:57:40 -0300
commit827b82378366b026413c8e80a78ba880b9f94a18 (patch)
treeb1c604d790122f66fc43b5a9ff6b6fd59fa9fe02 /sysdeps/unix/sysv/linux/pread.c
parent24a10cfb3e46e8bf7257c099a2ed7c8814624f05 (diff)
downloadglibc-827b82378366b026413c8e80a78ba880b9f94a18.tar.gz
glibc-827b82378366b026413c8e80a78ba880b9f94a18.tar.xz
glibc-827b82378366b026413c8e80a78ba880b9f94a18.zip
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 'sysdeps/unix/sysv/linux/pread.c')
-rw-r--r--sysdeps/unix/sysv/linux/pread.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/pread.c b/sysdeps/unix/sysv/linux/pread.c
index b4f1b87d64..96df99747a 100644
--- a/sysdeps/unix/sysv/linux/pread.c
+++ b/sysdeps/unix/sysv/linux/pread.c
@@ -32,5 +32,6 @@ __libc_pread (int fd, void *buf, size_t count, off_t offset)
 }
 
 strong_alias (__libc_pread, __pread)
+libc_hidden_weak (__pread)
 weak_alias (__libc_pread, pread)
 #endif