mirror of
git://sourceware.org/git/glibc.git
synced 2025-01-30 12:31:53 +08:00
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.
This commit is contained in:
parent
24a10cfb3e
commit
827b823783
11
ChangeLog
11
ChangeLog
@ -1,3 +1,14 @@
|
||||
2017-05-02 Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
||||
|
||||
* 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.
|
||||
|
||||
2017-05-02 Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>
|
||||
|
||||
* sysdeps/powerpc/fpu/libm-test-ulps: Update.
|
||||
|
@ -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,
|
||||
|
@ -1,5 +1,4 @@
|
||||
libc.so: __errno_location
|
||||
libc.so: __pread64
|
||||
libc.so: calloc
|
||||
libc.so: free
|
||||
libc.so: malloc
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user