Message ID | 1493735612-26045-1-git-send-email-adhemerval.zanella@linaro.org |
---|---|
State | New |
Headers | show |
Series | [1/3] posix: Fix internal p{read,write} plt usage | expand |
On Mai 02 2017, Adhemerval Zanella <adhemerval.zanella@linaro.org> wrote: > * 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. I think the hidden alias should always be added to all implementations. Ok with that change. Andreas. -- Andreas Schwab, SUSE Labs, schwab@suse.de GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7 "And now for something completely different."
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, diff --git a/sysdeps/unix/sysv/linux/microblaze/localplt.data b/sysdeps/unix/sysv/linux/microblaze/localplt.data index 4187832..a61b94d 100644 --- a/sysdeps/unix/sysv/linux/microblaze/localplt.data +++ b/sysdeps/unix/sysv/linux/microblaze/localplt.data @@ -1,5 +1,4 @@ libc.so: __errno_location -libc.so: __pread64 libc.so: calloc libc.so: free libc.so: malloc diff --git a/sysdeps/unix/sysv/linux/pread.c b/sysdeps/unix/sysv/linux/pread.c index b4f1b87..96df997 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 diff --git a/sysdeps/unix/sysv/linux/pread64.c b/sysdeps/unix/sysv/linux/pread64.c index c7f9cb1..0c2c80e 100644 --- a/sysdeps/unix/sysv/linux/pread64.c +++ b/sysdeps/unix/sysv/linux/pread64.c @@ -30,6 +30,7 @@ __libc_pread64 (int fd, void *buf, size_t count, off64_t offset) } weak_alias (__libc_pread64, __pread64) +libc_hidden_weak (__pread64) weak_alias (__libc_pread64, pread64) #ifdef __OFF_T_MATCHES_OFF64_T diff --git a/sysdeps/unix/sysv/linux/pwrite.c b/sysdeps/unix/sysv/linux/pwrite.c index ef1bb01..ef11d8f 100644 --- a/sysdeps/unix/sysv/linux/pwrite.c +++ b/sysdeps/unix/sysv/linux/pwrite.c @@ -32,5 +32,6 @@ __libc_pwrite (int fd, const void *buf, size_t count, off_t offset) } strong_alias (__libc_pwrite, __pwrite) +libc_hidden_weak (__pwrite) weak_alias (__libc_pwrite, pwrite) #endif