]> sourceware.org Git - glibc.git/commitdiff
Define off_t in stdio.h for XOPEN2K.
authorJoseph Myers <joseph@codesourcery.com>
Tue, 26 Apr 2016 09:55:47 +0000 (09:55 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Tue, 26 Apr 2016 09:55:47 +0000 (09:55 +0000)
The header conformance test for stdio.h for XOPEN2K fails because the
header does not define the off_t type, used in the expected
declarations for fseeko and ftello.

The absence of this type is not actually strictly a bug (hence no bug
report being filed in Bugzilla), since POSIX didn't require the type
to be declared in this header until the 2008 edition.  However, the
glibc convention in such cases - where the type falls under the
general *_t POSIX reservation, and so it's OK to define it for all
POSIX versions - is to make the headers self-contained in this regard
even for the older POSIX versions not requiring the type to be defined
despite including other declarations depending on the type.  Thus,
this patch adjusts the condition in the header and removes the XFAIL
(rather than adapting the expectation to work when the functions are
declared using __off_t without off_t being defined).

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

* libio/stdio.h (off_t): Define if [__USE_XOPEN2K], not
[__USE_XOPEN2K8].
[__USE_LARGEFILE64] (off64_t): Likewise.
* conform/Makefile (test-xfail-XOPEN2K/stdio.h/conform): Remove
variable.

ChangeLog
conform/Makefile
libio/stdio.h

index 5c40ad8035ddd065bcd6fb5aac32f0d811718135..8cbc1b1a2f44b26637d7590432439d6b7736aea4 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2016-04-26  Joseph Myers  <joseph@codesourcery.com>
+
+       * libio/stdio.h (off_t): Define if [__USE_XOPEN2K], not
+       [__USE_XOPEN2K8].
+       [__USE_LARGEFILE64] (off64_t): Likewise.
+       * conform/Makefile (test-xfail-XOPEN2K/stdio.h/conform): Remove
+       variable.
+
 2016-04-25  Joseph Myers  <joseph@codesourcery.com>
 
        [BZ #19989]
index e3baec7c9f5af980e7f4b4235b403bbece51f2a3..7af4b2fee891b87469fe8523e03661299f6ea13b 100644 (file)
@@ -216,7 +216,6 @@ test-xfail-XOPEN2K/mqueue.h/conform = yes
 test-xfail-XOPEN2K/semaphore.h/conform = yes
 test-xfail-XOPEN2K/signal.h/conform = yes
 test-xfail-XOPEN2K/stdarg.h/conform = yes
-test-xfail-XOPEN2K/stdio.h/conform = yes
 test-xfail-XOPEN2K/sys/wait.h/conform = yes
 test-xfail-XOPEN2K/ucontext.h/conform = yes
 test-xfail-POSIX2008/arpa/inet.h/conform = yes
index 4b66530460e4bc0f96f3ca111f5d0598b6bd76bf..d7dbfad53b56bd2917e560f0dbfcc3f921e8cf93 100644 (file)
@@ -84,7 +84,7 @@ typedef _G_va_list va_list;
 # endif
 #endif
 
-#ifdef __USE_XOPEN2K8
+#ifdef __USE_XOPEN2K
 # ifndef __off_t_defined
 # ifndef __USE_FILE_OFFSET64
 typedef __off_t off_t;
@@ -97,7 +97,9 @@ typedef __off64_t off_t;
 typedef __off64_t off64_t;
 # define __off64_t_defined
 # endif
+#endif
 
+#ifdef __USE_XOPEN2K8
 # ifndef __ssize_t_defined
 typedef __ssize_t ssize_t;
 # define __ssize_t_defined
This page took 0.198839 seconds and 5 git commands to generate.