about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--Makeconfig3
-rwxr-xr-xconfigure32
-rw-r--r--configure.ac13
-rw-r--r--conform/Makefile2
4 files changed, 49 insertions, 1 deletions
diff --git a/Makeconfig b/Makeconfig
index a87ff7b1d3..c0c89e6685 100644
--- a/Makeconfig
+++ b/Makeconfig
@@ -1011,6 +1011,9 @@ else
 +cflags += $(no-fortify-source)
 endif
 
+# Filter out LFS flags if compiler defines it by default.
++cflags += $(no-file-offset-bits-source)
+
 # Each sysdeps directory can contain header files that both will be
 # used to compile and will be installed.  Each can also contain an
 # include/ subdirectory, whose header files will be used to compile
diff --git a/configure b/configure
index 58bfb2917f..5b9cc51067 100755
--- a/configure
+++ b/configure
@@ -635,6 +635,7 @@ libc_cv_gcc_unwind_find_fde
 libc_extra_cppflags
 libc_extra_cflags
 libc_cv_cxx_thread_local
+no_file_offset_bits_source
 fortify_source
 no_fortify_source
 libc_cv_fortify_source
@@ -7784,6 +7785,37 @@ fi
 config_vars="$config_vars
 supported-fortify = $libc_cv_supported_fortify_source"
 
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main (void)
+{
+
+#ifndef _FILE_OFFSET_BITS
+# error _FILE_OFFSET_BITS not defined
+#endif
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"
+then :
+  libc_cv_compiler_default_file_offset_bits=yes
+else case e in #(
+  e) libc_cv_compiler_default_file_offset_bits=no ;;
+esac
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+if test "$libc_cv_compiler_default_file_offset_bits" = yes
+then :
+  no_file_offset_bits_source="-U_FILE_OFFSET_BITS"
+fi
+
+config_vars="$config_vars
+no-file-offset-bits-source = $no_file_offset_bits_source"
+
+
 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the assembler requires one version per symbol" >&5
 printf %s "checking whether the assembler requires one version per symbol... " >&6; }
 if test ${libc_cv_symver_needs_alias+y}
diff --git a/configure.ac b/configure.ac
index 5af742ce41..160c863416 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1564,6 +1564,19 @@ AC_SUBST(no_fortify_source)
 AC_SUBST(fortify_source)
 LIBC_CONFIG_VAR([supported-fortify], [$libc_cv_supported_fortify_source])
 
+dnl Check if compiler define _FILE_OFFSET_BITS by default
+AC_PREPROC_IFELSE([AC_LANG_PROGRAM([[]], [[
+#ifndef _FILE_OFFSET_BITS
+# error _FILE_OFFSET_BITS not defined
+#endif]])],
+	       [libc_cv_compiler_default_file_offset_bits=yes],
+	       [libc_cv_compiler_default_file_offset_bits=no])
+AS_IF([test "$libc_cv_compiler_default_file_offset_bits" = yes],
+      [no_file_offset_bits_source="-U_FILE_OFFSET_BITS"])
+AC_SUBST(no_file_offset_bits_source)
+LIBC_CONFIG_VAR([no-file-offset-bits-source], [$no_file_offset_bits_source])
+
+
 dnl Starting with binutils 2.35, GAS can attach multiple symbol versions
 dnl to one symbol (PR 23840).
 AC_CACHE_CHECK(whether the assembler requires one version per symbol,
diff --git a/conform/Makefile b/conform/Makefile
index 73a3cb6da2..50293a195b 100644
--- a/conform/Makefile
+++ b/conform/Makefile
@@ -372,7 +372,7 @@ test-xfail-UNIX98/ndbm.h/conform = yes
 test-xfail-XOPEN2K/ndbm.h/conform = yes
 test-xfail-XOPEN2K8/ndbm.h/conform = yes
 
-conformtest-cc-flags = -I../include $(+sysdep-includes) $(sysincludes) -I..
+conformtest-cc-flags =  -I../include $(+sysdep-includes) $(sysincludes) -I.. $(no-file-offset-bits-source)
 # conformtest-xfail-conds may be set by a sysdeps Makefile fragment to
 # a list of conditions that are considered to be true when encountered
 # in xfail[cond]- lines in test expectations.