PRU BFD support
[deliverable/binutils-gdb.git] / bfd / configure.ac
index cc446e1bb8f199ca327f21a80b5647cffcf97489..802aca7ce8e42de9fe8bb5aa7716cc7915bc122e 100644 (file)
@@ -1,6 +1,6 @@
 dnl Process this file with autoconf to produce a configure script.
 dnl
-dnl   Copyright (C) 2012-2015 Free Software Foundation, Inc.
+dnl   Copyright (C) 2012-2016 Free Software Foundation, Inc.
 dnl
 dnl This file is free software; you can redistribute it and/or modify
 dnl it under the terms of the GNU General Public License as published by
@@ -68,6 +68,15 @@ AC_ARG_ENABLE(targets,
   *)        enable_targets=$enableval ;;
 esac])dnl
 
+AC_ARG_ENABLE(64_bit_archive,
+             AS_HELP_STRING([--enable-64-bit-archive],
+             [force 64-bit archives]),
+[case "${enableval}" in
+  yes)  want_64_bit_archive=true  ;;
+  no)   want_64_bit_archive=false ;;
+  *)    AC_MSG_ERROR(bad value ${enableval} for 64-bit-archive option) ;;
+esac],[want_64_bit_archive=unset])dnl
+
 AC_ARG_WITH(mmap,
 [  --with-mmap             try using mmap for BFD input files if available],
 [case "${withval}" in
@@ -103,26 +112,6 @@ AC_ARG_WITH(separate-debug-dir,
 [DEBUGDIR="${withval}"])
 AC_SUBST(DEBUGDIR)
 
-# Check to see if we should allow the generation of
-# symbols with the ELF standard's STT_COMMON type.
-AC_ARG_ENABLE(elf-stt-common,
-[  --enable-elf-stt-common Allow the generation of ELF symbols with the STT_COMMON type],
-[case "${enableval}" in
-  yes) want_elf_stt_common=true ;;
-  no)  want_elf_stt_common=false ;;
-  *)   AC_MSG_ERROR(bad value ${enableval} for ELF STT_COMMON option) ;;
- esac],
-# We have to choose a default behaviour.  For native builds we could
-# test whether the loader supports the STT_COMMON type, but that would
-# mean that built binaries could not be exported to older systems where
-# the loader does not support it. So by default we always choose to
-# disable this feature.
-  want_elf_stt_common=false)dnl
-if test $want_elf_stt_common = true; then
-  AC_DEFINE(USE_STT_COMMON, 1,
-    [Define if we may generate symbols with ELF's STT_COMMON type])
-fi
-
 ACX_PKGVERSION([GNU Binutils])
 ACX_BUGURL([http://www.sourceware.org/bugzilla/])
 
@@ -154,7 +143,7 @@ bfd_default_target_size=32
 
 # host stuff:
 
-ALL_LINGUAS="fr tr ja es sv da zh_CN ro rw vi fi id ru uk"
+ALL_LINGUAS="fr tr ja es sv da zh_CN ro rw vi fi id ru uk sr"
 ZW_GNU_GETTEXT_SISTER_DIR
 AM_PO_SUBDIRS
 
@@ -242,329 +231,26 @@ AC_CHECK_DECLS(strnlen)
 # This is used only by compress.c.
 AM_ZLIB
 
-# If we are configured native, pick a core file support file.
-COREFILE=
-COREFLAG=
-CORE_HEADER=
-TRAD_HEADER=
-if test "${target}" = "${host}"; then
-  case "${host}" in
-  alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu | alpha*-*-*vms*)
-       COREFILE=''
-       ;;
-  alpha*-*-linux-*)
-       COREFILE=trad-core.lo
-       TRAD_HEADER='"hosts/alphalinux.h"'
-       ;;
-  alpha*-*-netbsd* | alpha*-*-openbsd*)
-       COREFILE=netbsd-core.lo
-       ;;
-  alpha*-*-*)
-        COREFILE=osf-core.lo
-       ;;
-  arm-*-freebsd* | arm-*-kfreebsd*-gnu)
-       COREFILE='' ;;
-  arm-*-netbsd* | arm-*-openbsd*)
-       COREFILE=netbsd-core.lo
-       ;;
-  arm-*-riscix)                COREFILE=trad-core.lo ;;
-  hppa*-*-hpux*)       COREFILE=hpux-core.lo ;;
-  hppa*-*-hiux*)       COREFILE=hpux-core.lo ;;
-  hppa*-*-mpeix*)      COREFILE=hpux-core.lo ;;
-  hppa*-*-bsd*)                COREFILE="hpux-core.lo hppabsd-core.lo"
-                       COREFLAG="-DHPUX_CORE -DHPPABSD_CORE" ;;
-  hppa*-*-netbsd* | hppa*-*-openbsd*)
-       COREFILE=netbsd-core.lo
-       ;;
+# Check if linker supports --as-needed and --no-as-needed options
+AC_CACHE_CHECK(linker --as-needed support, bfd_cv_ld_as_needed,
+       [bfd_cv_ld_as_needed=no
+       if $LD --help 2>/dev/null | grep as-needed > /dev/null; then
+               bfd_cv_ld_as_needed=yes
+       fi
+       ])
 
-  i370-*-*)
-       COREFILE=trad-core.lo
-       TRAD_HEADER='"hosts/i370linux.h"'
-       ;;
+LT_LIB_M
 
