glibc/conform
Joseph Myers 2faba597ec Fix sys/time.h timespec namespace (bug 20041).
For UNIX98 and older standards, sys/time.h should not define struct
timespec, but does so via the inclusion of sys/select.h (which is a
new header in the 2001 edition of POSIX, and defines struct timespec
because of the declaration of pselect, a new function in the 2001
edition of POSIX).  In turn, this affects some other headers that
themselves include sys/time.h.

This patch fixes this by conditioning the __need_timespec definition
in sys/select.h on __USE_XOPEN2K, the same condition used there for
the declaration of pselect (this has no effect on direct uses of
sys/select.h with feature test macros for any standard that includes
that header, since such standards result in __USE_XOPEN2K being
defined).

Tested for x86_64 and x86 (testsuite, and that installed stripped
shared libraries are unchanged by the patch).

	[BZ #20041]
	* misc/sys/select.h (__need_timespec): Only define if
	[__USE_XOPEN2K].
	* conform/Makefile (test-xfail-XPG4/sys/time.h/conform): Remove
	variable.
	(test-xfail-XPG4/utmpx.h/conform): Likewise.
	(test-xfail-UNIX98/sys/time.h/conform): Likewise.
	(test-xfail-UNIX98/utmpx.h/conform): Likewise.
2016-05-03 23:36:18 +00:00
..
data conformtest: Add langinfo.h expectations for YESSTR, NOSTR. 2016-04-28 17:19:53 +00:00
check-header-lists.sh Make shebang interpreter directives consistent 2016-01-07 04:03:21 -05:00
conformtest.pl Make shebang interpreter directives consistent 2016-01-07 04:03:21 -05:00
GlibcConform.pm Make shebang interpreter directives consistent 2016-01-07 04:03:21 -05:00
linknamespace.pl Make shebang interpreter directives consistent 2016-01-07 04:03:21 -05:00
list-header-symbols.pl Make shebang interpreter directives consistent 2016-01-07 04:03:21 -05:00
Makefile Fix sys/time.h timespec namespace (bug 20041). 2016-05-03 23:36:18 +00:00