about summary refs log tree commit diff
path: root/conform
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2015-06-12 17:34:11 +0000
committerJoseph Myers <joseph@codesourcery.com>2015-06-12 17:34:11 +0000
commit9714012ca015f1f6763f66bd74d6f3f9e1512b36 (patch)
tree418f7f2316fdce01a1e14b2dd19f2df91c2ea0e4 /conform
parent498c1f6a7c7f7b634d02e740f15789cf68820a54 (diff)
downloadglibc-9714012ca015f1f6763f66bd74d6f3f9e1512b36.tar.gz
glibc-9714012ca015f1f6763f66bd74d6f3f9e1512b36.tar.xz
glibc-9714012ca015f1f6763f66bd74d6f3f9e1512b36.zip
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.
Diffstat (limited to 'conform')
-rw-r--r--conform/Makefile1
1 files changed, 0 insertions, 1 deletions
diff --git a/conform/Makefile b/conform/Makefile
index 09d18e2321..8c11dc41c8 100644
--- a/conform/Makefile
+++ b/conform/Makefile
@@ -354,7 +354,6 @@ test-xfail-XPG4/netdb.h/linknamespace = yes
 test-xfail-XPG4/syslog.h/linknamespace = yes
 test-xfail-XPG4/unistd.h/linknamespace = yes
 test-xfail-XPG4/wordexp.h/linknamespace = yes
-test-xfail-POSIX/aio.h/linknamespace = yes
 test-xfail-POSIX/mqueue.h/linknamespace = yes
 test-xfail-POSIX/semaphore.h/linknamespace = yes
 test-xfail-UNIX98/fmtmsg.h/linknamespace = yes