+# When building a shared libbfd, link against the pic version of libiberty
+# so that apps that use libbfd won't need libiberty just to satisfy any
+# libbfd references.
+# We can't do that if a pic libiberty is unavailable since including non-pic
+# code would insert text relocations into libbfd.
+SHARED_LIBADD=
+SHARED_LDFLAGS=
+if test "$enable_shared" = "yes"; then
 changequote(,)dnl
-  i[3-7]86-sequent-bsd*)
-changequote([,])dnl
-       COREFILE=trad-core.lo
-       TRAD_HEADER='"hosts/symmetry.h"'
-       ;;
-changequote(,)dnl
-  i[3-7]86-sequent-sysv4*) ;;
-  i[3-7]86-sequent-sysv*)
-changequote([,])dnl
-       COREFILE=trad-core.lo
-       TRAD_HEADER='"hosts/symmetry.h"'
-       ;;
-changequote(,)dnl
-  i[3-7]86-*-bsdi)
-changequote([,])dnl
-       COREFILE=
-       ;;
-changequote(,)dnl
-  i[3-7]86-*-bsd* | i[3-7]86-*-freebsd[123] | i[3-7]86-*-freebsd[123]\.* | i[3-7]86-*-freebsd4\.[01234] | i[3-7]86-*-freebsd4\.[01234]\.* | i[3-7]86-*-freebsd*aout*)
-changequote([,])dnl
-       COREFILE=trad-core.lo
-       TRAD_HEADER='"hosts/i386bsd.h"'
-       ;;
-changequote(,)dnl
-  i[3-7]86-*-freebsd* | i[3-7]86-*-kfreebsd*-gnu | i[3-7]86-*-dragonfly*)
-changequote([,])dnl
-       COREFILE=''
-       TRAD_HEADER='"hosts/i386bsd.h"'
-       ;;
-changequote(,)dnl
-  i[3-7]86-*-netbsd* | i[3-7]86-*-knetbsd*-gnu | i[3-7]86-*-openbsd*)
-changequote([,])dnl
-       COREFILE=netbsd-core.lo
-       ;;
-changequote(,)dnl
-  i[3-7]86-esix-sysv3*)
-changequote([,])dnl
-       COREFILE=trad-core.lo
-       TRAD_HEADER='"hosts/esix.h"'
-       ;;
-changequote(,)dnl
-  i[3-7]86-*-sco3.2v5*)
-changequote([,])dnl
-       COREFILE=sco5-core.lo
-       ;;
-changequote(,)dnl
-  i[3-7]86-*-sco* | i[3-7]86-*-isc*)
-changequote([,])dnl
-       COREFILE=trad-core.lo
-       TRAD_HEADER='"hosts/i386sco.h"'
-       ;;
-changequote(,)dnl
-  i[3-7]86-*-mach3*)
-changequote([,])dnl
-       COREFILE=trad-core.lo
-       TRAD_HEADER='"hosts/i386mach3.h"'
-       ;;
-changequote(,)dnl
-  i[3-7]86-*-linux-*)
-changequote([,])dnl
-       COREFILE=trad-core.lo
-       TRAD_HEADER='"hosts/i386linux.h"'
-       case "$enable_targets"-"$want64" in
-       *x86_64-*linux*|*-true)
-         CORE_HEADER='"hosts/x86-64linux.h"'
-       esac
-       ;;
-changequote(,)dnl
-  i[3-7]86-*-isc*)     COREFILE=trad-core.lo ;;
-  i[3-7]86-*-aix*)     COREFILE=aix386-core.lo ;;
-changequote([,])dnl
-  i860-*-mach3* | i860-*-osf1*)
-       COREFILE=trad-core.lo
-       TRAD_HEADER='"hosts/i860mach3.h"'
-       ;;
-  mips-*-netbsd* | mips*-*-openbsd*)
-       COREFILE=netbsd-core.lo
-       ;;
-  mips-dec-*)
-       COREFILE=trad-core.lo
-       TRAD_HEADER='"hosts/decstation.h"'
-       ;;
-  mips-sgi-irix4*)     COREFILE=irix-core.lo ;;
-  mips-sgi-irix5*)     COREFILE=irix-core.lo ;;
-  mips-sgi-irix6*)     COREFILE=irix-core.lo ;;
-  mips-*-sysv4*)       ;;
-  mips-*-sysv* | mips-*-riscos*)
-       COREFILE=trad-core.lo
-       TRAD_HEADER='"hosts/riscos.h"'
-       ;;
-  mips-sony-bsd*)
-       COREFILE=trad-core.lo
-       TRAD_HEADER='"hosts/news-mips.h"'
-       ;;
-  m68*-bull*-sysv*)
-       COREFILE=trad-core.lo
-       TRAD_HEADER='"hosts/dpx2.h"'
-       ;;
-  m68*-hp-hpux*)       COREFILE=hpux-core.lo ;;
-  m68*-hp-bsd*)
-       COREFILE=trad-core.lo
-       TRAD_HEADER='"hosts/hp300bsd.h"'
-       ;;
-  m68*-*-linux-*)
-       COREFILE=trad-core.lo
-       TRAD_HEADER='"hosts/m68klinux.h"'
-       ;;
-  m68*-motorola-sysv*)
-       COREFILE=trad-core.lo
-       TRAD_HEADER='"hosts/delta68.h"'
-       ;;
-  m68*-sony-*)
-       COREFILE=trad-core.lo
-       TRAD_HEADER='"hosts/news.h"'
-       ;;
-  m68*-*-netbsd* | m68*-*-openbsd*)
-       COREFILE=netbsd-core.lo
-       ;;
-  m68*-apple-aux*)
-       COREFILE=trad-core.lo
-       TRAD_HEADER='"hosts/m68kaux.h"'
-       ;;
-  m88*-*-sysv4*)
-       ;;
-  m88*-motorola-sysv*)
-       COREFILE=ptrace-core.lo
-       ;;
-  m88*-*-mach3*)
-       COREFILE=trad-core.lo
-       TRAD_HEADER='"hosts/m88kmach3.h"'
-       ;;
-  m88*-*-openbsd*)
-       COREFILE=netbsd-core.lo
-       ;;
-  ns32k-pc532-mach)
-       COREFILE=trad-core.lo
-       TRAD_HEADER='"hosts/pc532mach.h"'
-       ;;
-  ns32k-*-netbsd* | ns32k-*-openbsd*)
-       COREFILE=netbsd-core.lo
-       ;;
-  rs6000-*-lynx*)
-       COREFILE=lynx-core.lo
-       ;;
-changequote(,)dnl
-  rs6000-*-aix[5-9].* | powerpc-*-aix[5-9].* | powerpc64-*-aix[5-9].*)
-changequote([,])dnl
-        COREFILE=rs6000-core.lo
-       COREFLAG="$COREFLAG -DAIX_5_CORE -DAIX_CORE_DUMPX_CORE"
-       ;;
-changequote(,)dnl
-  rs6000-*-aix4.[3-9]* | powerpc-*-aix4.[3-9]*)
-changequote([,])dnl
-        COREFILE=rs6000-core.lo
-       COREFLAG="$COREFLAG -DAIX_CORE_DUMPX_CORE"
-       # Not all versions of AIX with -DAIX_CORE_DUMPX_CORE
-       # have c_impl as a member of struct core_dumpx
-       AC_MSG_CHECKING([for c_impl in struct core_dumpx])
-       AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <core.h>]], [[struct core_dumpx c; c.c_impl = 0;]])],[AC_DEFINE(HAVE_ST_C_IMPL, 1,
-           [Define if struct core_dumpx has member c_impl])
-         AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)])
-       ;;
-  rs6000-*-aix4*)      COREFILE=rs6000-core.lo ;;
-  rs6000-*-*)          COREFILE=rs6000-core.lo ;;
-  powerpc64-*-aix*)    COREFILE=rs6000-core.lo ;;
-  powerpc-*-aix4*)     COREFILE=rs6000-core.lo ;;
-  powerpc-*-aix*)      COREFILE=rs6000-core.lo ;;
-  powerpc-*-beos*)     ;;
-  powerpc-*-freebsd* | powerpc-*-kfreebsd*-gnu)
-                       COREFILE='' ;;
-  powerpc-*-netbsd*)   COREFILE=netbsd-core.lo ;;
-  powerpc-*-*bsd*)     COREFILE=netbsd-core.lo ;;
-  s390*-*-*)            COREFILE=trad-core.lo ;;
-  sh*-*-netbsd* | sh*-*-openbsd*)
-       COREFILE=netbsd-core.lo
-       ;;
-  sparc-*-netbsd* | sparc*-*-openbsd*)
-       COREFILE=netbsd-core.lo
-       ;;
-  tahoe-*-*)
-       COREFILE=trad-core.lo
-       TRAD_HEADER='"hosts/tahoe.h"'
-       ;;
-  vax-*-netbsd* | vax-*-openbsd*)
-       COREFILE=netbsd-core.lo
-       ;;
-  vax-*-ultrix2*)
-       COREFILE=trad-core.lo
-       TRAD_HEADER='"hosts/vaxult2.h"'
-       ;;
-  vax-*-ultrix*)
-       COREFILE=trad-core.lo
-       TRAD_HEADER='"hosts/vaxult2.h"'
-       ;;
-  vax-*-linux-*)
-       COREFILE=trad-core.lo
-       TRAD_HEADER='"hosts/vaxlinux.h"'
-       ;;
-  vax-*-*)
-       COREFILE=trad-core.lo
-       TRAD_HEADER='"hosts/vaxbsd.h"'
-       ;;
-  x86_64-*-linux*)
-       CORE_HEADER='"hosts/x86-64linux.h"'
-       ;;
-  x86_64-*-netbsd* | x86_64-*-openbsd*)
-       COREFILE=netbsd-core.lo
-       ;;
-  esac
-
-  case "$COREFILE" in
-  aix386-core.lo)      COREFLAG=-DAIX386_CORE ;;
-  hppabsd-core.lo)     COREFLAG=-DHPPABSD_CORE ;;
-  hpux-core.lo)                COREFLAG=-DHPUX_CORE ;;
-  irix-core.lo)                COREFLAG=-DIRIX_CORE ;;
-  lynx-core.lo)                COREFLAG=-DLYNX_CORE ;;
-  netbsd-core.lo)      COREFLAG=-DNETBSD_CORE ;;
-  osf-core.lo)         COREFLAG=-DOSF_CORE ;;
-  ptrace-core.lo)      COREFLAG=-DPTRACE_CORE ;;
-  rs6000-core.lo)      COREFLAG="$COREFLAG -DAIX_CORE" ;;
-  sco5-core.lo)                COREFLAG="$COREFLAG -DSCO5_CORE" ;;
-  trad-core.lo)                COREFLAG="$COREFLAG -DTRAD_CORE" ;;
-  esac
-
-  # ELF corefile support has several flavors, but all of
-  # them use something called <sys/procfs.h>
-  AC_CHECK_HEADERS(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)
-    BFD_HAVE_SYS_PROCFS_TYPE_MEMBER(prstatus_t, pr_who)
-    BFD_HAVE_SYS_PROCFS_TYPE_MEMBER(prstatus32_t, pr_who)
-    BFD_HAVE_SYS_PROCFS_TYPE(pstatus_t)
-    BFD_HAVE_SYS_PROCFS_TYPE(pxstatus_t)
-    BFD_HAVE_SYS_PROCFS_TYPE(pstatus32_t)
-    BFD_HAVE_SYS_PROCFS_TYPE(prpsinfo_t)
-    BFD_HAVE_SYS_PROCFS_TYPE_MEMBER(prpsinfo_t, pr_pid)
-    BFD_HAVE_SYS_PROCFS_TYPE(prpsinfo32_t)
-    BFD_HAVE_SYS_PROCFS_TYPE_MEMBER(prpsinfo32_t, pr_pid)
-    BFD_HAVE_SYS_PROCFS_TYPE(psinfo_t)
-    BFD_HAVE_SYS_PROCFS_TYPE_MEMBER(psinfo_t, pr_pid)
-    BFD_HAVE_SYS_PROCFS_TYPE(psinfo32_t)
-    BFD_HAVE_SYS_PROCFS_TYPE_MEMBER(psinfo32_t, pr_pid)
-    BFD_HAVE_SYS_PROCFS_TYPE(lwpstatus_t)
-    BFD_HAVE_SYS_PROCFS_TYPE(lwpxstatus_t)
-    BFD_HAVE_SYS_PROCFS_TYPE_MEMBER(lwpstatus_t, pr_context)
-    BFD_HAVE_SYS_PROCFS_TYPE_MEMBER(lwpstatus_t, pr_reg)
-    BFD_HAVE_SYS_PROCFS_TYPE_MEMBER(lwpstatus_t, pr_fpreg)
-    BFD_HAVE_SYS_PROCFS_TYPE(win32_pstatus_t)
-  fi
-fi
-AC_SUBST(COREFILE)
-AC_SUBST(COREFLAG)
-if test -n "$CORE_HEADER"; then
-  AC_DEFINE_UNQUOTED(CORE_HEADER, $CORE_HEADER,
-    [Name of host specific core header file to include in elf.c.])
-fi
-if test -n "$TRAD_HEADER"; then
-  AC_DEFINE_UNQUOTED(TRAD_HEADER, $TRAD_HEADER,
-    [Name of host specific header file to include in trad-core.c.])
-fi
-
-# Check if linker supports --as-needed and --no-as-needed options
-AC_CACHE_CHECK(linker --as-needed support, bfd_cv_ld_as_needed,
-       [bfd_cv_ld_as_needed=no
-       if $LD --help 2>/dev/null | grep as-needed > /dev/null; then
-               bfd_cv_ld_as_needed=yes
-       fi
-       ])
-
-LT_LIB_M
-
-# When building a shared libbfd, link against the pic version of libiberty
-# so that apps that use libbfd won't need libiberty just to satisfy any
-# libbfd references.
-# We can't do that if a pic libiberty is unavailable since including non-pic
-# code would insert text relocations into libbfd.
-SHARED_LIBADD=
-SHARED_LDFLAGS=
-if test "$enable_shared" = "yes"; then
-changequote(,)dnl
-  x=`sed -n -e 's/^[   ]*PICFLAG[      ]*=[    ]*//p' < ../libiberty/Makefile | sed -n '$p'`
+  x=`sed -n -e 's/^[   ]*PICFLAG[      ]*=[    ]*//p' < ../libiberty/Makefile | sed -n '$p'`
 changequote([,])dnl
   if test -n "$x"; then
     SHARED_LIBADD="-L`pwd`/../libiberty/pic -liberty"
