From: Richard Biener <rguenther@suse.de>
To: gcc-patches@gcc.gnu.org
Cc: iant@google.com
Subject: Re: [PATCH] LFS support for libbacktrace
Date: Tue, 20 Jun 2017 11:15:00 -0000 [thread overview]
Message-ID: <alpine.LSU.2.20.1706201315280.22867@zhemvz.fhfr.qr> (raw)
In-Reply-To: <alpine.LSU.2.20.1706141239230.22867@zhemvz.fhfr.qr>
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 <rguenther@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 <rguenther@suse.de>
SUSE LINUX GmbH, GF: Felix Imendoerffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nuernberg)
next prev parent reply other threads:[~2017-06-20 11:15 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-06-14 10:40 Richard Biener
2017-06-20 11:15 ` Richard Biener [this message]
2017-06-27 16:46 ` Jeff Law
2017-06-20 23:03 ` Ian Lance Taylor via gcc-patches
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=alpine.LSU.2.20.1706201315280.22867@zhemvz.fhfr.qr \
--to=rguenther@suse.de \
--cc=gcc-patches@gcc.gnu.org \
--cc=iant@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).