- sparc-*-solaris*|i[3-7]86-*-solaris*)
- # On native 32bit sparc and ia32 solaris, large-file and procfs support
- # are mutually exclusive; and without procfs support, the bfd/ elf module
- # cannot provide certain routines such as elfcore_write_prpsinfo
- # or elfcore_write_prstatus. So unless the user explicitly requested
- # large-file support through the --enable-largefile switch, disable
- # large-file support in favor of procfs support.
- test "${target}" = "${host}" -a "x$plugins" = xno \
- && : ${enable_largefile="no"}
+ sparc-*-solaris*|i?86-*-solaris*)
+ # On native 32-bit Solaris/SPARC and x86, large-file and procfs support
+ # were mutually exclusive until Solaris 11.3. Without procfs support,
+ # the bfd/ elf module cannot provide certain routines such as
+ # elfcore_write_prpsinfo or elfcore_write_prstatus. So unless the user
+ # explicitly requested large-file support through the
+ # --enable-largefile switch, disable large-file support in favor of
+ # procfs support.
+ #
+ # Check if <sys/procfs.h> is incompatible with large-file support.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#define _FILE_OFFSET_BITS 64
+#define _STRUCTURED_PROC 1
+#include <sys/procfs.h>
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ acx_cv_procfs_lfs=yes
+else
+ acx_cv_procfs_lfs=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ #
+ # Forcefully disable large-file support only if necessary, gdb is in
+ # tree and enabled.
+ if test "${target}" = "${host}" -a "$acx_cv_procfs_lfs" = no \
+ -a -d $srcdir/../gdb -a "$enable_gdb" != no; then
+ : ${enable_largefile="no"}
+ if test "$plugins" = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:
+plugin support disabled; require large-file support which is incompatible with GDB." >&5
+$as_echo "$as_me: WARNING:
+plugin support disabled; require large-file support which is incompatible with GDB." >&2;}
+ plugins=no
+ fi
+ fi
+ #
+ # Explicitly undef _FILE_OFFSET_BITS if enable_largefile=no for the
+ # benefit of g++ 9+ which predefines it on Solaris.
+ if test "$enable_largefile" = no; then
+ LARGEFILE_CPPFLAGS="-U_FILE_OFFSET_BITS"
+
+ fi