@@ -695,8 +381,11 @@ do
     # use one entry per line, even though this leads to long lines.
     aarch64_elf32_be_vec)       tb="$tb elf32-aarch64.lo elfxx-aarch64.lo elf-ifunc.lo elf32.lo $elf"; target_size=64 ;;
     aarch64_elf32_le_vec)       tb="$tb elf32-aarch64.lo elfxx-aarch64.lo elf-ifunc.lo elf32.lo $elf"; target_size=64 ;;
-    aarch64_elf64_be_vec)       tb="$tb elf64-aarch64.lo elfxx-aarch64.lo elf-ifunc.lo elf64.lo $elf"; target_size=64 ;;
-    aarch64_elf64_le_vec)       tb="$tb elf64-aarch64.lo elfxx-aarch64.lo elf-ifunc.lo elf64.lo $elf"; target_size=64 ;;
+    aarch64_elf64_be_vec)         tb="$tb elf64-aarch64.lo elfxx-aarch64.lo elf-ifunc.lo elf64.lo $elf"; target_size=64 ;;
+    aarch64_elf64_be_cloudabi_vec) tb="$tb elf64-aarch64.lo elfxx-aarch64.lo elf-ifunc.lo elf64.lo $elf"; target_size=64 ;;
+    aarch64_elf64_le_vec)         tb="$tb elf64-aarch64.lo elfxx-aarch64.lo elf-ifunc.lo elf64.lo $elf"; target_size=64 ;;
+    aarch64_elf64_le_cloudabi_vec) tb="$tb elf64-aarch64.lo elfxx-aarch64.lo elf-ifunc.lo elf64.lo $elf"; target_size=64 ;;
+    aarch64_mach_o_vec)                 tb="$tb mach-o-aarch64.lo"; target_size=64 ;;
     alpha_ecoff_le_vec)                 tb="$tb coff-alpha.lo ecoff.lo $ecoff"; target_size=64 ;;
     alpha_elf64_vec)            tb="$tb elf64-alpha.lo elf64.lo $elf"; target_size=64 ;;
     alpha_elf64_fbsd_vec)       tb="$tb elf64-alpha.lo elf64.lo $elf"; target_size=64 ;;
