about summary refs log tree commit diff
path: root/conform
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2016-05-02 23:20:33 +0000
committerJoseph Myers <joseph@codesourcery.com>2016-05-02 23:20:33 +0000
commit35281b18b8f9907213410ebbebc23c71b2ec357a (patch)
treebe052d046d2a9270d55730bb3dc54b793f14ed82 /conform
parent230528c467ee5ae7b55d41530bbb10fd94da948f (diff)
downloadglibc-35281b18b8f9907213410ebbebc23c71b2ec357a.tar.gz
glibc-35281b18b8f9907213410ebbebc23c71b2ec357a.tar.xz
glibc-35281b18b8f9907213410ebbebc23c71b2ec357a.zip
Fix fcntl.h timespec namespace (bug 20023).
fcntl.h defines struct timespec if __USE_XOPEN || __USE_XOPEN2K8.  But
(a) the subsequent bits/stat.h include only needs it if __USE_XOPEN2K8
and (b) older standards did not allow struct timespec here.  (It's
allowed for newer standards by virtue of the permission to include
symbols from sys/stat.h.  But sys/stat.h is only required to provide
struct timespec from the 2008 edition of POSIX onwards, and permitted
by the 2004 TC to the 2001 edition in anticipation of the addition of
nanosecond timestamp support to struct stat in the 2008 edition.)

This patch limits the timespec definition to the __USE_XOPEN2K8 case,
that being the only case where it is actually needed for the
<bits/stat.h> include.

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

	[BZ #20023]
	* io/fcntl.h [__USE_XOPEN && !__USE_XOPEN2K8]: Do not include
	<time.h>.
	* conform/Makefile (test-xfail-UNIX98/fcntl.h/conform): Remove
	variable.
	(test-xfail-XOPEN2K/fcntl.h/conform): Likewise.
Diffstat (limited to 'conform')
-rw-r--r--conform/Makefile2
1 files changed, 0 insertions, 2 deletions
diff --git a/conform/Makefile b/conform/Makefile
index f2aa1771b6..55cada5e13 100644
--- a/conform/Makefile
+++ b/conform/Makefile
@@ -193,7 +193,6 @@ test-xfail-XPG4/unistd.h/conform = yes
 test-xfail-XPG4/utmpx.h/conform = yes
 test-xfail-POSIX/sys/wait.h/conform = yes
 test-xfail-UNIX98/arpa/inet.h/conform = yes
-test-xfail-UNIX98/fcntl.h/conform = yes
 test-xfail-UNIX98/netdb.h/conform = yes
 test-xfail-UNIX98/netinet/in.h/conform = yes
 test-xfail-UNIX98/signal.h/conform = yes
@@ -203,7 +202,6 @@ test-xfail-UNIX98/sys/wait.h/conform = yes
 test-xfail-UNIX98/ucontext.h/conform = yes
 test-xfail-UNIX98/unistd.h/conform = yes
 test-xfail-UNIX98/utmpx.h/conform = yes
-test-xfail-XOPEN2K/fcntl.h/conform = yes
 test-xfail-XOPEN2K/semaphore.h/conform = yes
 test-xfail-XOPEN2K/signal.h/conform = yes
 test-xfail-XOPEN2K/sys/wait.h/conform = yes