This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [glibc PATCH] fcntl: put F_OFD_* constants under #ifdef __USE_FILE_OFFSET64


On Wed, 2016-08-17 at 15:44 +0000, Joseph Myers wrote:
> On Wed, 17 Aug 2016, Jeff Layton wrote:
> 
> > 
> > +# if __WORDSIZE != 32 || defined __USE_FILE_OFFSET64
> 
> Are you sure __WORDSIZE is always defined here?  I don't see an include of 
> <bits/wordsize.h> in this header.
> 
> Are you sure __WORDSIZE != 32 is the right condition on all architectures 
> for the flock and flock64 structures being the same?  Wordsize is not a 
> particularly well-defined concept all cases.  More specific tests tend to 
> be preferred, e.g. __OFF_T_MATCHES_OFF64_T in bits/typesizes.h (so this 
> would indicate having a new macro __FLOCK_MATCHES_FLOCK64 and arranging 
> for it to be defined to 1 or 0 correctly in all cases - or at least a 
> careful analysis of all architectures using this file to show that some 
> other conditional is always correct).
> 

Ok, that makes sense -- thanks.

The only difference between struct flock and flock64 is the size of the
offset values. So, I think that __OFF_T_MATCHES_OFF64_T would suffice
here, actually. Is there any reason to do anything more elaborate than
this in place of what I proposed earlier?

    #if defined __OFF_T_MATCHES_OFF64_T || defined __USE_FILE_OFFSET64

-- 
Jeff Layton <jlayton@redhat.com>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]