summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>2020-07-30 15:41:50 +0200
committerRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>2020-07-30 15:41:50 +0200
commitc8693053f895626ae90b7856d3738de47d14d52c (patch)
tree5ad144e00bc7869c46be99285cf8eda128f7d111
parentac2599c44788ae34a6b26b5dc42848d176f99a5d (diff)
downloadbinutils-gdb-c8693053f895626ae90b7856d3738de47d14d52c.tar.gz
Unify Solaris procfs and largefile handling
GDB currently doesn't build on 32-bit Solaris: * On Solaris 11.4/x86: In file included from /usr/include/sys/procfs.h:26, from /vol/src/gnu/gdb/hg/master/dist/gdb/i386-sol2-nat.c:24: /usr/include/sys/old_procfs.h:31:2: error: #error "Cannot use procfs in the large file compilation environment" #error "Cannot use procfs in the large file compilation environment" ^~~~~ * On Solaris 11.3/x86 there are several more instances of this. The interaction between procfs and large-file support historically has been a royal mess on Solaris: * There are two versions of the procfs interface: ** The old ioctl-based /proc, deprecated and not used any longer in either gdb or binutils. ** The `new' (introduced in Solaris 2.6, 1997) structured /proc. * There are two headers one can possibly include: ** <procfs.h> which only provides the structured /proc, definining _STRUCTURED_PROC=1 and then including ... ** <sys/procfs.h> which defaults to _STRUCTURED_PROC=0, the ioctl-based /proc, but provides structured /proc if _STRUCTURED_PROC == 1. * procfs and the large-file environment didn't go well together: ** Until Solaris 11.3, <sys/procfs.h> would always #error in 32-bit compilations when the large-file environment was active (_FILE_OFFSET_BITS == 64). ** In both Solaris 11.4 and Illumos, this restriction was lifted for structured /proc. So one has to be careful always to define _STRUCTURED_PROC=1 when testing for or using <sys/procfs.h> on Solaris. As the errors above show, this isn't always the case in binutils-gdb right now. Also one may need to disable large-file support for 32-bit compilations on Solaris. config/largefile.m4 meant to do this by wrapping the AC_SYS_LARGEFILE autoconf macro with appropriate checks, yielding ACX_LARGEFILE. Unfortunately the macro doesn't always succeed because it neglects the _STRUCTURED_PROC part. To make things even worse, since GCC 9 g++ predefines _FILE_OFFSET_BITS=64 on Solaris. So even if largefile.m4 deciced not to enable large-file support, this has no effect, breaking the gdb build. This patch addresses all this as follows: * All tests for the <sys/procfs.h> header are made with _STRUCTURED_PROC=1, the definition going into the various config.h files instead of having to make them (and sometimes failing) in the affected sources. * To cope with the g++ predefine of _FILE_OFFSET_BITS=64, -U_FILE_OFFSET_BITS is added to various *_CPPFLAGS variables. It had been far easier to have just #undef _FILE_OFFSET_BITS in config.h, but unfortunately such a construct in config.in is commented by config.status irrespective of indentation and whitespace if large-file support is disabled. I found no way around this and putting the #undef in several global headers for bfd, binutils, ld, and gdb seemed way more invasive. * Last, the applicability check in largefile.m4 was modified only to disable largefile support if really needed. To do so, it checks if <sys/procfs.h> compiles with _FILE_OFFSET_BITS=64 defined. If it doesn't, the disabling only happens if gdb exists in-tree and isn't disabled, otherwise (building binutils from a tarball), there's no conflict. What initially confused me was the check for $plugins here, which originally caused the disabling not to take place. Since AC_PLUGINGS does enable plugin support if <dlfcn.h> exists (which it does on Solaris), the disabling never happened. I could find no explanation why the linker plugin needs large-file support but thought it would be enough if gld and GCC's lto-plugin agreed on the _FILE_OFFSET_BITS value. Unfortunately, that's not enough: lto-plugin uses the simple-object interface from libiberty, which includes off_t arguments. So to fully disable large-file support would mean also disabling it in libiberty and its users: gcc and libstdc++-v3. This seems highly undesirable, so I decided to disable the linker plugin instead if large-file support won't work. The patch allows binutils+gdb to build on i386-pc-solaris2.11 (both Solaris 11.3 and 11.4, using GCC 9.3.0 which is the worst case due to predefined _FILE_OFFSET_BITS=64). Also regtested on amd64-pc-solaris2.11 (again on Solaris 11.3 and 11.4), x86_64-pc-linux-gnu and i686-pc-linux-gnu. config: * largefile.m4 (ACX_LARGEFILE) <sparc-*-solaris*|i?86-*-solaris*>: Check for <sys/procfs.h> incompatilibity with large-file support on Solaris. Only disable large-file support and perhaps plugins if needed. Set, substitute LARGEFILE_CPPFLAGS if so. bfd: * bfd.m4 (BFD_SYS_PROCFS_H): New macro. (BFD_HAVE_SYS_PROCFS_TYPE): Require BFD_SYS_PROCFS_H. Don't define _STRUCTURED_PROC. (BFD_HAVE_SYS_PROCFS_TYPE_MEMBER): Likewise. * elf.c [HAVE_SYS_PROCFS_H] (_STRUCTURED_PROC): Don't define. * configure.ac: Use BFD_SYS_PROCFS_H to check for <sys/procfs.h>. * configure, config.in: Regenerate. * Makefile.am (AM_CPPFLAGS): Add LARGEFILE_CPPFLAGS. * Makefile.in, doc/Makefile.in: Regenerate. binutils: * Makefile.am (AM_CPPFLAGS): Add LARGEFILE_CPPFLAGS. * Makefile.in, doc/Makefile.in: Regenerate. * configure: Regenerate. gas: * Makefile.am (AM_CPPFLAGS): Add LARGEFILE_CPPFLAGS. * Makefile.in, doc/Makefile.in: Regenerate. * configure: Regenerate. gdb: * proc-api.c (_STRUCTURED_PROC): Don't define. * proc-events.c: Likewise. * proc-flags.c: Likewise. * proc-why.c: Likewise. * procfs.c: Likewise. * Makefile.in (INTERNAL_CPPFLAGS): Add LARGEFILE_CPPFLAGS. * configure, config.in: Regenerate. gdbserver: * configure, config.in: Regenerate. gdbsupport: * Makefile.am (AM_CPPFLAGS): Add LARGEFILE_CPPFLAGS. * common.m4 (GDB_AC_COMMON): Use BFD_SYS_PROCFS_H to check for <sys/procfs.h>. * Makefile.in: Regenerate. * configure, config.in: Regenerate. gnulib: * configure.ac: Run ACX_LARGEFILE before gl_EARLY. * configure: Regenerate. gprof: * Makefile.am (AM_CPPFLAGS): Add LARGEFILE_CPPFLAGS. * Makefile.in: Regenerate. * configure: Regenerate. ld: * Makefile.am (AM_CPPFLAGS): Add LARGEFILE_CPPFLAGS. * Makefile.in: Regenerate. * configure: Regenerate.
-rw-r--r--bfd/ChangeLog12
-rw-r--r--bfd/Makefile.am2
-rw-r--r--bfd/Makefile.in7
-rw-r--r--bfd/bfd.m416
-rw-r--r--bfd/config.in3
-rwxr-xr-xbfd/configure174
-rw-r--r--bfd/configure.ac2
-rw-r--r--bfd/doc/Makefile.in1
-rw-r--r--bfd/elf.c2
-rw-r--r--binutils/ChangeLog6
-rw-r--r--binutils/Makefile.am1
-rw-r--r--binutils/Makefile.in2
-rwxr-xr-xbinutils/configure64
-rw-r--r--binutils/doc/Makefile.in1
-rw-r--r--config/ChangeLog8
-rw-r--r--config/largefile.m445
-rw-r--r--gas/ChangeLog6
-rw-r--r--gas/Makefile.am2
-rw-r--r--gas/Makefile.in3
-rwxr-xr-xgas/configure64
-rw-r--r--gas/doc/Makefile.in1
-rw-r--r--gdb/ChangeLog11
-rw-r--r--gdb/Makefile.in3
-rw-r--r--gdb/config.in3
-rwxr-xr-xgdb/configure117
-rw-r--r--gdb/proc-api.c2
-rw-r--r--gdb/proc-events.c2
-rw-r--r--gdb/proc-flags.c2
-rw-r--r--gdb/proc-why.c2
-rw-r--r--gdb/procfs.c2
-rw-r--r--gdbserver/ChangeLog4
-rw-r--r--gdbserver/config.in3
-rwxr-xr-xgdbserver/configure57
-rw-r--r--gdbsupport/ChangeLog8
-rw-r--r--gdbsupport/Makefile.am3
-rw-r--r--gdbsupport/Makefile.in4
-rw-r--r--gdbsupport/common.m43
-rw-r--r--gdbsupport/config.in3
-rwxr-xr-xgdbsupport/configure117
-rw-r--r--gnulib/ChangeLog5
-rw-r--r--gnulib/Makefile.in1
-rw-r--r--gnulib/configure1127
-rw-r--r--gnulib/configure.ac5
-rw-r--r--gnulib/import/Makefile.in1
-rw-r--r--gprof/ChangeLog6
-rw-r--r--gprof/Makefile.am2
-rw-r--r--gprof/Makefile.in3
-rwxr-xr-xgprof/configure64
-rw-r--r--ld/ChangeLog6
-rw-r--r--ld/Makefile.am2
-rw-r--r--ld/Makefile.in3
-rwxr-xr-xld/configure64
52 files changed, 1155 insertions, 902 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index e9d135ebb65..264e15a1fe5 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,15 @@
+2020-07-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * bfd.m4 (BFD_SYS_PROCFS_H): New macro.
+ (BFD_HAVE_SYS_PROCFS_TYPE): Require BFD_SYS_PROCFS_H.
+ Don't define _STRUCTURED_PROC.
+ (BFD_HAVE_SYS_PROCFS_TYPE_MEMBER): Likewise.
+ * elf.c [HAVE_SYS_PROCFS_H] (_STRUCTURED_PROC): Don't define.
+ * configure.ac: Use BFD_SYS_PROCFS_H to check for <sys/procfs.h>.
+ * configure, config.in: Regenerate.
+ * Makefile.am (AM_CPPFLAGS): Add LARGEFILE_CPPFLAGS.
+ * Makefile.in, doc/Makefile.in: Regenerate.
+
2020-07-30 H.J. Lu <hongjiu.lu@intel.com>
* elf-bfd.h (sym_cache): Moved before elf_link_hash_table.
diff --git a/bfd/Makefile.am b/bfd/Makefile.am
index f48a8e708e9..d07c9605b6f 100644
--- a/bfd/Makefile.am
+++ b/bfd/Makefile.am
@@ -53,7 +53,7 @@ ZLIBINC = @zlibinc@
WARN_CFLAGS = @WARN_CFLAGS@
NO_WERROR = @NO_WERROR@
AM_CFLAGS = $(WARN_CFLAGS) $(ZLIBINC)
-AM_CPPFLAGS = -DBINDIR='"$(bindir)"' -DLIBDIR='"$(libdir)"'
+AM_CPPFLAGS = -DBINDIR='"$(bindir)"' -DLIBDIR='"$(libdir)"' @LARGEFILE_CPPFLAGS@
if PLUGINS
bfdinclude_HEADERS += $(INCDIR)/plugin-api.h
LIBDL = @lt_cv_dlopen_libs@
diff --git a/bfd/Makefile.in b/bfd/Makefile.in
index e2dce2501ee..9cad4da6f8f 100644
--- a/bfd/Makefile.in
+++ b/bfd/Makefile.in
@@ -330,6 +330,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INSTOBJEXT = @INSTOBJEXT@
+LARGEFILE_CPPFLAGS = @LARGEFILE_CPPFLAGS@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBINTL = @LIBINTL@
@@ -479,9 +480,9 @@ libbfd_la_LDFLAGS = $(am__append_1) -release `cat libtool-soversion` \
ZLIB = @zlibdir@ -lz
ZLIBINC = @zlibinc@
AM_CFLAGS = $(WARN_CFLAGS) $(ZLIBINC)
-AM_CPPFLAGS = -DBINDIR='"$(bindir)"' -DLIBDIR='"$(libdir)"' @HDEFINES@ \
- @COREFLAG@ @TDEFINES@ $(CSEARCH) $(CSWITCHES) $(HAVEVECS) \
- @INCINTL@ $(am__empty)
+AM_CPPFLAGS = -DBINDIR='"$(bindir)"' -DLIBDIR='"$(libdir)"' \
+ @LARGEFILE_CPPFLAGS@ @HDEFINES@ @COREFLAG@ @TDEFINES@ \
+ $(CSEARCH) $(CSWITCHES) $(HAVEVECS) @INCINTL@
@PLUGINS_TRUE@LIBDL = @lt_cv_dlopen_libs@
# bfd.h goes here, for now
diff --git a/bfd/bfd.m4 b/bfd/bfd.m4
index d5c3b61c7c0..21c55903aba 100644
--- a/bfd/bfd.m4
+++ b/bfd/bfd.m4
@@ -17,15 +17,20 @@ dnl along with this program; see the file COPYING3. If not see
dnl <http://www.gnu.org/licenses/>.
dnl
+dnl Check for sys/procfs.h, enforcing structured /proc on Solaris.
+
+AC_DEFUN([BFD_SYS_PROCFS_H],
+[AC_DEFINE(_STRUCTURED_PROC, 1, [Use structured /proc on Solaris.])
+ AC_CHECK_HEADERS(sys/procfs.h)])
+
dnl Check for existence of a type $1 in sys/procfs.h
AC_DEFUN([BFD_HAVE_SYS_PROCFS_TYPE],
-[AC_MSG_CHECKING([for $1 in sys/procfs.h])
+[AC_REQUIRE([BFD_SYS_PROCFS_H])
+ AC_MSG_CHECKING([for $1 in sys/procfs.h])
AC_CACHE_VAL(bfd_cv_have_sys_procfs_type_$1,
[AC_TRY_COMPILE([
#define _SYSCALL32
-/* Needed for new procfs interface on sparc-solaris. */
-#define _STRUCTURED_PROC 1
#include <sys/procfs.h>],
[$1 avar],
bfd_cv_have_sys_procfs_type_$1=yes,
@@ -41,12 +46,11 @@ AC_DEFUN([BFD_HAVE_SYS_PROCFS_TYPE],
dnl Check for existence of member $2 in type $1 in sys/procfs.h
AC_DEFUN([BFD_HAVE_SYS_PROCFS_TYPE_MEMBER],
-[AC_MSG_CHECKING([for $1.$2 in sys/procfs.h])
+[AC_REQUIRE([BFD_SYS_PROCFS_H])
+ AC_MSG_CHECKING([for $1.$2 in sys/procfs.h])
AC_CACHE_VAL(bfd_cv_have_sys_procfs_type_member_$1_$2,
[AC_TRY_COMPILE([
#define _SYSCALL32
-/* Needed for new procfs interface on sparc-solaris. */
-#define _STRUCTURED_PROC 1
#include <sys/procfs.h>],
[$1 avar; void* aref = (void*) &avar.$2],
bfd_cv_have_sys_procfs_type_member_$1_$2=yes,
diff --git a/bfd/config.in b/bfd/config.in
index be572969fc0..c7be6c51764 100644
--- a/bfd/config.in
+++ b/bfd/config.in
@@ -416,3 +416,6 @@
/* Define to 1 if you need to in order for `stat' and other things to work. */
#undef _POSIX_SOURCE
+
+/* Use structured /proc on Solaris. */
+#undef _STRUCTURED_PROC
diff --git a/bfd/configure b/bfd/configure
index ca255aaa55d..1b983aaa35c 100755
--- a/bfd/configure
+++ b/bfd/configure
@@ -699,6 +699,7 @@ PKGVERSION
DEBUGDIR
PLUGINS_FALSE
PLUGINS_TRUE
+LARGEFILE_CPPFLAGS
OTOOL64
OTOOL
LIPO
@@ -11728,7 +11729,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 11731 "configure"
+#line 11732 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -11834,7 +11835,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 11837 "configure"
+#line 11838 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12186,15 +12187,56 @@ fi
case "${host}" in
- 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
;;
esac
@@ -15310,7 +15352,10 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
# ELF corefile support has several flavors, but all of
# them use something called <sys/procfs.h>
- for ac_header in sys/procfs.h
+
+$as_echo "#define _STRUCTURED_PROC 1" >>confdefs.h
+
+ for ac_header in sys/procfs.h
do :
ac_fn_c_check_header_mongrel "$LINENO" "sys/procfs.h" "ac_cv_header_sys_procfs_h" "$ac_includes_default"
if test "x$ac_cv_header_sys_procfs_h" = xyes; then :
@@ -15323,7 +15368,8 @@ fi
done
if test "$ac_cv_header_sys_procfs_h" = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for prstatus_t in sys/procfs.h" >&5
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for prstatus_t in sys/procfs.h" >&5
$as_echo_n "checking for prstatus_t in sys/procfs.h... " >&6; }
if ${bfd_cv_have_sys_procfs_type_prstatus_t+:} false; then :
$as_echo_n "(cached) " >&6
@@ -15332,8 +15378,6 @@ else
/* end confdefs.h. */
#define _SYSCALL32
-/* Needed for new procfs interface on sparc-solaris. */
-#define _STRUCTURED_PROC 1
#include <sys/procfs.h>
int
main ()
@@ -15360,7 +15404,8 @@ $as_echo "#define HAVE_PRSTATUS_T 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bfd_cv_have_sys_procfs_type_prstatus_t" >&5
$as_echo "$bfd_cv_have_sys_procfs_type_prstatus_t" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for prstatus32_t in sys/procfs.h" >&5
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for prstatus32_t in sys/procfs.h" >&5
$as_echo_n "checking for prstatus32_t in sys/procfs.h... " >&6; }
if ${bfd_cv_have_sys_procfs_type_prstatus32_t+:} false; then :
$as_echo_n "(cached) " >&6
@@ -15369,8 +15414,6 @@ else
/* end confdefs.h. */
#define _SYSCALL32
-/* Needed for new procfs interface on sparc-solaris. */
-#define _STRUCTURED_PROC 1
#include <sys/procfs.h>
int
main ()
@@ -15397,7 +15440,8 @@ $as_echo "#define HAVE_PRSTATUS32_T 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bfd_cv_have_sys_procfs_type_prstatus32_t" >&5
$as_echo "$bfd_cv_have_sys_procfs_type_prstatus32_t" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for prstatus_t.pr_who in sys/procfs.h" >&5
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for prstatus_t.pr_who in sys/procfs.h" >&5
$as_echo_n "checking for prstatus_t.pr_who in sys/procfs.h... " >&6; }
if ${bfd_cv_have_sys_procfs_type_member_prstatus_t_pr_who+:} false; then :
$as_echo_n "(cached) " >&6
@@ -15406,8 +15450,6 @@ else
/* end confdefs.h. */
#define _SYSCALL32
-/* Needed for new procfs interface on sparc-solaris. */
-#define _STRUCTURED_PROC 1
#include <sys/procfs.h>
int
main ()
@@ -15434,7 +15476,8 @@ $as_echo "#define HAVE_PRSTATUS_T_PR_WHO 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bfd_cv_have_sys_procfs_type_member_prstatus_t_pr_who" >&5
$as_echo "$bfd_cv_have_sys_procfs_type_member_prstatus_t_pr_who" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for prstatus32_t.pr_who in sys/procfs.h" >&5
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for prstatus32_t.pr_who in sys/procfs.h" >&5
$as_echo_n "checking for prstatus32_t.pr_who in sys/procfs.h... " >&6; }
if ${bfd_cv_have_sys_procfs_type_member_prstatus32_t_pr_who+:} false; then :
$as_echo_n "(cached) " >&6
@@ -15443,8 +15486,6 @@ else
/* end confdefs.h. */
#define _SYSCALL32
-/* Needed for new procfs interface on sparc-solaris. */
-#define _STRUCTURED_PROC 1
#include <sys/procfs.h>
int
main ()
@@ -15471,7 +15512,8 @@ $as_echo "#define HAVE_PRSTATUS32_T_PR_WHO 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bfd_cv_have_sys_procfs_type_member_prstatus32_t_pr_who" >&5
$as_echo "$bfd_cv_have_sys_procfs_type_member_prstatus32_t_pr_who" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pstatus_t in sys/procfs.h" >&5
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pstatus_t in sys/procfs.h" >&5
$as_echo_n "checking for pstatus_t in sys/procfs.h... " >&6; }
if ${bfd_cv_have_sys_procfs_type_pstatus_t+:} false; then :
$as_echo_n "(cached) " >&6
@@ -15480,8 +15522,6 @@ else
/* end confdefs.h. */
#define _SYSCALL32
-/* Needed for new procfs interface on sparc-solaris. */
-#define _STRUCTURED_PROC 1
#include <sys/procfs.h>
int
main ()
@@ -15508,7 +15548,8 @@ $as_echo "#define HAVE_PSTATUS_T 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bfd_cv_have_sys_procfs_type_pstatus_t" >&5
$as_echo "$bfd_cv_have_sys_procfs_type_pstatus_t" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pxstatus_t in sys/procfs.h" >&5
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pxstatus_t in sys/procfs.h" >&5
$as_echo_n "checking for pxstatus_t in sys/procfs.h... " >&6; }
if ${bfd_cv_have_sys_procfs_type_pxstatus_t+:} false; then :
$as_echo_n "(cached) " >&6
@@ -15517,8 +15558,6 @@ else
/* end confdefs.h. */
#define _SYSCALL32
-/* Needed for new procfs interface on sparc-solaris. */
-#define _STRUCTURED_PROC 1
#include <sys/procfs.h>
int
main ()
@@ -15545,7 +15584,8 @@ $as_echo "#define HAVE_PXSTATUS_T 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bfd_cv_have_sys_procfs_type_pxstatus_t" >&5
$as_echo "$bfd_cv_have_sys_procfs_type_pxstatus_t" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pstatus32_t in sys/procfs.h" >&5
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pstatus32_t in sys/procfs.h" >&5
$as_echo_n "checking for pstatus32_t in sys/procfs.h... " >&6; }
if ${bfd_cv_have_sys_procfs_type_pstatus32_t+:} false; then :
$as_echo_n "(cached) " >&6
@@ -15554,8 +15594,6 @@ else
/* end confdefs.h. */
#define _SYSCALL32
-/* Needed for new procfs interface on sparc-solaris. */
-#define _STRUCTURED_PROC 1
#include <sys/procfs.h>
int
main ()
@@ -15582,7 +15620,8 @@ $as_echo "#define HAVE_PSTATUS32_T 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bfd_cv_have_sys_procfs_type_pstatus32_t" >&5
$as_echo "$bfd_cv_have_sys_procfs_type_pstatus32_t" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for prpsinfo_t in sys/procfs.h" >&5
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for prpsinfo_t in sys/procfs.h" >&5
$as_echo_n "checking for prpsinfo_t in sys/procfs.h... " >&6; }
if ${bfd_cv_have_sys_procfs_type_prpsinfo_t+:} false; then :
$as_echo_n "(cached) " >&6
@@ -15591,8 +15630,6 @@ else
/* end confdefs.h. */
#define _SYSCALL32
-/* Needed for new procfs interface on sparc-solaris. */
-#define _STRUCTURED_PROC 1
#include <sys/procfs.h>
int
main ()
@@ -15619,7 +15656,8 @@ $as_echo "#define HAVE_PRPSINFO_T 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bfd_cv_have_sys_procfs_type_prpsinfo_t" >&5
$as_echo "$bfd_cv_have_sys_procfs_type_prpsinfo_t" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for prpsinfo_t.pr_pid in sys/procfs.h" >&5
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for prpsinfo_t.pr_pid in sys/procfs.h" >&5
$as_echo_n "checking for prpsinfo_t.pr_pid in sys/procfs.h... " >&6; }
if ${bfd_cv_have_sys_procfs_type_member_prpsinfo_t_pr_pid+:} false; then :
$as_echo_n "(cached) " >&6
@@ -15628,8 +15666,6 @@ else
/* end confdefs.h. */
#define _SYSCALL32
-/* Needed for new procfs interface on sparc-solaris. */
-#define _STRUCTURED_PROC 1
#include <sys/procfs.h>
int
main ()
@@ -15656,7 +15692,8 @@ $as_echo "#define HAVE_PRPSINFO_T_PR_PID 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bfd_cv_have_sys_procfs_type_member_prpsinfo_t_pr_pid" >&5
$as_echo "$bfd_cv_have_sys_procfs_type_member_prpsinfo_t_pr_pid" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for prpsinfo32_t in sys/procfs.h" >&5
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for prpsinfo32_t in sys/procfs.h" >&5
$as_echo_n "checking for prpsinfo32_t in sys/procfs.h... " >&6; }
if ${bfd_cv_have_sys_procfs_type_prpsinfo32_t+:} false; then :
$as_echo_n "(cached) " >&6
@@ -15665,8 +15702,6 @@ else
/* end confdefs.h. */
#define _SYSCALL32
-/* Needed for new procfs interface on sparc-solaris. */
-#define _STRUCTURED_PROC 1
#include <sys/procfs.h>
int
main ()
@@ -15693,7 +15728,8 @@ $as_echo "#define HAVE_PRPSINFO32_T 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bfd_cv_have_sys_procfs_type_prpsinfo32_t" >&5
$as_echo "$bfd_cv_have_sys_procfs_type_prpsinfo32_t" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for prpsinfo32_t.pr_pid in sys/procfs.h" >&5
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for prpsinfo32_t.pr_pid in sys/procfs.h" >&5
$as_echo_n "checking for prpsinfo32_t.pr_pid in sys/procfs.h... " >&6; }
if ${bfd_cv_have_sys_procfs_type_member_prpsinfo32_t_pr_pid+:} false; then :
$as_echo_n "(cached) " >&6
@@ -15702,8 +15738,6 @@ else
/* end confdefs.h. */
#define _SYSCALL32
-/* Needed for new procfs interface on sparc-solaris. */
-#define _STRUCTURED_PROC 1
#include <sys/procfs.h>
int
main ()
@@ -15730,7 +15764,8 @@ $as_echo "#define HAVE_PRPSINFO32_T_PR_PID 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bfd_cv_have_sys_procfs_type_member_prpsinfo32_t_pr_pid" >&5
$as_echo "$bfd_cv_have_sys_procfs_type_member_prpsinfo32_t_pr_pid" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for psinfo_t in sys/procfs.h" >&5
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for psinfo_t in sys/procfs.h" >&5
$as_echo_n "checking for psinfo_t in sys/procfs.h... " >&6; }
if ${bfd_cv_have_sys_procfs_type_psinfo_t+:} false; then :
$as_echo_n "(cached) " >&6
@@ -15739,8 +15774,6 @@ else
/* end confdefs.h. */
#define _SYSCALL32
-/* Needed for new procfs interface on sparc-solaris. */
-#define _STRUCTURED_PROC 1
#include <sys/procfs.h>
int
main ()
@@ -15767,7 +15800,8 @@ $as_echo "#define HAVE_PSINFO_T 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bfd_cv_have_sys_procfs_type_psinfo_t" >&5
$as_echo "$bfd_cv_have_sys_procfs_type_psinfo_t" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for psinfo_t.pr_pid in sys/procfs.h" >&5
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for psinfo_t.pr_pid in sys/procfs.h" >&5
$as_echo_n "checking for psinfo_t.pr_pid in sys/procfs.h... " >&6; }
if ${bfd_cv_have_sys_procfs_type_member_psinfo_t_pr_pid+:} false; then :
$as_echo_n "(cached) " >&6
@@ -15776,8 +15810,6 @@ else
/* end confdefs.h. */
#define _SYSCALL32
-/* Needed for new procfs interface on sparc-solaris. */
-#define _STRUCTURED_PROC 1
#include <sys/procfs.h>
int
main ()
@@ -15804,7 +15836,8 @@ $as_echo "#define HAVE_PSINFO_T_PR_PID 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bfd_cv_have_sys_procfs_type_member_psinfo_t_pr_pid" >&5
$as_echo "$bfd_cv_have_sys_procfs_type_member_psinfo_t_pr_pid" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for psinfo32_t in sys/procfs.h" >&5
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for psinfo32_t in sys/procfs.h" >&5
$as_echo_n "checking for psinfo32_t in sys/procfs.h... " >&6; }
if ${bfd_cv_have_sys_procfs_type_psinfo32_t+:} false; then :
$as_echo_n "(cached) " >&6
@@ -15813,8 +15846,6 @@ else
/* end confdefs.h. */
#define _SYSCALL32
-/* Needed for new procfs interface on sparc-solaris. */
-#define _STRUCTURED_PROC 1
#include <sys/procfs.h>
int
main ()
@@ -15841,7 +15872,8 @@ $as_echo "#define HAVE_PSINFO32_T 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bfd_cv_have_sys_procfs_type_psinfo32_t" >&5
$as_echo "$bfd_cv_have_sys_procfs_type_psinfo32_t" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for psinfo32_t.pr_pid in sys/procfs.h" >&5
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for psinfo32_t.pr_pid in sys/procfs.h" >&5
$as_echo_n "checking for psinfo32_t.pr_pid in sys/procfs.h... " >&6; }
if ${bfd_cv_have_sys_procfs_type_member_psinfo32_t_pr_pid+:} false; then :
$as_echo_n "(cached) " >&6
@@ -15850,8 +15882,6 @@ else
/* end confdefs.h. */
#define _SYSCALL32
-/* Needed for new procfs interface on sparc-solaris. */
-#define _STRUCTURED_PROC 1
#include <sys/procfs.h>
int
main ()
@@ -15878,7 +15908,8 @@ $as_echo "#define HAVE_PSINFO32_T_PR_PID 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bfd_cv_have_sys_procfs_type_member_psinfo32_t_pr_pid" >&5
$as_echo "$bfd_cv_have_sys_procfs_type_member_psinfo32_t_pr_pid" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for lwpstatus_t in sys/procfs.h" >&5
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for lwpstatus_t in sys/procfs.h" >&5
$as_echo_n "checking for lwpstatus_t in sys/procfs.h... " >&6; }
if ${bfd_cv_have_sys_procfs_type_lwpstatus_t+:} false; then :
$as_echo_n "(cached) " >&6
@@ -15887,8 +15918,6 @@ else
/* end confdefs.h. */
#define _SYSCALL32
-/* Needed for new procfs interface on sparc-solaris. */
-#define _STRUCTURED_PROC 1
#include <sys/procfs.h>
int
main ()
@@ -15915,7 +15944,8 @@ $as_echo "#define HAVE_LWPSTATUS_T 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bfd_cv_have_sys_procfs_type_lwpstatus_t" >&5
$as_echo "$bfd_cv_have_sys_procfs_type_lwpstatus_t" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for lwpxstatus_t in sys/procfs.h" >&5
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for lwpxstatus_t in sys/procfs.h" >&5
$as_echo_n "checking for lwpxstatus_t in sys/procfs.h... " >&6; }
if ${bfd_cv_have_sys_procfs_type_lwpxstatus_t+:} false; then :
$as_echo_n "(cached) " >&6
@@ -15924,8 +15954,6 @@ else
/* end confdefs.h. */
#define _SYSCALL32
-/* Needed for new procfs interface on sparc-solaris. */
-#define _STRUCTURED_PROC 1
#include <sys/procfs.h>
int
main ()
@@ -15952,7 +15980,8 @@ $as_echo "#define HAVE_LWPXSTATUS_T 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bfd_cv_have_sys_procfs_type_lwpxstatus_t" >&5
$as_echo "$bfd_cv_have_sys_procfs_type_lwpxstatus_t" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for lwpstatus_t.pr_context in sys/procfs.h" >&5
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for lwpstatus_t.pr_context in sys/procfs.h" >&5
$as_echo_n "checking for lwpstatus_t.pr_context in sys/procfs.h... " >&6; }
if ${bfd_cv_have_sys_procfs_type_member_lwpstatus_t_pr_context+:} false; then :
$as_echo_n "(cached) " >&6
@@ -15961,8 +15990,6 @@ else
/* end confdefs.h. */
#define _SYSCALL32
-/* Needed for new procfs interface on sparc-solaris. */
-#define _STRUCTURED_PROC 1
#include <sys/procfs.h>
int
main ()
@@ -15989,7 +16016,8 @@ $as_echo "#define HAVE_LWPSTATUS_T_PR_CONTEXT 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bfd_cv_have_sys_procfs_type_member_lwpstatus_t_pr_context" >&5
$as_echo "$bfd_cv_have_sys_procfs_type_member_lwpstatus_t_pr_context" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for lwpstatus_t.pr_reg in sys/procfs.h" >&5
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for lwpstatus_t.pr_reg in sys/procfs.h" >&5
$as_echo_n "checking for lwpstatus_t.pr_reg in sys/procfs.h... " >&6; }
if ${bfd_cv_have_sys_procfs_type_member_lwpstatus_t_pr_reg+:} false; then :
$as_echo_n "(cached) " >&6
@@ -15998,8 +16026,6 @@ else
/* end confdefs.h. */
#define _SYSCALL32
-/* Needed for new procfs interface on sparc-solaris. */
-#define _STRUCTURED_PROC 1
#include <sys/procfs.h>
int
main ()
@@ -16026,7 +16052,8 @@ $as_echo "#define HAVE_LWPSTATUS_T_PR_REG 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bfd_cv_have_sys_procfs_type_member_lwpstatus_t_pr_reg" >&5
$as_echo "$bfd_cv_have_sys_procfs_type_member_lwpstatus_t_pr_reg" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for lwpstatus_t.pr_fpreg in sys/procfs.h" >&5
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for lwpstatus_t.pr_fpreg in sys/procfs.h" >&5
$as_echo_n "checking for lwpstatus_t.pr_fpreg in sys/procfs.h... " >&6; }
if ${bfd_cv_have_sys_procfs_type_member_lwpstatus_t_pr_fpreg+:} false; then :
$as_echo_n "(cached) " >&6
@@ -16035,8 +16062,6 @@ else
/* end confdefs.h. */
#define _SYSCALL32
-/* Needed for new procfs interface on sparc-solaris. */
-#define _STRUCTURED_PROC 1
#include <sys/procfs.h>
int
main ()
@@ -16063,7 +16088,8 @@ $as_echo "#define HAVE_LWPSTATUS_T_PR_FPREG 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bfd_cv_have_sys_procfs_type_member_lwpstatus_t_pr_fpreg" >&5
$as_echo "$bfd_cv_have_sys_procfs_type_member_lwpstatus_t_pr_fpreg" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for win32_pstatus_t in sys/procfs.h" >&5
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for win32_pstatus_t in sys/procfs.h" >&5
$as_echo_n "checking for win32_pstatus_t in sys/procfs.h... " >&6; }
if ${bfd_cv_have_sys_procfs_type_win32_pstatus_t+:} false; then :
$as_echo_n "(cached) " >&6
@@ -16072,8 +16098,6 @@ else
/* end confdefs.h. */
#define _SYSCALL32
-/* Needed for new procfs interface on sparc-solaris. */
-#define _STRUCTURED_PROC 1
#include <sys/procfs.h>
int
main ()
diff --git a/bfd/configure.ac b/bfd/configure.ac
index ee3075aca34..769aa87fe64 100644
--- a/bfd/configure.ac
+++ b/bfd/configure.ac
@@ -1039,7 +1039,7 @@ changequote([,])dnl
# ELF corefile support has several flavors, but all of
# them use something called <sys/procfs.h>
- AC_CHECK_HEADERS(sys/procfs.h)
+ BFD_SYS_PROCFS_H
if test "$ac_cv_header_sys_procfs_h" = yes; then
BFD_HAVE_SYS_PROCFS_TYPE(prstatus_t)
BFD_HAVE_SYS_PROCFS_TYPE(prstatus32_t)
diff --git a/bfd/doc/Makefile.in b/bfd/doc/Makefile.in
index 2c1ddd45b8d..7e29b4852f0 100644
--- a/bfd/doc/Makefile.in
+++ b/bfd/doc/Makefile.in
@@ -272,6 +272,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INSTOBJEXT = @INSTOBJEXT@
+LARGEFILE_CPPFLAGS = @LARGEFILE_CPPFLAGS@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBINTL = @LIBINTL@
diff --git a/bfd/elf.c b/bfd/elf.c
index 59fde16ca79..5fb1995bad2 100644
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -9453,8 +9453,6 @@ _bfd_elf_rel_vtable_reloc_fn
out details about the corefile. */
#ifdef HAVE_SYS_PROCFS_H
-/* Needed for new procfs interface on sparc-solaris. */
-# define _STRUCTURED_PROC 1
# include <sys/procfs.h>
#endif
diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index dc369d3ba00..acd04df6860 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,3 +1,9 @@
+2020-07-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * Makefile.am (AM_CPPFLAGS): Add LARGEFILE_CPPFLAGS.
+ * Makefile.in, doc/Makefile.in: Regenerate.
+ * configure: Regenerate.
+
2020-07-30 H.J. Lu <hongjiu.lu@intel.com>
* testsuite/binutils-all/i386/compressed-1a.d: Pass --gdwarf-3
diff --git a/binutils/Makefile.am b/binutils/Makefile.am
index fb54653fd3a..94d7616c2e3 100644
--- a/binutils/Makefile.am
+++ b/binutils/Makefile.am
@@ -116,6 +116,7 @@ INCDIR = $(BASEDIR)/include
AM_CPPFLAGS = -I. -I$(srcdir) -I../bfd -I$(BFDDIR) -I$(INCDIR) \
@HDEFINES@ \
@INCINTL@ \
+ @LARGEFILE_CPPFLAGS@ \
-DLOCALEDIR="\"$(datadir)/locale\"" \
-Dbin_dummy_emulation=$(EMULATION_VECTOR)
diff --git a/binutils/Makefile.in b/binutils/Makefile.in
index 6b15696df62..5ddae25558d 100644
--- a/binutils/Makefile.in
+++ b/binutils/Makefile.in
@@ -451,6 +451,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INSTOBJEXT = @INSTOBJEXT@
+LARGEFILE_CPPFLAGS = @LARGEFILE_CPPFLAGS@
LD = @LD@
LDFLAGS = @LDFLAGS@
LEX = `if [ -f ../flex/flex ]; then echo ../flex/flex; else echo @LEX@; fi`
@@ -624,6 +625,7 @@ INCDIR = $(BASEDIR)/include
AM_CPPFLAGS = -I. -I$(srcdir) -I../bfd -I$(BFDDIR) -I$(INCDIR) \
@HDEFINES@ \
@INCINTL@ \
+ @LARGEFILE_CPPFLAGS@ \
-DLOCALEDIR="\"$(datadir)/locale\"" \
-Dbin_dummy_emulation=$(EMULATION_VECTOR)
diff --git a/binutils/configure b/binutils/configure
index 18316b7696d..6dde3053a35 100755
--- a/binutils/configure
+++ b/binutils/configure
@@ -691,6 +691,7 @@ DEBUGINFOD_CFLAGS
PKG_CONFIG_LIBDIR
PKG_CONFIG_PATH
PKG_CONFIG
+LARGEFILE_CPPFLAGS
OTOOL64
OTOOL
LIPO
@@ -11551,7 +11552,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 11554 "configure"
+#line 11555 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -11657,7 +11658,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 11660 "configure"
+#line 11661 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12007,15 +12008,56 @@ fi
case "${host}" in
- 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
;;
esac
diff --git a/binutils/doc/Makefile.in b/binutils/doc/Makefile.in
index 9ad9236dfc9..04576ab9b31 100644
--- a/binutils/doc/Makefile.in
+++ b/binutils/doc/Makefile.in
@@ -284,6 +284,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INSTOBJEXT = @INSTOBJEXT@
+LARGEFILE_CPPFLAGS = @LARGEFILE_CPPFLAGS@
LD = @LD@
LDFLAGS = @LDFLAGS@
LEX = @LEX@
diff --git a/config/ChangeLog b/config/ChangeLog
index f93d86a969b..ba1fc7f2ab2 100644
--- a/config/ChangeLog
+++ b/config/ChangeLog
@@ -1,3 +1,11 @@
+2020-07-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * largefile.m4 (ACX_LARGEFILE) <sparc-*-solaris*|i?86-*-solaris*>:
+ Check for <sys/procfs.h> incompatilibity with large-file support
+ on Solaris.
+ Only disable large-file support and perhaps plugins if needed.
+ Set, substitute LARGEFILE_CPPFLAGS if so.
+
2020-07-28 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/26301
diff --git a/config/largefile.m4 b/config/largefile.m4
index 4a88fd738fd..937596334cd 100644
--- a/config/largefile.m4
+++ b/config/largefile.m4
@@ -1,5 +1,5 @@
# This macro wraps AC_SYS_LARGEFILE with one exception for Solaris.
-# PR 9992/binutils: We have to replicate everywhere the behaviour of
+# PR binutils/9992: We have to replicate everywhere the behaviour of
# bfd's configure script so that all the directories agree on the size
# of structures used to describe files.
@@ -16,17 +16,38 @@ AC_REQUIRE([AC_CANONICAL_TARGET])
AC_PLUGINS
case "${host}" in
-changequote(,)dnl
- sparc-*-solaris*|i[3-7]86-*-solaris*)
-changequote([,])dnl
- # 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.
+ AC_TRY_COMPILE([#define _FILE_OFFSET_BITS 64
+#define _STRUCTURED_PROC 1
+#include <sys/procfs.h>], , acx_cv_procfs_lfs=yes, acx_cv_procfs_lfs=no)
+ #
+ # 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
+ AC_MSG_WARN([
+plugin support disabled; require large-file support which is incompatible with GDB.])
+ 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"
+ AC_SUBST(LARGEFILE_CPPFLAGS)
+ fi
;;
esac
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 27ebd233297..2e52252db90 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,9 @@
+2020-07-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * Makefile.am (AM_CPPFLAGS): Add LARGEFILE_CPPFLAGS.
+ * Makefile.in, doc/Makefile.in: Regenerate.
+ * configure: Regenerate.
+
2020-07-30 H.J. Lu <hongjiu.lu@intel.com>
* testsuite/gas/elf/dwarf2-3.d:Pass --gdwarf-3 to assembler.
diff --git a/gas/Makefile.am b/gas/Makefile.am
index 09205fbeede..4ff0c4f0276 100644
--- a/gas/Makefile.am
+++ b/gas/Makefile.am
@@ -389,7 +389,7 @@ INCDIR = $(BASEDIR)/include
# so that tm.h and config.h will be found in the compilation
# subdirectory rather than in the source directory.
AM_CPPFLAGS = -I. -I$(srcdir) -I../bfd -I$(srcdir)/config \
- -I$(INCDIR) -I$(srcdir)/.. -I$(BFDDIR) @INCINTL@ \
+ -I$(INCDIR) -I$(srcdir)/.. -I$(BFDDIR) @INCINTL@ @LARGEFILE_CPPFLAGS@ \
-DLOCALEDIR="\"$(datadir)/locale\""
# How to link with both our special library facilities
diff --git a/gas/Makefile.in b/gas/Makefile.in
index 85c7b04daaf..5d241e2df84 100644
--- a/gas/Makefile.in
+++ b/gas/Makefile.in
@@ -303,6 +303,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INSTOBJEXT = @INSTOBJEXT@
+LARGEFILE_CPPFLAGS = @LARGEFILE_CPPFLAGS@
LD = @LD@
LDFLAGS = @LDFLAGS@
LEX = `if [ -f ../flex/flex ] ; then echo ../flex/flex ; else echo @LEX@ ; fi`
@@ -768,7 +769,7 @@ INCDIR = $(BASEDIR)/include
# so that tm.h and config.h will be found in the compilation
# subdirectory rather than in the source directory.
AM_CPPFLAGS = -I. -I$(srcdir) -I../bfd -I$(srcdir)/config \
- -I$(INCDIR) -I$(srcdir)/.. -I$(BFDDIR) @INCINTL@ \
+ -I$(INCDIR) -I$(srcdir)/.. -I$(BFDDIR) @INCINTL@ @LARGEFILE_CPPFLAGS@ \
-DLOCALEDIR="\"$(datadir)/locale\""
diff --git a/gas/configure b/gas/configure
index d6ad62559ff..813ed93f14c 100755
--- a/gas/configure
+++ b/gas/configure
@@ -676,6 +676,7 @@ NO_WERROR
WARN_CFLAGS_FOR_BUILD
WARN_CFLAGS
do_compare
+LARGEFILE_CPPFLAGS
OTOOL64
OTOOL
LIPO
@@ -11343,7 +11344,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 11346 "configure"
+#line 11347 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -11449,7 +11450,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 11452 "configure"
+#line 11453 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -11799,15 +11800,56 @@ fi
case "${host}" in
- 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
;;
esac
diff --git a/gas/doc/Makefile.in b/gas/doc/Makefile.in
index f2336ec8c9b..27fd0539727 100644
--- a/gas/doc/Makefile.in
+++ b/gas/doc/Makefile.in
@@ -265,6 +265,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INSTOBJEXT = @INSTOBJEXT@
+LARGEFILE_CPPFLAGS = @LARGEFILE_CPPFLAGS@
LD = @LD@
LDFLAGS = @LDFLAGS@
LEX = @LEX@
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index a61a57355b5..7e1d5b9befd 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,14 @@
+2020-07-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * proc-api.c (_STRUCTURED_PROC): Don't define.
+ * proc-events.c: Likewise.
+ * proc-flags.c: Likewise.
+ * proc-why.c: Likewise.
+ * procfs.c: Likewise.
+
+ * Makefile.in (INTERNAL_CPPFLAGS): Add LARGEFILE_CPPFLAGS.
+ * configure, config.in: Regenerate.
+
2020-07-30 Tom de Vries <tdevries@suse.de>
PR build/26320
diff --git a/gdb/Makefile.in b/gdb/Makefile.in
index f9bde2b9a95..0d6d8137b59 100644
--- a/gdb/Makefile.in
+++ b/gdb/Makefile.in
@@ -589,7 +589,8 @@ CPPFLAGS = @CPPFLAGS@
# are sometimes a little generic, we think that the risk of collision
# with other header files is high. If that happens, we try to mitigate
# a bit the consequences by putting the Python includes last in the list.
-INTERNAL_CPPFLAGS = $(CPPFLAGS) @GUILE_CPPFLAGS@ @PYTHON_CPPFLAGS@
+INTERNAL_CPPFLAGS = $(CPPFLAGS) @GUILE_CPPFLAGS@ @PYTHON_CPPFLAGS@ \
+ @LARGEFILE_CPPFLAGS@
# INTERNAL_CFLAGS is the aggregate of all other *CFLAGS macros.
INTERNAL_CFLAGS_BASE = \
diff --git a/gdb/config.in b/gdb/config.in
index 1aeb8603a14..9755458f9c6 100644
--- a/gdb/config.in
+++ b/gdb/config.in
@@ -799,6 +799,9 @@
/* Define to 1 if you need to in order for `stat' and other things to work. */
#undef _POSIX_SOURCE
+/* Use structured /proc on Solaris. */
+#undef _STRUCTURED_PROC
+
/* Define to empty if `const' does not conform to ANSI C. */
#undef const
diff --git a/gdb/configure b/gdb/configure
index 5ef85e8c866..e7811e807a6 100755
--- a/gdb/configure
+++ b/gdb/configure
@@ -795,6 +795,7 @@ HAVE_CXX11
INSTALL_STRIP_PROGRAM
STRIP
install_sh
+LARGEFILE_CPPFLAGS
target_os
target_vendor
target_cpu
@@ -4769,15 +4770,56 @@ fi
case "${host}" in
- 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
;;
esac
@@ -12995,7 +13037,7 @@ $as_echo "#define HAVE_LANGINFO_CODESET 1" >>confdefs.h
fi
- for ac_header in linux/perf_event.h locale.h memory.h signal.h sys/resource.h sys/socket.h sys/un.h sys/wait.h thread_db.h wait.h termios.h dlfcn.h linux/elf.h sys/procfs.h proc_service.h poll.h sys/poll.h sys/select.h
+ for ac_header in linux/perf_event.h locale.h memory.h signal.h sys/resource.h sys/socket.h sys/un.h sys/wait.h thread_db.h wait.h termios.h dlfcn.h linux/elf.h proc_service.h poll.h sys/poll.h sys/select.h
do :
as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
@@ -14891,8 +14933,24 @@ fi
fi
fi
+
+$as_echo "#define _STRUCTURED_PROC 1" >>confdefs.h
+
+ for ac_header in sys/procfs.h
+do :
+ ac_fn_c_check_header_mongrel "$LINENO" "sys/procfs.h" "ac_cv_header_sys_procfs_h" "$ac_includes_default"
+if test "x$ac_cv_header_sys_procfs_h" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_SYS_PROCFS_H 1
+_ACEOF
+
+fi
+
+done
+
if test "$ac_cv_header_sys_procfs_h" = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gregset_t in sys/procfs.h" >&5
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gregset_t in sys/procfs.h" >&5
$as_echo_n "checking for gregset_t in sys/procfs.h... " >&6; }
if ${bfd_cv_have_sys_procfs_type_gregset_t+:} false; then :
$as_echo_n "(cached) " >&6
@@ -14901,8 +14959,6 @@ else
/* end confdefs.h. */
#define _SYSCALL32
-/* Needed for new procfs interface on sparc-solaris. */
-#define _STRUCTURED_PROC 1
#include <sys/procfs.h>
int
main ()
@@ -14929,7 +14985,8 @@ $as_echo "#define HAVE_GREGSET_T 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bfd_cv_have_sys_procfs_type_gregset_t" >&5
$as_echo "$bfd_cv_have_sys_procfs_type_gregset_t" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fpregset_t in sys/procfs.h" >&5
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fpregset_t in sys/procfs.h" >&5
$as_echo_n "checking for fpregset_t in sys/procfs.h... " >&6; }
if ${bfd_cv_have_sys_procfs_type_fpregset_t+:} false; then :
$as_echo_n "(cached) " >&6
@@ -14938,8 +14995,6 @@ else
/* end confdefs.h. */
#define _SYSCALL32
-/* Needed for new procfs interface on sparc-solaris. */
-#define _STRUCTURED_PROC 1
#include <sys/procfs.h>
int
main ()
@@ -14966,7 +15021,8 @@ $as_echo "#define HAVE_FPREGSET_T 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bfd_cv_have_sys_procfs_type_fpregset_t" >&5
$as_echo "$bfd_cv_have_sys_procfs_type_fpregset_t" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for prgregset_t in sys/procfs.h" >&5
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for prgregset_t in sys/procfs.h" >&5
$as_echo_n "checking for prgregset_t in sys/procfs.h... " >&6; }
if ${bfd_cv_have_sys_procfs_type_prgregset_t+:} false; then :
$as_echo_n "(cached) " >&6
@@ -14975,8 +15031,6 @@ else
/* end confdefs.h. */
#define _SYSCALL32
-/* Needed for new procfs interface on sparc-solaris. */
-#define _STRUCTURED_PROC 1
#include <sys/procfs.h>
int
main ()
@@ -15003,7 +15057,8 @@ $as_echo "#define HAVE_PRGREGSET_T 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bfd_cv_have_sys_procfs_type_prgregset_t" >&5
$as_echo "$bfd_cv_have_sys_procfs_type_prgregset_t" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for prfpregset_t in sys/procfs.h" >&5
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for prfpregset_t in sys/procfs.h" >&5
$as_echo_n "checking for prfpregset_t in sys/procfs.h... " >&6; }
if ${bfd_cv_have_sys_procfs_type_prfpregset_t+:} false; then :
$as_echo_n "(cached) " >&6
@@ -15012,8 +15067,6 @@ else
/* end confdefs.h. */
#define _SYSCALL32
-/* Needed for new procfs interface on sparc-solaris. */
-#define _STRUCTURED_PROC 1
#include <sys/procfs.h>
int
main ()
@@ -15040,7 +15093,8 @@ $as_echo "#define HAVE_PRFPREGSET_T 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bfd_cv_have_sys_procfs_type_prfpregset_t" >&5
$as_echo "$bfd_cv_have_sys_procfs_type_prfpregset_t" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for prgregset32_t in sys/procfs.h" >&5
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for prgregset32_t in sys/procfs.h" >&5
$as_echo_n "checking for prgregset32_t in sys/procfs.h... " >&6; }
if ${bfd_cv_have_sys_procfs_type_prgregset32_t+:} false; then :
$as_echo_n "(cached) " >&6
@@ -15049,8 +15103,6 @@ else
/* end confdefs.h. */
#define _SYSCALL32
-/* Needed for new procfs interface on sparc-solaris. */
-#define _STRUCTURED_PROC 1
#include <sys/procfs.h>
int
main ()
@@ -15077,7 +15129,8 @@ $as_echo "#define HAVE_PRGREGSET32_T 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bfd_cv_have_sys_procfs_type_prgregset32_t" >&5
$as_echo "$bfd_cv_have_sys_procfs_type_prgregset32_t" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for lwpid_t in sys/procfs.h" >&5
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for lwpid_t in sys/procfs.h" >&5
$as_echo_n "checking for lwpid_t in sys/procfs.h... " >&6; }
if ${bfd_cv_have_sys_procfs_type_lwpid_t+:} false; then :
$as_echo_n "(cached) " >&6
@@ -15086,8 +15139,6 @@ else
/* end confdefs.h. */
#define _SYSCALL32
-/* Needed for new procfs interface on sparc-solaris. */
-#define _STRUCTURED_PROC 1
#include <sys/procfs.h>
int
main ()
@@ -15114,7 +15165,8 @@ $as_echo "#define HAVE_LWPID_T 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bfd_cv_have_sys_procfs_type_lwpid_t" >&5
$as_echo "$bfd_cv_have_sys_procfs_type_lwpid_t" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for psaddr_t in sys/procfs.h" >&5
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for psaddr_t in sys/procfs.h" >&5
$as_echo_n "checking for psaddr_t in sys/procfs.h... " >&6; }
if ${bfd_cv_have_sys_procfs_type_psaddr_t+:} false; then :
$as_echo_n "(cached) " >&6
@@ -15123,8 +15175,6 @@ else
/* end confdefs.h. */
#define _SYSCALL32
-/* Needed for new procfs interface on sparc-solaris. */
-#define _STRUCTURED_PROC 1
#include <sys/procfs.h>
int
main ()
@@ -15151,7 +15201,8 @@ $as_echo "#define HAVE_PSADDR_T 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bfd_cv_have_sys_procfs_type_psaddr_t" >&5
$as_echo "$bfd_cv_have_sys_procfs_type_psaddr_t" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for elf_fpregset_t in sys/procfs.h" >&5
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for elf_fpregset_t in sys/procfs.h" >&5
$as_echo_n "checking for elf_fpregset_t in sys/procfs.h... " >&6; }
if ${bfd_cv_have_sys_procfs_type_elf_fpregset_t+:} false; then :
$as_echo_n "(cached) " >&6
@@ -15160,8 +15211,6 @@ else
/* end confdefs.h. */
#define _SYSCALL32
-/* Needed for new procfs interface on sparc-solaris. */
-#define _STRUCTURED_PROC 1
#include <sys/procfs.h>
int
main ()
diff --git a/gdb/proc-api.c b/gdb/proc-api.c
index d7ad5031b0a..2db4a19d1a6 100644
--- a/gdb/proc-api.c
+++ b/gdb/proc-api.c
@@ -28,8 +28,6 @@
#include "gdbcmd.h"
#include "completer.h"
-#define _STRUCTURED_PROC 1
-
#include <sys/types.h>
#include <sys/procfs.h>
#include <sys/proc.h> /* for struct proc */
diff --git a/gdb/proc-events.c b/gdb/proc-events.c
index e921c47f8f0..1f970b8f5c8 100644
--- a/gdb/proc-events.c
+++ b/gdb/proc-events.c
@@ -30,8 +30,6 @@
#include "defs.h"
-#define _STRUCTURED_PROC 1
-
#include <sys/types.h>
#include <sys/procfs.h>
#include <sys/syscall.h>
diff --git a/gdb/proc-flags.c b/gdb/proc-flags.c
index de263a4dfc4..e51ae089ba9 100644
--- a/gdb/proc-flags.c
+++ b/gdb/proc-flags.c
@@ -27,8 +27,6 @@
#include "defs.h"
-#define _STRUCTURED_PROC 1
-
#include <sys/types.h>
#include <sys/procfs.h>
diff --git a/gdb/proc-why.c b/gdb/proc-why.c
index 8d73538d67c..88bed16061c 100644
--- a/gdb/proc-why.c
+++ b/gdb/proc-why.c
@@ -20,8 +20,6 @@
#include "defs.h"
-#define _STRUCTURED_PROC 1
-
#include <sys/types.h>
#include <sys/procfs.h>
diff --git a/gdb/procfs.c b/gdb/procfs.c
index d3085a20fce..b628c2d0355 100644
--- a/gdb/procfs.c
+++ b/gdb/procfs.c
@@ -33,8 +33,6 @@
#include "nat/fork-inferior.h"
#include "gdbarch.h"
-#define _STRUCTURED_PROC 1 /* Should be done by configure script. */
-
#include <sys/procfs.h>
#include <sys/fault.h>
#include <sys/syscall.h>
diff --git a/gdbserver/ChangeLog b/gdbserver/ChangeLog
index ee80fce4c1f..743aa139c17 100644
--- a/gdbserver/ChangeLog
+++ b/gdbserver/ChangeLog
@@ -1,3 +1,7 @@
+2020-07-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * configure, config.in: Regenerate.
+
2020-07-26 Eli Zaretskii <eliz@gnu.org>
* configure.ac (AC_CHECK_HEADERS): Add ws2tcpip.h.
diff --git a/gdbserver/config.in b/gdbserver/config.in
index c2ac4fea7e8..63853b6189c 100644
--- a/gdbserver/config.in
+++ b/gdbserver/config.in
@@ -495,6 +495,9 @@
/* Define to 1 if you need to in order for `stat' and other things to work. */
#undef _POSIX_SOURCE
+/* Use structured /proc on Solaris. */
+#undef _STRUCTURED_PROC
+
/* Define to `int' if <sys/types.h> does not define. */
#undef pid_t
diff --git a/gdbserver/configure b/gdbserver/configure
index 1f9c3f8ef49..6e24cc4e156 100755
--- a/gdbserver/configure
+++ b/gdbserver/configure
@@ -6706,7 +6706,7 @@ $as_echo "#define HAVE_LANGINFO_CODESET 1" >>confdefs.h
fi
- for ac_header in linux/perf_event.h locale.h memory.h signal.h sys/resource.h sys/socket.h sys/un.h sys/wait.h thread_db.h wait.h termios.h dlfcn.h linux/elf.h sys/procfs.h proc_service.h poll.h sys/poll.h sys/select.h
+ for ac_header in linux/perf_event.h locale.h memory.h signal.h sys/resource.h sys/socket.h sys/un.h sys/wait.h thread_db.h wait.h termios.h dlfcn.h linux/elf.h proc_service.h poll.h sys/poll.h sys/select.h
do :
as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
@@ -8602,8 +8602,24 @@ fi
fi
fi
+
+$as_echo "#define _STRUCTURED_PROC 1" >>confdefs.h
+
+ for ac_header in sys/procfs.h
+do :
+ ac_fn_c_check_header_mongrel "$LINENO" "sys/procfs.h" "ac_cv_header_sys_procfs_h" "$ac_includes_default"
+if test "x$ac_cv_header_sys_procfs_h" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_SYS_PROCFS_H 1
+_ACEOF
+
+fi
+
+done
+
if test "$ac_cv_header_sys_procfs_h" = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gregset_t in sys/procfs.h" >&5
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gregset_t in sys/procfs.h" >&5
$as_echo_n "checking for gregset_t in sys/procfs.h... " >&6; }
if ${bfd_cv_have_sys_procfs_type_gregset_t+:} false; then :
$as_echo_n "(cached) " >&6
@@ -8612,8 +8628,6 @@ else
/* end confdefs.h. */
#define _SYSCALL32
-/* Needed for new procfs interface on sparc-solaris. */
-#define _STRUCTURED_PROC 1
#include <sys/procfs.h>
int
main ()
@@ -8640,7 +8654,8 @@ $as_echo "#define HAVE_GREGSET_T 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bfd_cv_have_sys_procfs_type_gregset_t" >&5
$as_echo "$bfd_cv_have_sys_procfs_type_gregset_t" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fpregset_t in sys/procfs.h" >&5
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fpregset_t in sys/procfs.h" >&5
$as_echo_n "checking for fpregset_t in sys/procfs.h... " >&6; }
if ${bfd_cv_have_sys_procfs_type_fpregset_t+:} false; then :
$as_echo_n "(cached) " >&6
@@ -8649,8 +8664,6 @@ else
/* end confdefs.h. */
#define _SYSCALL32
-/* Needed for new procfs interface on sparc-solaris. */
-#define _STRUCTURED_PROC 1
#include <sys/procfs.h>
int
main ()
@@ -8677,7 +8690,8 @@ $as_echo "#define HAVE_FPREGSET_T 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bfd_cv_have_sys_procfs_type_fpregset_t" >&5
$as_echo "$bfd_cv_have_sys_procfs_type_fpregset_t" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for prgregset_t in sys/procfs.h" >&5
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for prgregset_t in sys/procfs.h" >&5
$as_echo_n "checking for prgregset_t in sys/procfs.h... " >&6; }
if ${bfd_cv_have_sys_procfs_type_prgregset_t+:} false; then :
$as_echo_n "(cached) " >&6
@@ -8686,8 +8700,6 @@ else
/* end confdefs.h. */
#define _SYSCALL32
-/* Needed for new procfs interface on sparc-solaris. */
-#define _STRUCTURED_PROC 1
#include <sys/procfs.h>
int
main ()
@@ -8714,7 +8726,8 @@ $as_echo "#define HAVE_PRGREGSET_T 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bfd_cv_have_sys_procfs_type_prgregset_t" >&5
$as_echo "$bfd_cv_have_sys_procfs_type_prgregset_t" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for prfpregset_t in sys/procfs.h" >&5
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for prfpregset_t in sys/procfs.h" >&5
$as_echo_n "checking for prfpregset_t in sys/procfs.h... " >&6; }
if ${bfd_cv_have_sys_procfs_type_prfpregset_t+:} false; then :
$as_echo_n "(cached) " >&6
@@ -8723,8 +8736,6 @@ else
/* end confdefs.h. */
#define _SYSCALL32
-/* Needed for new procfs interface on sparc-solaris. */
-#define _STRUCTURED_PROC 1
#include <sys/procfs.h>
int
main ()
@@ -8751,7 +8762,8 @@ $as_echo "#define HAVE_PRFPREGSET_T 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bfd_cv_have_sys_procfs_type_prfpregset_t" >&5
$as_echo "$bfd_cv_have_sys_procfs_type_prfpregset_t" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for prgregset32_t in sys/procfs.h" >&5
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for prgregset32_t in sys/procfs.h" >&5
$as_echo_n "checking for prgregset32_t in sys/procfs.h... " >&6; }
if ${bfd_cv_have_sys_procfs_type_prgregset32_t+:} false; then :
$as_echo_n "(cached) " >&6
@@ -8760,8 +8772,6 @@ else
/* end confdefs.h. */
#define _SYSCALL32
-/* Needed for new procfs interface on sparc-solaris. */
-#define _STRUCTURED_PROC 1
#include <sys/procfs.h>
int
main ()
@@ -8788,7 +8798,8 @@ $as_echo "#define HAVE_PRGREGSET32_T 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bfd_cv_have_sys_procfs_type_prgregset32_t" >&5
$as_echo "$bfd_cv_have_sys_procfs_type_prgregset32_t" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for lwpid_t in sys/procfs.h" >&5
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for lwpid_t in sys/procfs.h" >&5
$as_echo_n "checking for lwpid_t in sys/procfs.h... " >&6; }
if ${bfd_cv_have_sys_procfs_type_lwpid_t+:} false; then :
$as_echo_n "(cached) " >&6
@@ -8797,8 +8808,6 @@ else
/* end confdefs.h. */
#define _SYSCALL32
-/* Needed for new procfs interface on sparc-solaris. */
-#define _STRUCTURED_PROC 1
#include <sys/procfs.h>
int
main ()
@@ -8825,7 +8834,8 @@ $as_echo "#define HAVE_LWPID_T 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bfd_cv_have_sys_procfs_type_lwpid_t" >&5
$as_echo "$bfd_cv_have_sys_procfs_type_lwpid_t" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for psaddr_t in sys/procfs.h" >&5
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for psaddr_t in sys/procfs.h" >&5
$as_echo_n "checking for psaddr_t in sys/procfs.h... " >&6; }
if ${bfd_cv_have_sys_procfs_type_psaddr_t+:} false; then :
$as_echo_n "(cached) " >&6
@@ -8834,8 +8844,6 @@ else
/* end confdefs.h. */
#define _SYSCALL32
-/* Needed for new procfs interface on sparc-solaris. */
-#define _STRUCTURED_PROC 1
#include <sys/procfs.h>
int
main ()
@@ -8862,7 +8870,8 @@ $as_echo "#define HAVE_PSADDR_T 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bfd_cv_have_sys_procfs_type_psaddr_t" >&5
$as_echo "$bfd_cv_have_sys_procfs_type_psaddr_t" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for elf_fpregset_t in sys/procfs.h" >&5
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for elf_fpregset_t in sys/procfs.h" >&5
$as_echo_n "checking for elf_fpregset_t in sys/procfs.h... " >&6; }
if ${bfd_cv_have_sys_procfs_type_elf_fpregset_t+:} false; then :
$as_echo_n "(cached) " >&6
@@ -8871,8 +8880,6 @@ else
/* end confdefs.h. */
#define _SYSCALL32
-/* Needed for new procfs interface on sparc-solaris. */
-#define _STRUCTURED_PROC 1
#include <sys/procfs.h>
int
main ()
diff --git a/gdbsupport/ChangeLog b/gdbsupport/ChangeLog
index 45c2ce70a31..27132444cc3 100644
--- a/gdbsupport/ChangeLog
+++ b/gdbsupport/ChangeLog
@@ -1,3 +1,11 @@
+2020-07-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * Makefile.am (AM_CPPFLAGS): Add LARGEFILE_CPPFLAGS.
+ * common.m4 (GDB_AC_COMMON): Use BFD_SYS_PROCFS_H to check for
+ <sys/procfs.h>.
+ * Makefile.in: Regenerate.
+ * configure, config.in: Regenerate.
+
2020-07-28 Tom de Vries <tdevries@suse.de>
PR build/26281
diff --git a/gdbsupport/Makefile.am b/gdbsupport/Makefile.am
index e95ee5dbc50..9763c96cd3d 100644
--- a/gdbsupport/Makefile.am
+++ b/gdbsupport/Makefile.am
@@ -22,7 +22,8 @@ ACLOCAL_AMFLAGS = -I . -I ../config
AM_CPPFLAGS = -I$(srcdir)/../include -I$(srcdir)/../gdb \
-I../gnulib/import -I$(srcdir)/../gnulib/import \
- -I.. -I$(srcdir)/.. $(INCINTL) -I../bfd -I$(srcdir)/../bfd
+ -I.. -I$(srcdir)/.. $(INCINTL) -I../bfd -I$(srcdir)/../bfd \
+ @LARGEFILE_CPPFLAGS@
override CXX += $(CXX_DIALECT)
diff --git a/gdbsupport/Makefile.in b/gdbsupport/Makefile.in
index 5051ab31a49..0223f6d6b35 100644
--- a/gdbsupport/Makefile.in
+++ b/gdbsupport/Makefile.in
@@ -257,6 +257,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INSTOBJEXT = @INSTOBJEXT@
+LARGEFILE_CPPFLAGS = @LARGEFILE_CPPFLAGS@
LDFLAGS = @LDFLAGS@
LIBINTL = @LIBINTL@
LIBINTL_DEP = @LIBINTL_DEP@
@@ -351,7 +352,8 @@ AUTOMAKE_OPTIONS = no-dist foreign
ACLOCAL_AMFLAGS = -I . -I ../config
AM_CPPFLAGS = -I$(srcdir)/../include -I$(srcdir)/../gdb \
-I../gnulib/import -I$(srcdir)/../gnulib/import \
- -I.. -I$(srcdir)/.. $(INCINTL) -I../bfd -I$(srcdir)/../bfd
+ -I.. -I$(srcdir)/.. $(INCINTL) -I../bfd -I$(srcdir)/../bfd \
+ @LARGEFILE_CPPFLAGS@
AM_CXXFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS)
noinst_LIBRARIES = libgdbsupport.a
diff --git a/gdbsupport/common.m4 b/gdbsupport/common.m4
index b461f5f017d..e8fd64c7a8e 100644
--- a/gdbsupport/common.m4
+++ b/gdbsupport/common.m4
@@ -46,7 +46,7 @@ AC_DEFUN([GDB_AC_COMMON], [
thread_db.h wait.h dnl
termios.h dnl
dlfcn.h dnl
- linux/elf.h sys/procfs.h proc_service.h dnl
+ linux/elf.h proc_service.h dnl
poll.h sys/poll.h sys/select.h)
AC_FUNC_MMAP
@@ -173,6 +173,7 @@ AC_DEFUN([GDB_AC_COMMON], [
fi
fi
+ BFD_SYS_PROCFS_H
if test "$ac_cv_header_sys_procfs_h" = yes; then
BFD_HAVE_SYS_PROCFS_TYPE(gregset_t)
BFD_HAVE_SYS_PROCFS_TYPE(fpregset_t)
diff --git a/gdbsupport/config.in b/gdbsupport/config.in
index 55565013952..973561b1170 100644
--- a/gdbsupport/config.in
+++ b/gdbsupport/config.in
@@ -412,6 +412,9 @@
/* Define to 1 if you need to in order for `stat' and other things to work. */
#undef _POSIX_SOURCE
+/* Use structured /proc on Solaris. */
+#undef _STRUCTURED_PROC
+
/* Define to `int' if <sys/types.h> does not define. */
#undef pid_t
diff --git a/gdbsupport/configure b/gdbsupport/configure
index 51caeeb180f..bd95b6d7f49 100755
--- a/gdbsupport/configure
+++ b/gdbsupport/configure
@@ -651,6 +651,7 @@ LIBINTL
USE_NLS
CXX_DIALECT
HAVE_CXX11
+LARGEFILE_CPPFLAGS
EGREP
GREP
CPP
@@ -5627,15 +5628,56 @@ fi
case "${host}" in
- 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
;;
esac
@@ -8404,7 +8446,7 @@ $as_echo "#define HAVE_LANGINFO_CODESET 1" >>confdefs.h
fi
- for ac_header in linux/perf_event.h locale.h memory.h signal.h sys/resource.h sys/socket.h sys/un.h sys/wait.h thread_db.h wait.h termios.h dlfcn.h linux/elf.h sys/procfs.h proc_service.h poll.h sys/poll.h sys/select.h
+ for ac_header in linux/perf_event.h locale.h memory.h signal.h sys/resource.h sys/socket.h sys/un.h sys/wait.h thread_db.h wait.h termios.h dlfcn.h linux/elf.h proc_service.h poll.h sys/poll.h sys/select.h
do :
as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
@@ -10300,8 +10342,24 @@ fi
fi
fi
+
+$as_echo "#define _STRUCTURED_PROC 1" >>confdefs.h
+
+ for ac_header in sys/procfs.h
+do :
+ ac_fn_c_check_header_mongrel "$LINENO" "sys/procfs.h" "ac_cv_header_sys_procfs_h" "$ac_includes_default"
+if test "x$ac_cv_header_sys_procfs_h" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_SYS_PROCFS_H 1
+_ACEOF
+
+fi
+
+done
+
if test "$ac_cv_header_sys_procfs_h" = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gregset_t in sys/procfs.h" >&5
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gregset_t in sys/procfs.h" >&5
$as_echo_n "checking for gregset_t in sys/procfs.h... " >&6; }
if ${bfd_cv_have_sys_procfs_type_gregset_t+:} false; then :
$as_echo_n "(cached) " >&6
@@ -10310,8 +10368,6 @@ else
/* end confdefs.h. */
#define _SYSCALL32
-/* Needed for new procfs interface on sparc-solaris. */
-#define _STRUCTURED_PROC 1
#include <sys/procfs.h>
int
main ()
@@ -10338,7 +10394,8 @@ $as_echo "#define HAVE_GREGSET_T 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bfd_cv_have_sys_procfs_type_gregset_t" >&5
$as_echo "$bfd_cv_have_sys_procfs_type_gregset_t" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fpregset_t in sys/procfs.h" >&5
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fpregset_t in sys/procfs.h" >&5
$as_echo_n "checking for fpregset_t in sys/procfs.h... " >&6; }
if ${bfd_cv_have_sys_procfs_type_fpregset_t+:} false; then :
$as_echo_n "(cached) " >&6
@@ -10347,8 +10404,6 @@ else
/* end confdefs.h. */
#define _SYSCALL32
-/* Needed for new procfs interface on sparc-solaris. */
-#define _STRUCTURED_PROC 1
#include <sys/procfs.h>
int
main ()
@@ -10375,7 +10430,8 @@ $as_echo "#define HAVE_FPREGSET_T 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bfd_cv_have_sys_procfs_type_fpregset_t" >&5
$as_echo "$bfd_cv_have_sys_procfs_type_fpregset_t" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for prgregset_t in sys/procfs.h" >&5
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for prgregset_t in sys/procfs.h" >&5
$as_echo_n "checking for prgregset_t in sys/procfs.h... " >&6; }
if ${bfd_cv_have_sys_procfs_type_prgregset_t+:} false; then :
$as_echo_n "(cached) " >&6
@@ -10384,8 +10440,6 @@ else
/* end confdefs.h. */
#define _SYSCALL32
-/* Needed for new procfs interface on sparc-solaris. */
-#define _STRUCTURED_PROC 1
#include <sys/procfs.h>
int
main ()
@@ -10412,7 +10466,8 @@ $as_echo "#define HAVE_PRGREGSET_T 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bfd_cv_have_sys_procfs_type_prgregset_t" >&5
$as_echo "$bfd_cv_have_sys_procfs_type_prgregset_t" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for prfpregset_t in sys/procfs.h" >&5
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for prfpregset_t in sys/procfs.h" >&5
$as_echo_n "checking for prfpregset_t in sys/procfs.h... " >&6; }
if ${bfd_cv_have_sys_procfs_type_prfpregset_t+:} false; then :
$as_echo_n "(cached) " >&6
@@ -10421,8 +10476,6 @@ else
/* end confdefs.h. */
#define _SYSCALL32
-/* Needed for new procfs interface on sparc-solaris. */
-#define _STRUCTURED_PROC 1
#include <sys/procfs.h>
int
main ()
@@ -10449,7 +10502,8 @@ $as_echo "#define HAVE_PRFPREGSET_T 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bfd_cv_have_sys_procfs_type_prfpregset_t" >&5
$as_echo "$bfd_cv_have_sys_procfs_type_prfpregset_t" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for prgregset32_t in sys/procfs.h" >&5
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for prgregset32_t in sys/procfs.h" >&5
$as_echo_n "checking for prgregset32_t in sys/procfs.h... " >&6; }
if ${bfd_cv_have_sys_procfs_type_prgregset32_t+:} false; then :
$as_echo_n "(cached) " >&6
@@ -10458,8 +10512,6 @@ else
/* end confdefs.h. */
#define _SYSCALL32
-/* Needed for new procfs interface on sparc-solaris. */
-#define _STRUCTURED_PROC 1
#include <sys/procfs.h>
int
main ()
@@ -10486,7 +10538,8 @@ $as_echo "#define HAVE_PRGREGSET32_T 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bfd_cv_have_sys_procfs_type_prgregset32_t" >&5
$as_echo "$bfd_cv_have_sys_procfs_type_prgregset32_t" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for lwpid_t in sys/procfs.h" >&5
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for lwpid_t in sys/procfs.h" >&5
$as_echo_n "checking for lwpid_t in sys/procfs.h... " >&6; }
if ${bfd_cv_have_sys_procfs_type_lwpid_t+:} false; then :
$as_echo_n "(cached) " >&6
@@ -10495,8 +10548,6 @@ else
/* end confdefs.h. */
#define _SYSCALL32
-/* Needed for new procfs interface on sparc-solaris. */
-#define _STRUCTURED_PROC 1
#include <sys/procfs.h>
int
main ()
@@ -10523,7 +10574,8 @@ $as_echo "#define HAVE_LWPID_T 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bfd_cv_have_sys_procfs_type_lwpid_t" >&5
$as_echo "$bfd_cv_have_sys_procfs_type_lwpid_t" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for psaddr_t in sys/procfs.h" >&5
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for psaddr_t in sys/procfs.h" >&5
$as_echo_n "checking for psaddr_t in sys/procfs.h... " >&6; }
if ${bfd_cv_have_sys_procfs_type_psaddr_t+:} false; then :
$as_echo_n "(cached) " >&6
@@ -10532,8 +10584,6 @@ else
/* end confdefs.h. */
#define _SYSCALL32
-/* Needed for new procfs interface on sparc-solaris. */
-#define _STRUCTURED_PROC 1
#include <sys/procfs.h>
int
main ()
@@ -10560,7 +10610,8 @@ $as_echo "#define HAVE_PSADDR_T 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bfd_cv_have_sys_procfs_type_psaddr_t" >&5
$as_echo "$bfd_cv_have_sys_procfs_type_psaddr_t" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for elf_fpregset_t in sys/procfs.h" >&5
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for elf_fpregset_t in sys/procfs.h" >&5
$as_echo_n "checking for elf_fpregset_t in sys/procfs.h... " >&6; }
if ${bfd_cv_have_sys_procfs_type_elf_fpregset_t+:} false; then :
$as_echo_n "(cached) " >&6
@@ -10569,8 +10620,6 @@ else
/* end confdefs.h. */
#define _SYSCALL32
-/* Needed for new procfs interface on sparc-solaris. */
-#define _STRUCTURED_PROC 1
#include <sys/procfs.h>
int
main ()
diff --git a/gnulib/ChangeLog b/gnulib/ChangeLog
index 6dcf93a446f..eb84213a155 100644
--- a/gnulib/ChangeLog
+++ b/gnulib/ChangeLog
@@ -1,3 +1,8 @@
+2020-07-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * configure.ac: Run ACX_LARGEFILE before gl_EARLY.
+ * configure: Regenerate.
+
2020-02-22 Simon Marchi <simon.marchi@efficios.com>
* update-gnulib.sh (GNULIB_COMMIT_SHA1): Bump to
diff --git a/gnulib/Makefile.in b/gnulib/Makefile.in
index 15f51508a92..2ffbf0d54bd 100644
--- a/gnulib/Makefile.in
+++ b/gnulib/Makefile.in
@@ -1122,6 +1122,7 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@
INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
+LARGEFILE_CPPFLAGS = @LARGEFILE_CPPFLAGS@
LDFLAGS = @LDFLAGS@
LIBGNU_LIBDEPS = @LIBGNU_LIBDEPS@
LIBGNU_LTLIBDEPS = @LIBGNU_LTLIBDEPS@
diff --git a/gnulib/configure b/gnulib/configure
index ae07f4f07e9..87c16ace66b 100644
--- a/gnulib/configure
+++ b/gnulib/configure
@@ -1814,6 +1814,10 @@ ALLOCA_H
ALLOCA
GL_COND_LIBTOOL_FALSE
GL_COND_LIBTOOL_TRUE
+RANLIB
+ARFLAGS
+AR
+LARGEFILE_CPPFLAGS
target_os
target_vendor
target_cpu
@@ -1826,9 +1830,6 @@ build_os
build_vendor
build_cpu
build
-RANLIB
-ARFLAGS
-AR
EGREP
GREP
CPP
@@ -1884,9 +1885,9 @@ ac_subst_files=''
ac_user_opts='
enable_option_checking
enable_maintainer_mode
+enable_plugins
enable_largefile
enable_threads
-enable_plugins
enable_cross_guesses
enable_dependency_tracking
enable_silent_rules
@@ -2522,11 +2523,11 @@ Optional Features:
--enable-maintainer-mode
enable make rules and dependencies not useful (and
sometimes confusing) to the casual installer
+ --enable-plugins Enable support for plugins
--disable-largefile omit support for large files
--enable-threads={isoc|posix|isoc+posix|windows}
specify multithreading API
--disable-threads build without multithread safety
- --enable-plugins Enable support for plugins
--enable-cross-guesses={conservative|risky}
specify policy for cross-compilation guesses
--enable-dependency-tracking
@@ -5680,252 +5681,8 @@ $as_echo "$ac_cv_should_define__xopen_source" >&6; }
$as_echo "#define _HPUX_ALT_XOPEN_SOCKET_API 1" >>confdefs.h
-
-
-
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Minix Amsterdam compiler" >&5
-$as_echo_n "checking for Minix Amsterdam compiler... " >&6; }
-if ${gl_cv_c_amsterdam_compiler+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#ifdef __ACK__
-Amsterdam
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "Amsterdam" >/dev/null 2>&1; then :
- gl_cv_c_amsterdam_compiler=yes
-else
- gl_cv_c_amsterdam_compiler=no
-fi
-rm -f conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_c_amsterdam_compiler" >&5
-$as_echo "$gl_cv_c_amsterdam_compiler" >&6; }
-
- if test $gl_cv_c_amsterdam_compiler = yes; then
- if test -z "$AR"; then
- AR='cc -c.a'
- fi
- if test -z "$ARFLAGS"; then
- ARFLAGS='-o'
- fi
- else
- :
- fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ar; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AR+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$AR"; then
- ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_AR="${ac_tool_prefix}ar"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
-$as_echo "$AR" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_AR"; then
- ac_ct_AR=$AR
- # Extract the first word of "ar", so it can be a program name with args.
-set dummy ar; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_AR+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_AR"; then
- ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_AR="ar"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_AR=$ac_cv_prog_ac_ct_AR
-if test -n "$ac_ct_AR"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
-$as_echo "$ac_ct_AR" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_AR" = x; then
- AR="ar"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- AR=$ac_ct_AR
- fi
-else
- AR="$ac_cv_prog_AR"
-fi
-
- if test -z "$ARFLAGS"; then
- ARFLAGS='cr'
- fi
-
-
-
- if test -z "$RANLIB"; then
- if test $gl_cv_c_amsterdam_compiler = yes; then
- RANLIB=':'
- else
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_RANLIB+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$RANLIB"; then
- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
- ac_ct_RANLIB=$RANLIB
- # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_RANLIB"; then
- ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_RANLIB="ranlib"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_RANLIB" = x; then
- RANLIB=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- RANLIB=$ac_ct_RANLIB
- fi
-else
- RANLIB="$ac_cv_prog_RANLIB"
-fi
-
- fi
- fi
-
-
-
+# Needs to run before gl_EARLY so it can override AC_SYS_LARGEFILE included
+# there.
ac_aux_dir=
for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
if test -f "$ac_dir/install-sh"; then
@@ -6026,34 +5783,210 @@ IFS=$ac_save_IFS
case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
+$as_echo_n "checking target system type... " >&6; }
+if ${ac_cv_target+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "x$target_alias" = x; then
+ ac_cv_target=$ac_cv_host
+else
+ ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5
+$as_echo "$ac_cv_target" >&6; }
+case $ac_cv_target in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
+esac
+target=$ac_cv_target
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_target
+shift
+target_cpu=$1
+target_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+target_os=$*
+IFS=$ac_save_IFS
+case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac
+
+
+# The aliases save the names the user supplied, while $host etc.
+# will get canonicalized.
+test -n "$target_alias" &&
+ test "$program_prefix$program_suffix$program_transform_name" = \
+ NONENONEs,x,x, &&
+ program_prefix=${target_alias}-
+# The tests for host and target for $enable_largefile require
+# canonical names.
- # IEEE behaviour is the default on all CPUs except Alpha and SH
- # (according to the test results of Bruno Haible's ieeefp/fenv_default.m4
- # and the GCC 4.1.2 manual).
- case "$host_cpu" in
- alpha*)
- # On Alpha systems, a compiler option provides the behaviour.
- # See the ieee(3) manual page, also available at
- # <https://backdrift.org/man/tru64/man3/ieee.3.html>
- if test -n "$GCC"; then
- # GCC has the option -mieee.
- # For full IEEE compliance (rarely needed), use option -mieee-with-inexact.
- CPPFLAGS="$CPPFLAGS -mieee"
- else
- # Compaq (ex-DEC) C has the option -ieee, equivalent to -ieee_with_no_inexact.
- # For full IEEE compliance (rarely needed), use option -ieee_with_inexact.
- CPPFLAGS="$CPPFLAGS -ieee"
- fi
- ;;
- sh*)
- if test -n "$GCC"; then
- # GCC has the option -mieee.
- CPPFLAGS="$CPPFLAGS -mieee"
+
+# As the $enable_largefile decision depends on --enable-plugins we must set it
+# even in directories otherwise not depending on the $plugins option.
+
+
+ maybe_plugins=no
+ for ac_header in dlfcn.h
+do :
+ ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_dlfcn_h" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_DLFCN_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+ for ac_header in windows.h
+do :
+ ac_fn_c_check_header_compile "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_windows_h" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_WINDOWS_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+
+ # Check whether --enable-plugins was given.
+if test "${enable_plugins+set}" = set; then :
+ enableval=$enable_plugins; case "${enableval}" in
+ no) plugins=no ;;
+ *) plugins=yes
+ if test "$maybe_plugins" != "yes" ; then
+ as_fn_error $? "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
+ fi ;;
+ esac
+else
+ plugins=$maybe_plugins
+
+fi
+
+ if test "$plugins" = "yes"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlsym" >&5
+$as_echo_n "checking for library containing dlsym... " >&6; }
+if ${ac_cv_search_dlsym+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlsym ();
+int
+main ()
+{
+return dlsym ();
+ ;
+ return 0;
+}
+_ACEOF
+for ac_lib in '' dl; do
+ if test -z "$ac_lib"; then
+ ac_res="none required"
+ else
+ ac_res=-l$ac_lib
+ LIBS="-l$ac_lib $ac_func_search_save_LIBS"
+ fi
+ if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_search_dlsym=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext
+ if ${ac_cv_search_dlsym+:} false; then :
+ break
+fi
+done
+if ${ac_cv_search_dlsym+:} false; then :
+
+else
+ ac_cv_search_dlsym=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlsym" >&5
+$as_echo "$ac_cv_search_dlsym" >&6; }
+ac_res=$ac_cv_search_dlsym
+if test "$ac_res" != no; then :
+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+fi
+
+ fi
+
+
+case "${host}" in
+ 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
- ;;
- esac
+ 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
+ ;;
+esac
# Check whether --enable-largefile was given.
if test "${enable_largefile+set}" = set; then :
@@ -6263,6 +6196,282 @@ fi
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Minix Amsterdam compiler" >&5
+$as_echo_n "checking for Minix Amsterdam compiler... " >&6; }
+if ${gl_cv_c_amsterdam_compiler+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#ifdef __ACK__
+Amsterdam
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "Amsterdam" >/dev/null 2>&1; then :
+ gl_cv_c_amsterdam_compiler=yes
+else
+ gl_cv_c_amsterdam_compiler=no
+fi
+rm -f conftest*
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_c_amsterdam_compiler" >&5
+$as_echo "$gl_cv_c_amsterdam_compiler" >&6; }
+
+ if test $gl_cv_c_amsterdam_compiler = yes; then
+ if test -z "$AR"; then
+ AR='cc -c.a'
+ fi
+ if test -z "$ARFLAGS"; then
+ ARFLAGS='-o'
+ fi
+ else
+ :
+ fi
+
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_AR+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+AR=$ac_cv_prog_AR
+if test -n "$AR"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
+$as_echo "$AR" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_AR"; then
+ ac_ct_AR=$AR
+ # Extract the first word of "ar", so it can be a program name with args.
+set dummy ar; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_AR+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_AR"; then
+ ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_AR="ar"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_AR=$ac_cv_prog_ac_ct_AR
+if test -n "$ac_ct_AR"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
+$as_echo "$ac_ct_AR" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_AR" = x; then
+ AR="ar"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ AR=$ac_ct_AR
+ fi
+else
+ AR="$ac_cv_prog_AR"
+fi
+
+ if test -z "$ARFLAGS"; then
+ ARFLAGS='cr'
+ fi
+
+
+
+ if test -z "$RANLIB"; then
+ if test $gl_cv_c_amsterdam_compiler = yes; then
+ RANLIB=':'
+ else
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_RANLIB+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+RANLIB=$ac_cv_prog_RANLIB
+if test -n "$RANLIB"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
+$as_echo "$RANLIB" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_RANLIB"; then
+ ac_ct_RANLIB=$RANLIB
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_RANLIB"; then
+ ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_RANLIB="ranlib"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
+if test -n "$ac_ct_RANLIB"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
+$as_echo "$ac_ct_RANLIB" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_RANLIB" = x; then
+ RANLIB=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ RANLIB=$ac_ct_RANLIB
+ fi
+else
+ RANLIB="$ac_cv_prog_RANLIB"
+fi
+
+ fi
+ fi
+
+
+
+
+
+
+ # IEEE behaviour is the default on all CPUs except Alpha and SH
+ # (according to the test results of Bruno Haible's ieeefp/fenv_default.m4
+ # and the GCC 4.1.2 manual).
+ case "$host_cpu" in
+ alpha*)
+ # On Alpha systems, a compiler option provides the behaviour.
+ # See the ieee(3) manual page, also available at
+ # <https://backdrift.org/man/tru64/man3/ieee.3.html>
+ if test -n "$GCC"; then
+ # GCC has the option -mieee.
+ # For full IEEE compliance (rarely needed), use option -mieee-with-inexact.
+ CPPFLAGS="$CPPFLAGS -mieee"
+ else
+ # Compaq (ex-DEC) C has the option -ieee, equivalent to -ieee_with_no_inexact.
+ # For full IEEE compliance (rarely needed), use option -ieee_with_inexact.
+ CPPFLAGS="$CPPFLAGS -ieee"
+ fi
+ ;;
+ sh*)
+ if test -n "$GCC"; then
+ # GCC has the option -mieee.
+ CPPFLAGS="$CPPFLAGS -mieee"
+ fi
+ ;;
+ esac
+
+
+
+
+
+
+
# Check whether --enable-threads was given.
if test "${enable_threads+set}" = set; then :
enableval=$enable_threads; gl_use_threads=$enableval
@@ -6498,374 +6707,6 @@ fi
am_cv_prog_cc_stdc=$ac_cv_prog_cc_stdc
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
-$as_echo_n "checking target system type... " >&6; }
-if ${ac_cv_target+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "x$target_alias" = x; then
- ac_cv_target=$ac_cv_host
-else
- ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5
-$as_echo "$ac_cv_target" >&6; }
-case $ac_cv_target in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
-esac
-target=$ac_cv_target
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_target
-shift
-target_cpu=$1
-target_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-target_os=$*
-IFS=$ac_save_IFS
-case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac
-
-
-# The aliases save the names the user supplied, while $host etc.
-# will get canonicalized.
-test -n "$target_alias" &&
- test "$program_prefix$program_suffix$program_transform_name" = \
- NONENONEs,x,x, &&
- program_prefix=${target_alias}-
-
-# The tests for host and target for $enable_largefile require
-# canonical names.
-
-
-
-# As the $enable_largefile decision depends on --enable-plugins we must set it
-# even in directories otherwise not depending on the $plugins option.
-
-
- maybe_plugins=no
- for ac_header in dlfcn.h
-do :
- ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
-"
-if test "x$ac_cv_header_dlfcn_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_DLFCN_H 1
-_ACEOF
- maybe_plugins=yes
-fi
-
-done
-
- for ac_header in windows.h
-do :
- ac_fn_c_check_header_compile "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default
-"
-if test "x$ac_cv_header_windows_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_WINDOWS_H 1
-_ACEOF
- maybe_plugins=yes
-fi
-
-done
-
-
- # Check whether --enable-plugins was given.
-if test "${enable_plugins+set}" = set; then :
- enableval=$enable_plugins; case "${enableval}" in
- no) plugins=no ;;
- *) plugins=yes
- if test "$maybe_plugins" != "yes" ; then
- as_fn_error $? "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
- fi ;;
- esac
-else
- plugins=$maybe_plugins
-
-fi
-
- if test "$plugins" = "yes"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlsym" >&5
-$as_echo_n "checking for library containing dlsym... " >&6; }
-if ${ac_cv_search_dlsym+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_func_search_save_LIBS=$LIBS
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlsym ();
-int
-main ()
-{
-return dlsym ();
- ;
- return 0;
-}
-_ACEOF
-for ac_lib in '' dl; do
- if test -z "$ac_lib"; then
- ac_res="none required"
- else
- ac_res=-l$ac_lib
- LIBS="-l$ac_lib $ac_func_search_save_LIBS"
- fi
- if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_search_dlsym=$ac_res
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext
- if ${ac_cv_search_dlsym+:} false; then :
- break
-fi
-done
-if ${ac_cv_search_dlsym+:} false; then :
-
-else
- ac_cv_search_dlsym=no
-fi
-rm conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlsym" >&5
-$as_echo "$ac_cv_search_dlsym" >&6; }
-ac_res=$ac_cv_search_dlsym
-if test "$ac_res" != no; then :
- test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-
-fi
-
- fi
-
-
-case "${host}" in
- 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"}
- ;;
-esac
-
-# 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 ${ac_cv_sys_largefile_CC+:} false; 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 ${ac_cv_sys_file_offset_bits+:} false; 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 ${ac_cv_sys_large_files+:} false; 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
-
-
-$as_echo "#define _DARWIN_USE_64_BIT_INODE 1" >>confdefs.h
-
-fi
-
-
-
ac_aux_dir=
for ac_dir in .. "$srcdir"/..; do
if test -f "$ac_dir/install-sh"; then
diff --git a/gnulib/configure.ac b/gnulib/configure.ac
index 7661b8b7cd3..acc1b1a322e 100644
--- a/gnulib/configure.ac
+++ b/gnulib/configure.ac
@@ -27,11 +27,12 @@ AM_MAINTAINER_MODE
AC_PROG_CC
AC_USE_SYSTEM_EXTENSIONS
+# Needs to run before gl_EARLY so it can override AC_SYS_LARGEFILE included
+# there.
+ACX_LARGEFILE
gl_EARLY
AM_PROG_CC_STDC
-ACX_LARGEFILE
-
AC_CONFIG_AUX_DIR(..)
AC_CANONICAL_SYSTEM
diff --git a/gnulib/import/Makefile.in b/gnulib/import/Makefile.in
index 1d54bfacabe..9316e8d40ff 100644
--- a/gnulib/import/Makefile.in
+++ b/gnulib/import/Makefile.in
@@ -1215,6 +1215,7 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@
INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
+LARGEFILE_CPPFLAGS = @LARGEFILE_CPPFLAGS@
LDFLAGS = @LDFLAGS@
LIBGNU_LIBDEPS = @LIBGNU_LIBDEPS@
LIBGNU_LTLIBDEPS = @LIBGNU_LTLIBDEPS@
diff --git a/gprof/ChangeLog b/gprof/ChangeLog
index b6286e9b19d..316d71d5635 100644
--- a/gprof/ChangeLog
+++ b/gprof/ChangeLog
@@ -1,3 +1,9 @@
+2020-07-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * Makefile.am (AM_CPPFLAGS): Add LARGEFILE_CPPFLAGS.
+ * Makefile.in: Regenerate.
+ * configure: Regenerate.
+
2020-07-09 Nick Clifton <nickc@redhat.com>
* po/tr.po: Updated Turkish translation.
diff --git a/gprof/Makefile.am b/gprof/Makefile.am
index 27dfc3110e8..5dfd0bb4e17 100644
--- a/gprof/Makefile.am
+++ b/gprof/Makefile.am
@@ -34,7 +34,7 @@ NO_WERROR = @NO_WERROR@
AM_CFLAGS = $(WARN_CFLAGS)
AM_CPPFLAGS = -DDEBUG -I../bfd -I$(srcdir)/../include \
- -I$(srcdir)/../bfd @INCINTL@ -I. \
+ -I$(srcdir)/../bfd @INCINTL@ @LARGEFILE_CPPFLAGS@ -I. \
-DLOCALEDIR="\"$(datadir)/locale\""
bin_PROGRAMS = gprof
diff --git a/gprof/Makefile.in b/gprof/Makefile.in
index efc2b80eb8b..6c5190a71b9 100644
--- a/gprof/Makefile.in
+++ b/gprof/Makefile.in
@@ -338,6 +338,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INSTOBJEXT = @INSTOBJEXT@
+LARGEFILE_CPPFLAGS = @LARGEFILE_CPPFLAGS@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBINTL = @LIBINTL@
@@ -446,7 +447,7 @@ BFDDIR = $(BASEDIR)/bfd
INCDIR = $(BASEDIR)/include
AM_CFLAGS = $(WARN_CFLAGS)
AM_CPPFLAGS = -DDEBUG -I../bfd -I$(srcdir)/../include \
- -I$(srcdir)/../bfd @INCINTL@ -I. \
+ -I$(srcdir)/../bfd @INCINTL@ @LARGEFILE_CPPFLAGS@ -I. \
-DLOCALEDIR="\"$(datadir)/locale\""
sources = basic_blocks.c call_graph.c cg_arcs.c cg_dfn.c \
diff --git a/gprof/configure b/gprof/configure
index 0f3ef07ad03..74d22db79b6 100755
--- a/gprof/configure
+++ b/gprof/configure
@@ -657,6 +657,7 @@ INCINTL
LIBINTL_DEP
LIBINTL
USE_NLS
+LARGEFILE_CPPFLAGS
OTOOL64
OTOOL
LIPO
@@ -11190,7 +11191,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 11193 "configure"
+#line 11194 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -11296,7 +11297,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 11299 "configure"
+#line 11300 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -11646,15 +11647,56 @@ fi
case "${host}" in
- 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
;;
esac
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 6b619f240fd..0e03aa1ed1a 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,9 @@
+2020-07-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * Makefile.am (AM_CPPFLAGS): Add LARGEFILE_CPPFLAGS.
+ * Makefile.in: Regenerate.
+ * configure: Regenerate.
+
2020-07-29 Maciej W. Rozycki <macro@linux-mips.org>
* testsuite/ld-elf/sec64k.exp: Also accept a section symbol with
diff --git a/ld/Makefile.am b/ld/Makefile.am
index 168f65dfe77..e5b19203d14 100644
--- a/ld/Makefile.am
+++ b/ld/Makefile.am
@@ -139,7 +139,7 @@ TEXI2DVI = texi2dvi -I $(srcdir) -I $(BFDDIR)/doc -I ../bfd/doc \
-I $(top_srcdir)/../libiberty
AM_CPPFLAGS = -I. -I$(srcdir) -I../bfd -I$(BFDDIR) -I$(INCDIR) @zlibinc@ \
- @INCINTL@ $(HDEFINES) $(CFLAGS) \
+ @INCINTL@ $(HDEFINES) $(CFLAGS) @LARGEFILE_CPPFLAGS@ \
-DLOCALEDIR="\"$(datadir)/locale\""
BFDLIB = ../bfd/libbfd.la
diff --git a/ld/Makefile.in b/ld/Makefile.in
index 0c4dff3615d..48ecc756906 100644
--- a/ld/Makefile.in
+++ b/ld/Makefile.in
@@ -399,6 +399,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INSTOBJEXT = @INSTOBJEXT@
+LARGEFILE_CPPFLAGS = @LARGEFILE_CPPFLAGS@
LD = @LD@
LDFLAGS = @LDFLAGS@
LEX = `if [ -f ../flex/flex ]; then echo ../flex/flex; else echo @LEX@; fi`
@@ -626,7 +627,7 @@ TEXI2DVI = texi2dvi -I $(srcdir) -I $(BFDDIR)/doc -I ../bfd/doc \
-I $(top_srcdir)/../libiberty
AM_CPPFLAGS = -I. -I$(srcdir) -I../bfd -I$(BFDDIR) -I$(INCDIR) @zlibinc@ \
- @INCINTL@ $(HDEFINES) $(CFLAGS) \
+ @INCINTL@ $(HDEFINES) $(CFLAGS) @LARGEFILE_CPPFLAGS@ \
-DLOCALEDIR="\"$(datadir)/locale\""
BFDLIB = ../bfd/libbfd.la
diff --git a/ld/configure b/ld/configure
index b63bc88bdfc..d2df419414e 100755
--- a/ld/configure
+++ b/ld/configure
@@ -686,6 +686,7 @@ install_as_default
TARGET_SYSTEM_ROOT_DEFINE
TARGET_SYSTEM_ROOT
use_sysroot
+LARGEFILE_CPPFLAGS
CXXCPP
OTOOL64
OTOOL
@@ -12038,7 +12039,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12041 "configure"
+#line 12042 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12144,7 +12145,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12147 "configure"
+#line 12148 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -15510,15 +15511,56 @@ fi
case "${host}" in
- 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
;;
esac