Sharing of bits/fcntl.h on Linux (SPARC, x86)

Andreas Jaeger aj@suse.com
Mon Oct 22 16:48:00 GMT 2012


On 10/22/2012 06:33 PM, Joseph S. Myers wrote:
> On Mon, 22 Oct 2012, Andreas Jaeger wrote:
>
>> On which architecture? I'll investigate and fix.
>
> This was on x86_64, but I don't see *any* __O_SYNC definitions, for any
> architecture, so I expect it will be broken everywhere.

You're right, I'll fix this during the next 24 hours (not sure whether I 
manage tonight).

>> The sys/types.h change was intentional, if this causes failures, then an
>> include is missing,
>
> I believe it was previously deliberately decided that public POSIX headers
> should be self-contained in the sense of defining all the types involved
> in the prototypes and structures in those headers - that glibc would treat
> the changes that have been made in POSIX to make headers self-contained in
> that way as fixes to defects in older versions of POSIX.  That is, off_t,
> mode_t and pid_t should by this model be defined in fcntl.h for all POSIX
> versions, even though older versions do not require them to be defined
> there (but do permit them to be defined there).  Also on this basis, all
> the code in conformtest.pl that might prepend other includes when testing
> a header is commented out.  So if you don't include <sys/types.h> then the
> conditions around the definitions of those three types in io/fcntl.h
> should be removed.

so, you suggest to remove the check for __USE_XOPEN* completely from:

#if defined __USE_XOPEN || defined __USE_XOPEN2K
/* The Single Unix specification says that some more types are
    available here.  */
# ifndef __mode_t_defined
typedef __mode_t mode_t;
#  define __mode_t_defined
# endif
...

I'll look into this later.

Thanks,
Andreas
-- 
  Andreas Jaeger aj@{suse.com,opensuse.org} Twitter/Identica: jaegerandi
   SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
    GF: Jeff Hawn,Jennifer Guild,Felix Imendörffer,HRB16746 (AG Nürnberg)
     GPG fingerprint = 93A3 365E CE47 B889 DF7F  FED1 389A 563C C272 A126



More information about the Libc-alpha mailing list