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.


this one actually builds ... disassembly on x86_64 is sane before/after
-mike

commit edf557a5c81eb55ef49cb7a118e008d96f25e5d6
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Thu Mar 13 05:08:11 2014 -0400

    enable _FILE_OFFSET_BITS=64 by default
    
    We build glibc itself with _FILE_OFFSET_BITS=32 still, but the exported
    headers now have the API defaulting to 64bit for everyone.

diff --git a/Makeconfig b/Makeconfig
index 9078b29..b3ca1ee 100644
--- a/Makeconfig
+++ b/Makeconfig
@@ -785,7 +785,8 @@ libio-include = -I$(..)libio
 # Note that we can't use -std=* in CPPFLAGS, because it overrides
 # the implicit -lang-asm and breaks cpp behavior for .S files--notably
 # it causes cpp to stop predefining __ASSEMBLER__.
-CPPFLAGS = $(CPPUNDEFS) $(CPPFLAGS-config) $($(subdir)-CPPFLAGS) \
+CPPFLAGS = $(CPPUNDEFS) -D_FILE_OFFSET_BITS=32 \
+	   $(CPPFLAGS-config) $($(subdir)-CPPFLAGS) \
 	   $(+includes) $(defines) \
 	   -include $(..)include/libc-symbols.h $(sysdep-CPPFLAGS) \
 	   $(CPPFLAGS-$(suffix $@)) \
diff --git a/debug/tst-lfschk1.c b/debug/tst-lfschk1.c
index f3e6d47..9f04600 100644
--- a/debug/tst-lfschk1.c
+++ b/debug/tst-lfschk1.c
@@ -1,2 +1,3 @@
+#undef _FILE_OFFSET_BITS
 #define _FILE_OFFSET_BITS 64
 #include "tst-chk1.c"
diff --git a/debug/tst-lfschk2.c b/debug/tst-lfschk2.c
index 95d4db1..34910e7 100644
--- a/debug/tst-lfschk2.c
+++ b/debug/tst-lfschk2.c
@@ -1,2 +1,3 @@
+#undef _FILE_OFFSET_BITS
 #define _FILE_OFFSET_BITS 64
 #include "tst-chk2.c"
diff --git a/debug/tst-lfschk3.c b/debug/tst-lfschk3.c
index 50a1ae1..7185608 100644
--- a/debug/tst-lfschk3.c
+++ b/debug/tst-lfschk3.c
@@ -1,2 +1,3 @@
+#undef _FILE_OFFSET_BITS
 #define _FILE_OFFSET_BITS 64
 #include "tst-chk3.c"
diff --git a/debug/tst-lfschk4.cc b/debug/tst-lfschk4.cc
index f3e6d47..9f04600 100644
--- a/debug/tst-lfschk4.cc
+++ b/debug/tst-lfschk4.cc
@@ -1,2 +1,3 @@
+#undef _FILE_OFFSET_BITS
 #define _FILE_OFFSET_BITS 64
 #include "tst-chk1.c"
diff --git a/debug/tst-lfschk5.cc b/debug/tst-lfschk5.cc
index 95d4db1..34910e7 100644
--- a/debug/tst-lfschk5.cc
+++ b/debug/tst-lfschk5.cc
@@ -1,2 +1,3 @@
+#undef _FILE_OFFSET_BITS
 #define _FILE_OFFSET_BITS 64
 #include "tst-chk2.c"
diff --git a/debug/tst-lfschk6.cc b/debug/tst-lfschk6.cc
index 50a1ae1..7185608 100644
--- a/debug/tst-lfschk6.cc
+++ b/debug/tst-lfschk6.cc
@@ -1,2 +1,3 @@
+#undef _FILE_OFFSET_BITS
 #define _FILE_OFFSET_BITS 64
 #include "tst-chk3.c"
diff --git a/include/features.h b/include/features.h
index c3ed81f..aa12c65 100644
--- 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
 
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
 CFLAGS-test-lfs.c = -D_LARGEFILE64_SOURCE
 
 test-stat2-ARGS = Makefile . $(objpfx)test-stat2
diff --git a/malloc/memusagestat.c b/malloc/memusagestat.c
index 3e0889e..96d7e28 100644
--- a/malloc/memusagestat.c
+++ b/malloc/memusagestat.c
@@ -16,6 +16,7 @@
    You should have received a copy of the GNU General Public License
    along with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
+#undef _FILE_OFFSET_BITS
 #define _FILE_OFFSET_BITS 64
 
 #include <argp.h>

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]