@@ -736,6 +425,7 @@ do
     arm_pei_epoc_le_vec)        tb="$tb epoc-pei-arm.lo peigen.lo $coff" ;;
     arm_pei_wince_be_vec)       tb="$tb pei-arm-wince.lo pei-arm.lo peigen.lo $coff" ;;
     arm_pei_wince_le_vec)       tb="$tb pei-arm-wince.lo pei-arm.lo peigen.lo $coff" ;;
+    arm_mach_o_vec)             tb="$tb mach-o-arm.lo" ;;
     avr_elf32_vec)              tb="$tb elf32-avr.lo elf32.lo $elf" ;;
     bfin_elf32_vec)             tb="$tb elf32-bfin.lo elf32.lo $elf" ;;
     bfin_elf32_fdpic_vec)       tb="$tb elf32-bfin.lo elf32.lo $elf" ;;
@@ -916,6 +606,9 @@ do
     powerpc_pei_vec)            tb="$tb pei-ppc.lo peigen.lo $coff" ;;
     powerpc_pei_le_vec)                 tb="$tb pei-ppc.lo peigen.lo $coff" ;;
     powerpc_xcoff_vec)          tb="$tb coff-rs6000.lo $xcoff" ;;
+    pru_elf32_vec)              tb="$tb elf32-pru.lo elf32.lo $elf" ;;
+    riscv_elf32_vec)            tb="$tb elf32-riscv.lo elfxx-riscv.lo elf32.lo $elf" ;;
+    riscv_elf64_vec)            tb="$tb elf64-riscv.lo elf64.lo elfxx-riscv.lo elf32.lo $elf"; target_size=64 ;;
     rl78_elf32_vec)             tb="$tb elf32-rl78.lo elf32.lo $elf" ;;
     rs6000_xcoff64_vec)                 tb="$tb coff64-rs6000.lo aix5ppc-core.lo $xcoff"; target_size=64 ;;
     rs6000_xcoff64_aix_vec)     tb="$tb coff64-rs6000.lo aix5ppc-core.lo $xcoff"; target_size=64 ;;
