mirror of git://sourceware.org/git/glibc.git
aio_* bring in references to pread, which isn't in all the standards containing aio_* (as a reference from one library to another, this is a bug for dynamic as well as static linking). This patch fixes this by using __libc_pread instead, exporting that function from libc at symbol version GLIBC_PRIVATE; the code, with conditionals that may call either __pread64 or __libc_pread, becomes exactly analogous to that elsewhere in the same file that may call either __pwrite64 or __libc_pwrite. Tested for x86_64 and x86 (testsuite, and comparison of disassembly of installed shared libraries). libc changes because of the PLT entry for the newly exported __libc_pread; librt changes because of assertion line numbers and PLT rearrangement; other stripped installed shared libraries do not change. [BZ #18519] * posix/Versions (libc): Export __libc_pread at version GLIBC_PRIVATE. * sysdeps/pthread/aio_misc.c (handle_fildes_io): Call __libc_pread instead of pread. * conform/Makefile (test-xfail-POSIX/aio.h/linknamespace): Remove variable. |
||
|---|---|---|
| .. | ||
| bits | ||
| Makeconfig | ||
| Makefile | ||
| Versions | ||
| aio_cancel.c | ||
| aio_error.c | ||
| aio_fsync.c | ||
| aio_misc.c | ||
| aio_misc.h | ||
| aio_notify.c | ||
| aio_read.c | ||
| aio_read64.c | ||
| aio_suspend.c | ||
| aio_write.c | ||
| aio_write64.c | ||
| allocalim.h | ||
| flockfile.c | ||
| ftrylockfile.c | ||
| funlockfile.c | ||
| lio_listio.c | ||
| lio_listio64.c | ||
| posix-timer.h | ||
| semaphore.h | ||
| timer_create.c | ||
| timer_delete.c | ||
| timer_getoverr.c | ||
| timer_gettime.c | ||
| timer_routines.c | ||
| timer_settime.c | ||
| tst-timer.c | ||