From 9714012ca015f1f6763f66bd74d6f3f9e1512b36 Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Fri, 12 Jun 2015 17:34:11 +0000 Subject: Fix aio_* pread namespace (bug 18519). 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. --- NEWS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'NEWS') diff --git a/NEWS b/NEWS index b4ec2629ab..ea3d824966 100644 --- a/NEWS +++ b/NEWS @@ -21,7 +21,7 @@ Version 2.22 18211, 18217, 18220, 18221, 18234, 18244, 18247, 18287, 18319, 18324, 18333, 18346, 18397, 18409, 18410, 18412, 18418, 18422, 18434, 18444, 18468, 18469, 18470, 18479, 18483, 18495, 18496, 18497, 18498, 18507, - 18520, 18522. + 18519, 18520, 18522. * Cache information can be queried via sysconf() function on s390 e.g. with _SC_LEVEL1_ICACHE_SIZE as argument. -- cgit 1.4.1