@@ -1094,6 +787,13 @@ else      # all_targets is true
     selarchs=`echo $selarchs | sed -e 's/^/\&/' -e 's/ \(.\)/,\&\1/g'`
 fi     # all_targets is true
 
+# 64-bit archives need a 64-bit bfd_vma.
+if test "x$want_64_bit_archive" = xtrue; then
+  want64=true
+  AC_DEFINE(USE_64_BIT_ARCHIVE, 1,
+    [Define if 64-bit archives should always be used.])
+fi
+
 case ${host64}-${target64}-${want64} in
   *true*)
     wordsize=64
@@ -1122,12 +822,323 @@ case ${host64}-${target64}-${want64} in
     ;;
 esac
 
+tdefaults=""
+test -n "${defvec}" && tdefaults="${tdefaults} -DDEFAULT_VECTOR=${defvec}"
+test -n "${selvecs}" && tdefaults="${tdefaults} -DSELECT_VECS='${selvecs}'"
+test -n "${assocvecs}" && tdefaults="${tdefaults} -DASSOCIATED_VECS='${assocvecs}'"
+test -n "${selarchs}" && tdefaults="${tdefaults} -DSELECT_ARCHITECTURES='${selarchs}'"
+
 AC_SUBST(wordsize)
 AC_SUBST(bfd64_libs)
 AC_SUBST(all_backends)
 AC_SUBST(bfd_backends)
 AC_SUBST(bfd_machines)
 AC_SUBST(bfd_default_target_size)
