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 Wed 05 Mar 2014 10:13:31 OndÅej BÃlka wrote:
> On Thu, Feb 27, 2014 at 09:45:37AM -0800, Paul Eggert wrote:
> > Squashing an inode that way has a small chance of introducing what
> > could be a serious bug.  If glibc is going to squash them, it should
> > do so reliably, by maintaining a table of all the inodes it's ever
> > seen and making sure there are no collisions.
> > 
> > Why bother to squash them at all, though?  Programs that care about
> > files should be compiled with _FILE_OFFSET_BITS defined to 64.  If
> > we're worried about programs that don't define _FILE_OFFSET_BITS, we
> > could change glibc to default to _FILE_OFFSET_BITS=64; that's a
> > better long-term solution anyway.
> 
> Changing default would be better. I dig while how to do it and can not
> find a nonugly solution. How should we do this?

isn't it simply:

--- a/include/features.h
+++ b/include/features.h
@@ -303,7 +303,7 @@
 # define __USE_LARGEFILE64	1
 #endif
 
-#if defined _FILE_OFFSET_BITS && _FILE_OFFSET_BITS == 64
+#if !defined _FILE_OFFSET_BITS || _FILE_OFFSET_BITS == 64
 # define __USE_FILE_OFFSET64	1
 #endif
 

the glibc source files themselves seem to expect default of 
_FILE_OFFSET_BITS=32 though, so we might have to add that to default CPPFLAGS 
when building.

i kind of feel like deploying this on Gentoo systems to see what breaks ;).
-mike

Attachment: signature.asc
Description: This is a digitally signed message part.


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