glibc/conform
Joseph Myers 9714012ca0 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.
2015-06-12 17:34:11 +00:00
..
data struct stat is not posix conform 2015-05-26 22:27:24 +05:30
check-header-lists.sh Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
conformtest.pl Add tests for namespace for static linking. 2014-11-12 22:45:25 +00:00
GlibcConform.pm conformtest: use proper _POSIX_C_SOURCE value for POSIX. 2015-05-20 23:14:53 +00:00
linknamespace.pl linknamespace: whitelist re_syntax_options. 2015-05-21 16:24:24 +00:00
list-header-symbols.pl Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
Makefile Fix aio_* pread namespace (bug 18519). 2015-06-12 17:34:11 +00:00