+AC_SUBST(tdefaults)
+AC_SUBST(havevecs)
+
+# If we are configured native, pick a core file support file.
+COREFILE=
+COREFLAG=
+CORE_HEADER=
+TRAD_HEADER=
+if test "${target}" = "${host}"; then
+  case "${host}" in
+  alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu | alpha*-*-*vms*)
+       COREFILE=''
+       ;;
+  alpha*-*-linux-*)
+       COREFILE=trad-core.lo
+       TRAD_HEADER='"hosts/alphalinux.h"'
+       ;;
+  alpha*-*-netbsd* | alpha*-*-openbsd*)
+       COREFILE=netbsd-core.lo
+       ;;
+  alpha*-*-*)
+        COREFILE=osf-core.lo
+       ;;
+  arm-*-freebsd* | arm-*-kfreebsd*-gnu)
+       COREFILE='' ;;
+  arm-*-netbsd* | arm-*-openbsd*)
+       COREFILE=netbsd-core.lo
+       ;;
+  arm-*-riscix)                COREFILE=trad-core.lo ;;
+  hppa*-*-hpux*)       COREFILE=hpux-core.lo ;;
+  hppa*-*-hiux*)       COREFILE=hpux-core.lo ;;
+  hppa*-*-mpeix*)      COREFILE=hpux-core.lo ;;
+  hppa*-*-bsd*)                COREFILE="hpux-core.lo hppabsd-core.lo"
+                       COREFLAG="-DHPUX_CORE -DHPPABSD_CORE" ;;
+  hppa*-*-netbsd* | hppa*-*-openbsd*)
+       COREFILE=netbsd-core.lo
+       ;;
+
+  i370-*-*)
+       COREFILE=trad-core.lo
+       TRAD_HEADER='"hosts/i370linux.h"'
+       ;;
+
+changequote(,)dnl
+  i[3-7]86-sequent-bsd*)
+changequote([,])dnl
+       COREFILE=trad-core.lo
+       TRAD_HEADER='"hosts/symmetry.h"'
+       ;;
+changequote(,)dnl
+  i[3-7]86-sequent-sysv4*) ;;
+  i[3-7]86-sequent-sysv*)
+changequote([,])dnl
+       COREFILE=trad-core.lo
+       TRAD_HEADER='"hosts/symmetry.h"'
+       ;;
+changequote(,)dnl
+  i[3-7]86-*-bsdi)
+changequote([,])dnl
+       COREFILE=
+       ;;
+changequote(,)dnl
+  i[3-7]86-*-bsd* | i[3-7]86-*-freebsd[123] | i[3-7]86-*-freebsd[123]\.* | i[3-7]86-*-freebsd4\.[01234] | i[3-7]86-*-freebsd4\.[01234]\.* | i[3-7]86-*-freebsd*aout*)
+changequote([,])dnl
+       COREFILE=trad-core.lo
+       TRAD_HEADER='"hosts/i386bsd.h"'
+       ;;
+changequote(,)dnl
+  i[3-7]86-*-freebsd* | i[3-7]86-*-kfreebsd*-gnu | i[3-7]86-*-dragonfly*)
+changequote([,])dnl
+       COREFILE=''
+       TRAD_HEADER='"hosts/i386bsd.h"'
+       ;;
+changequote(,)dnl
+  i[3-7]86-*-netbsd* | i[3-7]86-*-knetbsd*-gnu | i[3-7]86-*-openbsd*)
+changequote([,])dnl
+       COREFILE=netbsd-core.lo
+       ;;
+changequote(,)dnl
+  i[3-7]86-esix-sysv3*)
+changequote([,])dnl
+       COREFILE=trad-core.lo
+       TRAD_HEADER='"hosts/esix.h"'
+       ;;
+changequote(,)dnl
+  i[3-7]86-*-sco3.2v5*)
+changequote([,])dnl
+       COREFILE=sco5-core.lo
+       ;;
+changequote(,)dnl
+  i[3-7]86-*-sco* | i[3-7]86-*-isc*)
+changequote([,])dnl
+       COREFILE=trad-core.lo
+       TRAD_HEADER='"hosts/i386sco.h"'
+       ;;
+changequote(,)dnl
+  i[3-7]86-*-mach3*)
+changequote([,])dnl
+       COREFILE=trad-core.lo
+       TRAD_HEADER='"hosts/i386mach3.h"'
+       ;;
+changequote(,)dnl
+  i[3-7]86-*-linux-*)
+changequote([,])dnl
+       COREFILE=trad-core.lo
+       TRAD_HEADER='"hosts/i386linux.h"'
+       case "$enable_targets"-"$want64" in
+       *x86_64-*linux*|*-true)
+         CORE_HEADER='"hosts/x86-64linux.h"'
+       esac
+       ;;
+changequote(,)dnl
+  i[3-7]86-*-isc*)     COREFILE=trad-core.lo ;;
+  i[3-7]86-*-aix*)     COREFILE=aix386-core.lo ;;
+changequote([,])dnl
+  i860-*-mach3* | i860-*-osf1*)
+       COREFILE=trad-core.lo
+       TRAD_HEADER='"hosts/i860mach3.h"'
+       ;;
+  mips-*-netbsd* | mips*-*-openbsd*)
+       COREFILE=netbsd-core.lo
+       ;;
+  mips-dec-*)
+       COREFILE=trad-core.lo
+       TRAD_HEADER='"hosts/decstation.h"'
+       ;;
+  mips-sgi-irix4*)     COREFILE=irix-core.lo ;;
+  mips-sgi-irix5*)     COREFILE=irix-core.lo ;;
+  mips-sgi-irix6*)     COREFILE=irix-core.lo ;;
+  mips-*-sysv4*)       ;;
+  mips-*-sysv* | mips-*-riscos*)
+       COREFILE=trad-core.lo
+       TRAD_HEADER='"hosts/riscos.h"'
+       ;;
+  mips-sony-bsd*)
+       COREFILE=trad-core.lo
+       TRAD_HEADER='"hosts/news-mips.h"'
+       ;;
+  m68*-bull*-sysv*)
+       COREFILE=trad-core.lo
+       TRAD_HEADER='"hosts/dpx2.h"'
+       ;;
+  m68*-hp-hpux*)       COREFILE=hpux-core.lo ;;
+  m68*-hp-bsd*)
+       COREFILE=trad-core.lo
+       TRAD_HEADER='"hosts/hp300bsd.h"'
+       ;;
+  m68*-*-linux-*)
+       COREFILE=trad-core.lo
+       TRAD_HEADER='"hosts/m68klinux.h"'
+       ;;
+  m68*-motorola-sysv*)
+       COREFILE=trad-core.lo
+       TRAD_HEADER='"hosts/delta68.h"'
+       ;;
+  m68*-sony-*)
+       COREFILE=trad-core.lo
+       TRAD_HEADER='"hosts/news.h"'
+       ;;
+  m68*-*-netbsd* | m68*-*-openbsd*)
+       COREFILE=netbsd-core.lo
+       ;;
+  m68*-apple-aux*)
+       COREFILE=trad-core.lo
+       TRAD_HEADER='"hosts/m68kaux.h"'
+       ;;
+  m88*-*-sysv4*)
+       ;;
+  m88*-motorola-sysv*)
+       COREFILE=ptrace-core.lo
+       ;;
+  m88*-*-mach3*)
+       COREFILE=trad-core.lo
+       TRAD_HEADER='"hosts/m88kmach3.h"'
+       ;;
+  m88*-*-openbsd*)
+       COREFILE=netbsd-core.lo
+       ;;
+  ns32k-pc532-mach)
+       COREFILE=trad-core.lo
+       TRAD_HEADER='"hosts/pc532mach.h"'
+       ;;
+  ns32k-*-netbsd* | ns32k-*-openbsd*)
+       COREFILE=netbsd-core.lo
+       ;;
+  rs6000-*-lynx*)
+       COREFILE=lynx-core.lo
+       ;;
+changequote(,)dnl
+  rs6000-*-aix[5-9].* | powerpc-*-aix[5-9].* | powerpc64-*-aix[5-9].*)
+changequote([,])dnl
+        COREFILE=rs6000-core.lo
+       COREFLAG="$COREFLAG -DAIX_5_CORE -DAIX_CORE_DUMPX_CORE"
+       ;;
+changequote(,)dnl
+  rs6000-*-aix4.[3-9]* | powerpc-*-aix4.[3-9]*)
+changequote([,])dnl
+        COREFILE=rs6000-core.lo
+       COREFLAG="$COREFLAG -DAIX_CORE_DUMPX_CORE"
+       # Not all versions of AIX with -DAIX_CORE_DUMPX_CORE
+       # have c_impl as a member of struct core_dumpx
+       AC_MSG_CHECKING([for c_impl in struct core_dumpx])
+       AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <core.h>]], [[struct core_dumpx c; c.c_impl = 0;]])],[AC_DEFINE(HAVE_ST_C_IMPL, 1,
+           [Define if struct core_dumpx has member c_impl])
+         AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)])
+       ;;
+  rs6000-*-aix4*)      COREFILE=rs6000-core.lo ;;
+  rs6000-*-*)          COREFILE=rs6000-core.lo ;;
+  powerpc64-*-aix*)    COREFILE=rs6000-core.lo ;;
+  powerpc-*-aix4*)     COREFILE=rs6000-core.lo ;;
+  powerpc-*-aix*)      COREFILE=rs6000-core.lo ;;
+  powerpc-*-beos*)     ;;
+  powerpc-*-freebsd* | powerpc-*-kfreebsd*-gnu)
+                       COREFILE='' ;;
+  powerpc-*-netbsd*)   COREFILE=netbsd-core.lo ;;
+  powerpc-*-*bsd*)     COREFILE=netbsd-core.lo ;;
+  s390*-*-*)            COREFILE=trad-core.lo ;;
+  sh*-*-netbsd* | sh*-*-openbsd*)
+       COREFILE=netbsd-core.lo
+       ;;
+  sparc-*-netbsd* | sparc*-*-openbsd*)
+       COREFILE=netbsd-core.lo
+       ;;
+  tahoe-*-*)
+       COREFILE=trad-core.lo
+       TRAD_HEADER='"hosts/tahoe.h"'
+       ;;
+  vax-*-netbsd* | vax-*-openbsd*)
+       COREFILE=netbsd-core.lo
+       ;;
+  vax-*-ultrix2*)
+       COREFILE=trad-core.lo
+       TRAD_HEADER='"hosts/vaxult2.h"'
+       ;;
+  vax-*-ultrix*)
+       COREFILE=trad-core.lo
+       TRAD_HEADER='"hosts/vaxult2.h"'
+       ;;
+  vax-*-linux-*)
+       COREFILE=trad-core.lo
+       TRAD_HEADER='"hosts/vaxlinux.h"'
+       ;;
+  vax-*-*)
+       COREFILE=trad-core.lo
+       TRAD_HEADER='"hosts/vaxbsd.h"'
+       ;;
+  x86_64-*-linux*)
+       CORE_HEADER='"hosts/x86-64linux.h"'
+       ;;
+  x86_64-*-netbsd* | x86_64-*-openbsd*)
+       COREFILE=netbsd-core.lo
+       ;;
+  esac
+
+  case "$COREFILE" in
+  aix386-core.lo)      COREFLAG=-DAIX386_CORE ;;
+  hppabsd-core.lo)     COREFLAG=-DHPPABSD_CORE ;;
+  hpux-core.lo)                COREFLAG=-DHPUX_CORE ;;
+  irix-core.lo)                COREFLAG=-DIRIX_CORE ;;
+  lynx-core.lo)                COREFLAG=-DLYNX_CORE ;;
+  netbsd-core.lo)      COREFLAG=-DNETBSD_CORE ;;
+  osf-core.lo)         COREFLAG=-DOSF_CORE ;;
+  ptrace-core.lo)      COREFLAG=-DPTRACE_CORE ;;
+  rs6000-core.lo)      COREFLAG="$COREFLAG -DAIX_CORE" ;;
+  sco5-core.lo)                COREFLAG="$COREFLAG -DSCO5_CORE" ;;
+  trad-core.lo)                COREFLAG="$COREFLAG -DTRAD_CORE" ;;
+  esac
+
+  # ELF corefile support has several flavors, but all of
+  # them use something called <sys/procfs.h>
+  AC_CHECK_HEADERS(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)
+    BFD_HAVE_SYS_PROCFS_TYPE_MEMBER(prstatus_t, pr_who)
+    BFD_HAVE_SYS_PROCFS_TYPE_MEMBER(prstatus32_t, pr_who)
+    BFD_HAVE_SYS_PROCFS_TYPE(pstatus_t)
+    BFD_HAVE_SYS_PROCFS_TYPE(pxstatus_t)
+    BFD_HAVE_SYS_PROCFS_TYPE(pstatus32_t)
+    BFD_HAVE_SYS_PROCFS_TYPE(prpsinfo_t)
+    BFD_HAVE_SYS_PROCFS_TYPE_MEMBER(prpsinfo_t, pr_pid)
+    BFD_HAVE_SYS_PROCFS_TYPE(prpsinfo32_t)
+    BFD_HAVE_SYS_PROCFS_TYPE_MEMBER(prpsinfo32_t, pr_pid)
+    BFD_HAVE_SYS_PROCFS_TYPE(psinfo_t)
+    BFD_HAVE_SYS_PROCFS_TYPE_MEMBER(psinfo_t, pr_pid)
+    BFD_HAVE_SYS_PROCFS_TYPE(psinfo32_t)
+    BFD_HAVE_SYS_PROCFS_TYPE_MEMBER(psinfo32_t, pr_pid)
+    BFD_HAVE_SYS_PROCFS_TYPE(lwpstatus_t)
+    BFD_HAVE_SYS_PROCFS_TYPE(lwpxstatus_t)
+    BFD_HAVE_SYS_PROCFS_TYPE_MEMBER(lwpstatus_t, pr_context)
+    BFD_HAVE_SYS_PROCFS_TYPE_MEMBER(lwpstatus_t, pr_reg)
+    BFD_HAVE_SYS_PROCFS_TYPE_MEMBER(lwpstatus_t, pr_fpreg)
+    BFD_HAVE_SYS_PROCFS_TYPE(win32_pstatus_t)
+  fi
+fi
+AC_SUBST(COREFILE)
+AC_SUBST(COREFLAG)
+if test -n "$CORE_HEADER"; then
+  AC_DEFINE_UNQUOTED(CORE_HEADER, $CORE_HEADER,
+    [Name of host specific core header file to include in elf.c.])
+fi
+if test -n "$TRAD_HEADER"; then
+  AC_DEFINE_UNQUOTED(TRAD_HEADER, $TRAD_HEADER,
+    [Name of host specific header file to include in trad-core.c.])
+fi
 
 if test "$plugins" = "yes"; then
   supports_plugins=1
