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: [RFC] Make _FILE_OFFSET_BITS=64 default.


On Thu, Mar 13, 2014 at 05:28:22PM -0400, Mike Frysinger wrote:
> On Thu 13 Mar 2014 05:20:57 Rich Felker wrote:
> > On Thu, Mar 13, 2014 at 05:16:08AM -0400, Mike Frysinger wrote:
> > > diff --git a/io/Makefile b/io/Makefile
> > > index 8a6562e..77a1907 100644
> > > --- a/io/Makefile
> > > +++ b/io/Makefile
> > > @@ -99,7 +99,7 @@ CFLAGS-fallocate.c = -fexceptions
> > > 
> > >  CFLAGS-fallocate64.c = -fexceptions
> > >  CFLAGS-sync_file_range.c = -fexceptions
> > > 
> > > -CFLAGS-test-stat.c = -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE
> > > +CFLAGS-test-stat.c = -U_FILE_OFFSET_BITS -D_FILE_OFFSET_BITS=64
> > > -D_LARGEFILE64_SOURCE
> >
> > If this happens to work, it's purely by chance/redundancy. -U
> > overrides all -D for the same identifier, even subsequent ones.
> 
> if your compiler driver is unreasonable and isn't sane, then i'm not sure how 
> that's our problem.  we're already relying on sane behavior -- see how 
> _FORTIFY_SOURCE is used in the tree.
> -mike

I'm merely citing the standards-required behavior. If gcc doesn't
follow this, then I suppose this requires a workaround in the 'c99'
wrapper shell scripts used for providing the c99 utility via gcc. But
that's off-topic.

On the other hand, I still think it is confusing to have the makefile
appearing to rely on gcc-specific behavior that contradicts the
standards, especially when the same behavior would be achieved
unambiguously without the -D (since the patched features.h would treat
-U as implying 64-bit).

Rich


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