This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: conformtest: clean up POSIX expectations for sys/mman.h, sys/stat.h, sys/types.h
- From: "Joseph S. Myers" <joseph at codesourcery dot com>
- To: Florian Weimer <fweimer at redhat dot com>
- Cc: <libc-alpha at sourceware dot org>
- Date: Thu, 12 Jun 2014 12:17:34 +0000
- Subject: Re: conformtest: clean up POSIX expectations for sys/mman.h, sys/stat.h, sys/types.h
- Authentication-results: sourceware.org; auth=none
- References: <Pine dot LNX dot 4 dot 64 dot 1405152141190 dot 911 at digraph dot polyomino dot org dot uk> <539976C1 dot 9090300 at redhat dot com>
On Thu, 12 Jun 2014, Florian Weimer wrote:
> On 05/15/2014 11:43 PM, Joseph S. Myers wrote:
> > Continuing the series of patches to clean up conformtest expectations
> > for "POSIX" (1995/6) based on review of the expectations against the
> > standard, this patch cleans up expectations for sys/mman.h, sys/stat.h
> > and sys/types.h. Tested x86_64; no new XFAILs needed.
>
> Could you please provide a precise citation for "POSIX" (1995/6)? I'm trying
> to get a copy, and want to make sure I get the right one.
"POSIX" in conformtest is testing _POSIX_C_SOURCE=199506L (well, it's
currently testing _POSIX_C_SOURCE=199912, but there's no difference in
what they enable in glibc and it should be fixed to test
_POSIX_C_SOURCE=199506L). That means the union of the symbols defined by
ISO/IEC 9945-1:1996 (ANSI/IEEE Std 1003.1, 1996 Edition) (ISBN
1-55937-573-6)
and
ISO/IEC 9945-2:1993 (ANSI/IEEE Std 1003.2-1992) (my copy bears ISBN
1-55937-255-9 but comes with a correction slip saying it should be
1-55937-406-3).
For limits.h, stdio.h and unistd.h you need to take the union of the
symbols from POSIX.1 and POSIX.2. The other headers are only in one or
another of the standards.
The last time I checked, the 1993 edition of POSIX.1 (POSIX.1b) was
available on IEEE Xplore (downloadable as a 42MB PDF given a site
subscription to IEEE Xplore), but not the 1995/6 or 1990 editions (both of
which I have in paper form). I'd hope once the review of "POSIX" is
complete to rename that standard in conformtest to POSIX95 and extend the
support to versions that glibc supports but conformtest doesn't currently
cover (the 2001 edition without XSI extensions, 1993 + POSIX.2,
POSIX.1:1990 + POSIX.2, POSIX.1:1990). Once we have POSIX.1:1990 support
in conformtest we can remove posix/annexc, which is a bit confused about
what it's testing (it uses _POSIX_SOURCE, i.e. POSIX.1:1990, but the
expectations are based on a more recent version, probably 1995/6). With
C90 Amendment 1 support in conformtest we can remove stdlib/isomac. With
both removed, we can eliminate $(native-compile) (see discussion in April
2012 about how we'd like to do so).
There was some discussion in the Austin Group about making older standards
and drafts available but I haven't noticed progress there lately.
--
Joseph S. Myers
joseph@codesourcery.com