@@ -1137,7 +1148,7 @@ fi
 AC_SUBST(supports_plugins)
 AC_SUBST(lt_cv_dlopen_libs)
 
-# Determine the host dependant file_ptr a.k.a. off_t type.  In order
+# Determine the host dependent file_ptr a.k.a. off_t type.  In order
 # prefer: off64_t - if ftello64 and fseeko64, off_t - if ftello and
 # fseeko, long.  This assumes that sizeof off_t is .ge. sizeof long.
 # Hopefully a reasonable assumption since fseeko et.al. should be
@@ -1158,15 +1169,6 @@ AC_MSG_RESULT($bfd_file_ptr)
 AC_SUBST(bfd_file_ptr)
 AC_SUBST(bfd_ufile_ptr)
 
-
-tdefaults=""
-test -n "${defvec}" && tdefaults="${tdefaults} -DDEFAULT_VECTOR=${defvec}"
-test -n "${selvecs}" && tdefaults="${tdefaults} -DSELECT_VECS='${selvecs}'"
-test -n "${assocvecs}" && tdefaults="${tdefaults} -DASSOCIATED_VECS='${assocvecs}'"
-test -n "${selarchs}" && tdefaults="${tdefaults} -DSELECT_ARCHITECTURES='${selarchs}'"
-AC_SUBST(tdefaults)
-AC_SUBST(havevecs)
-
 dnl AC_CHECK_HEADERS(sys/mman.h)
 AC_FUNC_MMAP
 AC_CHECK_FUNCS(madvise mprotect)
This page took 0.0477 seconds and 4 git commands to generate.