about summary refs log tree commit diff
path: root/configure
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2024-09-10 09:22:18 -0300
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2024-10-01 08:44:41 -0300
commit3f1932ed2e6b643848ea7a42f9f15ed80552befb (patch)
treef63a817c296aeb3b8d168ff68e6d68ec00c18980 /configure
parent127cefd84dc551a43d0ac58b4619503d04869042 (diff)
downloadglibc-3f1932ed2e6b643848ea7a42f9f15ed80552befb.tar.gz
glibc-3f1932ed2e6b643848ea7a42f9f15ed80552befb.tar.xz
glibc-3f1932ed2e6b643848ea7a42f9f15ed80552befb.zip
Disable _FILE_OFFSET_BITS if the compiler defaults to it
Even though building glibc with LFS flags is not supported, and the
the usual way is to patch the build system to avoid it [1]; some system
do enable it by default, and it increases the requirements to build
glibc in such cases (it also does not help newcomers when trying
to build glibc).

The conform namespace and linknamespace tests also do not expect
that flag to be set by default, so disable it as well.

Checked with a build/check for major ABI and some (i386, arm,
mipsel, hppa) with a toolchain that has LFS flags by default.

[1] https://sourceware.org/bugzilla/show_bug.cgi?id=31624
Reviewed-by: DJ Delorie <dj@redhat.com>
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure32
1 files changed, 32 insertions, 0 deletions
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}