On Wed, 14 Jun 2017, Richard Biener wrote: > > This fixes the [f]open use in libgfortran. Doesn't fix the ones > in libsanitizer because those appearantly use a copy because they > need to rename stuff... > > Bootstrapped and tested on x86_64-unknown-linux-gnu, ok for trunk > and branches?
Ping. Richard. > Thanks, > Richard. > > 2017-06-14 Richard Biener <rguent...@suse.de> > > * configure.ac: Add AC_SYS_LARGEFILE. > * config.h.in: Regenerate. > * configure: Likewise. > > Index: config.h.in > =================================================================== > --- config.h.in (revision 249158) > +++ config.h.in (working copy) > @@ -123,6 +123,12 @@ > #endif > > > +/* Number of bits in a file offset, on hosts where this is settable. */ > +#undef _FILE_OFFSET_BITS > + > +/* Define for large files, on AIX-style hosts. */ > +#undef _LARGE_FILES > + > /* Define to 1 if on MINIX. */ > #undef _MINIX > > Index: configure > =================================================================== > --- configure (revision 249158) > +++ configure (working copy) > @@ -734,6 +734,7 @@ with_pic > enable_fast_install > with_gnu_ld > enable_libtool_lock > +enable_largefile > with_system_libunwind > enable_host_shared > ' > @@ -1374,6 +1375,7 @@ Optional Features: > --enable-fast-install[=PKGS] > optimize for fast installation [default=yes] > --disable-libtool-lock avoid locking (might break parallel builds) > + --disable-largefile omit support for large files > --enable-host-shared build host code as shared libraries > > Optional Packages: > @@ -11134,7 +11136,7 @@ else > lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 > lt_status=$lt_dlunknown > cat > conftest.$ac_ext <<_LT_EOF > -#line 11137 "configure" > +#line 11139 "configure" > #include "confdefs.h" > > #if HAVE_DLFCN_H > @@ -11240,7 +11242,7 @@ else > lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 > lt_status=$lt_dlunknown > cat > conftest.$ac_ext <<_LT_EOF > -#line 11243 "configure" > +#line 11245 "configure" > #include "confdefs.h" > > #if HAVE_DLFCN_H > @@ -11479,6 +11481,205 @@ CC="$lt_save_CC" > > > > +# Check whether --enable-largefile was given. > +if test "${enable_largefile+set}" = set; then : > + enableval=$enable_largefile; > +fi > + > +if test "$enable_largefile" != no; then > + > + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler > options needed for large files" >&5 > +$as_echo_n "checking for special C compiler options needed for large > files... " >&6; } > +if test "${ac_cv_sys_largefile_CC+set}" = set; then : > + $as_echo_n "(cached) " >&6 > +else > + ac_cv_sys_largefile_CC=no > + if test "$GCC" != yes; then > + ac_save_CC=$CC > + while :; do > + # IRIX 6.2 and later do not support large files by default, > + # so use the C compiler's -n32 option if that helps. > + cat confdefs.h - <<_ACEOF >conftest.$ac_ext > +/* end confdefs.h. */ > +#include <sys/types.h> > + /* Check that off_t can represent 2**63 - 1 correctly. > + We can't simply define LARGE_OFF_T to be 9223372036854775807, > + since some C++ compilers masquerading as C compilers > + incorrectly reject 9223372036854775807. */ > +#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) > + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 > + && LARGE_OFF_T % 2147483647 == 1) > + ? 1 : -1]; > +int > +main () > +{ > + > + ; > + return 0; > +} > +_ACEOF > + if ac_fn_c_try_compile "$LINENO"; then : > + break > +fi > +rm -f core conftest.err conftest.$ac_objext > + CC="$CC -n32" > + if ac_fn_c_try_compile "$LINENO"; then : > + ac_cv_sys_largefile_CC=' -n32'; break > +fi > +rm -f core conftest.err conftest.$ac_objext > + break > + done > + CC=$ac_save_CC > + rm -f conftest.$ac_ext > + fi > +fi > +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5 > +$as_echo "$ac_cv_sys_largefile_CC" >&6; } > + if test "$ac_cv_sys_largefile_CC" != no; then > + CC=$CC$ac_cv_sys_largefile_CC > + fi > + > + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS > value needed for large files" >&5 > +$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " > >&6; } > +if test "${ac_cv_sys_file_offset_bits+set}" = set; then : > + $as_echo_n "(cached) " >&6 > +else > + while :; do > + cat confdefs.h - <<_ACEOF >conftest.$ac_ext > +/* end confdefs.h. */ > +#include <sys/types.h> > + /* Check that off_t can represent 2**63 - 1 correctly. > + We can't simply define LARGE_OFF_T to be 9223372036854775807, > + since some C++ compilers masquerading as C compilers > + incorrectly reject 9223372036854775807. */ > +#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) > + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 > + && LARGE_OFF_T % 2147483647 == 1) > + ? 1 : -1]; > +int > +main () > +{ > + > + ; > + return 0; > +} > +_ACEOF > +if ac_fn_c_try_compile "$LINENO"; then : > + ac_cv_sys_file_offset_bits=no; break > +fi > +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext > + cat confdefs.h - <<_ACEOF >conftest.$ac_ext > +/* end confdefs.h. */ > +#define _FILE_OFFSET_BITS 64 > +#include <sys/types.h> > + /* Check that off_t can represent 2**63 - 1 correctly. > + We can't simply define LARGE_OFF_T to be 9223372036854775807, > + since some C++ compilers masquerading as C compilers > + incorrectly reject 9223372036854775807. */ > +#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) > + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 > + && LARGE_OFF_T % 2147483647 == 1) > + ? 1 : -1]; > +int > +main () > +{ > + > + ; > + return 0; > +} > +_ACEOF > +if ac_fn_c_try_compile "$LINENO"; then : > + ac_cv_sys_file_offset_bits=64; break > +fi > +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext > + ac_cv_sys_file_offset_bits=unknown > + break > +done > +fi > +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: > $ac_cv_sys_file_offset_bits" >&5 > +$as_echo "$ac_cv_sys_file_offset_bits" >&6; } > +case $ac_cv_sys_file_offset_bits in #( > + no | unknown) ;; > + *) > +cat >>confdefs.h <<_ACEOF > +#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits > +_ACEOF > +;; > +esac > +rm -rf conftest* > + if test $ac_cv_sys_file_offset_bits = unknown; then > + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value > needed for large files" >&5 > +$as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; > } > +if test "${ac_cv_sys_large_files+set}" = set; then : > + $as_echo_n "(cached) " >&6 > +else > + while :; do > + cat confdefs.h - <<_ACEOF >conftest.$ac_ext > +/* end confdefs.h. */ > +#include <sys/types.h> > + /* Check that off_t can represent 2**63 - 1 correctly. > + We can't simply define LARGE_OFF_T to be 9223372036854775807, > + since some C++ compilers masquerading as C compilers > + incorrectly reject 9223372036854775807. */ > +#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) > + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 > + && LARGE_OFF_T % 2147483647 == 1) > + ? 1 : -1]; > +int > +main () > +{ > + > + ; > + return 0; > +} > +_ACEOF > +if ac_fn_c_try_compile "$LINENO"; then : > + ac_cv_sys_large_files=no; break > +fi > +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext > + cat confdefs.h - <<_ACEOF >conftest.$ac_ext > +/* end confdefs.h. */ > +#define _LARGE_FILES 1 > +#include <sys/types.h> > + /* Check that off_t can represent 2**63 - 1 correctly. > + We can't simply define LARGE_OFF_T to be 9223372036854775807, > + since some C++ compilers masquerading as C compilers > + incorrectly reject 9223372036854775807. */ > +#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) > + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 > + && LARGE_OFF_T % 2147483647 == 1) > + ? 1 : -1]; > +int > +main () > +{ > + > + ; > + return 0; > +} > +_ACEOF > +if ac_fn_c_try_compile "$LINENO"; then : > + ac_cv_sys_large_files=1; break > +fi > +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext > + ac_cv_sys_large_files=unknown > + break > +done > +fi > +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5 > +$as_echo "$ac_cv_sys_large_files" >&6; } > +case $ac_cv_sys_large_files in #( > + no | unknown) ;; > + *) > +cat >>confdefs.h <<_ACEOF > +#define _LARGE_FILES $ac_cv_sys_large_files > +_ACEOF > +;; > +esac > +rm -rf conftest* > + fi > +fi > + > + > backtrace_supported=yes > > if test -n "${with_target_subdir}"; then > Index: configure.ac > =================================================================== > --- configure.ac (revision 249158) > +++ configure.ac (working copy) > @@ -82,6 +82,8 @@ esac > LT_INIT > AM_PROG_LIBTOOL > > +AC_SYS_LARGEFILE > + > backtrace_supported=yes > > if test -n "${with_target_subdir}"; then > -- Richard Biener <rguent...@suse.de> SUSE LINUX GmbH, GF: Felix Imendoerffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nuernberg)