X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=bfd%2Fconfigure.ac;h=ee3075aca34ae37871578e77101b1d548f0a0d6f;hb=fe49679d5193f6ff7cfd333e30883d293112a3d1;hp=b69891c56ab81121eff1bd14d831d927b6ebd867;hpb=c603b11becccfc593ca590c3129d00c2289359b8;p=thirdparty%2Fbinutils-gdb.git diff --git a/bfd/configure.ac b/bfd/configure.ac index b69891c56ab..ee3075aca34 100644 --- a/bfd/configure.ac +++ b/bfd/configure.ac @@ -1,6 +1,6 @@ dnl Process this file with autoconf to produce a configure script. dnl -dnl Copyright (C) 2012-2016 Free Software Foundation, Inc. +dnl Copyright (C) 2012-2020 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 @@ -17,7 +17,6 @@ dnl along with this program; see the file COPYING3. If not see dnl . dnl -AC_PREREQ(2.59) m4_include([version.m4]) AC_INIT([bfd], BFD_VERSION) AC_CONFIG_SRCDIR([libbfd.c]) @@ -45,11 +44,31 @@ LT_INIT([dlopen]) # AC_PLUGINS setting $plugins is called by ACX_LARGEFILE. ACX_LARGEFILE -AM_CONDITIONAL(PLUGINS, test "$plugins" = "yes") +changequote(,)dnl +case "${target}" in + vax-*-netbsdelf*) ;; + *-*-*aout* | i[3-7]86-*-bsd* | i[3-7]86-*-msdos* | ns32k-*-* | \ + pdp11-*-* | vax-*-*bsd*) +changequote([,])dnl + if test "$plugins" = "yes"; then + if test "${enable_plugins+set}" = set; then + AC_MSG_WARN(Enabling plugins for AOUT is experimental) + else + plugins=no + fi + fi ;; + *-*-*vms* | \ + powerpc*-*-aix* | powerpc-*-beos* | powerpc-*-macos* | rs6000-*-*) + if test "$plugins" = "yes"; then + if test "${enable_plugins+set}" = set; then + AC_MSG_WARN(Enabling plugins may result in ar creating non-standard archives for ${target}) + else + plugins=no + fi + fi ;; +esac -if test "$plugins" = "yes"; then - enable_targets="$enable_targets plugin" -fi +AM_CONDITIONAL(PLUGINS, test "$plugins" = "yes") AC_ARG_ENABLE(64-bit-bfd, [ --enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes)], @@ -68,6 +87,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 @@ -88,6 +116,32 @@ if test $use_secureplt = true; then [Define if we should default to creating read-only plt entries]) fi +# Decide if -z separate-code should be enabled in ELF linker by default. +ac_default_ld_z_separate_code=unset +AC_ARG_ENABLE(separate-code, + AS_HELP_STRING([--enable-separate-code], + [enable -z separate-code in ELF linker by default]), +[case "${enableval}" in + yes) ac_default_ld_z_separate_code=1 ;; + no) ac_default_ld_z_separate_code=0 ;; +esac]) +# Enable -z separate-code by default for Linux/x86. +changequote(,)dnl +case "${target}" in +i[3-7]86-*-linux-* | x86_64-*-linux-*) +changequote([,])dnl + if test ${ac_default_ld_z_separate_code} = unset; then + ac_default_ld_z_separate_code=1 + fi + ;; +esac +if test "${ac_default_ld_z_separate_code}" = unset; then + ac_default_ld_z_separate_code=0 +fi +AC_DEFINE_UNQUOTED(DEFAULT_LD_Z_SEPARATE_CODE, + $ac_default_ld_z_separate_code, + [Define to 1 if you want to enable -z separate-code in ELF linker by default.]) + AC_ARG_ENABLE(leading-mingw64-underscores, AS_HELP_STRING([--enable-leading-mingw64-underscores], [Enable leading underscores on 64 bit mingw targets]), @@ -103,26 +157,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 +188,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="da es fi fr hr id ja ro ru rw sr sv tr uk vi zh_CN pt" ZW_GNU_GETTEXT_SISTER_DIR AM_PO_SUBDIRS @@ -171,9 +205,11 @@ BFD_HOST_64_BIT= BFD_HOST_U_64_BIT= BFD_HOSTPTR_T="unsigned long" -AC_CHECK_SIZEOF(long long) +AC_TYPE_LONG_DOUBLE +AC_CHECK_TYPES([long long], [AC_CHECK_SIZEOF(long long)]) AC_CHECK_SIZEOF(void *) AC_CHECK_SIZEOF(long) +AC_CHECK_SIZEOF(int) if test "x${ac_cv_sizeof_void_p}" = "x8"; then host64=true @@ -214,7 +250,7 @@ AC_HEADER_TIME AC_HEADER_DIRENT ACX_HEADER_STRING -AC_CHECK_FUNCS(fcntl getpagesize setitimer sysconf fdopen getuid getgid fileno) +AC_CHECK_FUNCS(fcntl getpagesize setitimer sysconf fdopen getuid getgid fileno fls) AC_CHECK_FUNCS(strtoull getrlimit) AC_CHECK_DECLS(basename) @@ -242,6 +278,20 @@ AC_CHECK_DECLS(strnlen) # This is used only by compress.c. AM_ZLIB +save_CFLAGS="$CFLAGS" +CFLAGS="$CFLAGS -Werror" +AC_CACHE_CHECK([compiler support for hidden visibility], bfd_cv_hidden, +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ +const char hw[] __attribute__ ((__visibility__ ("hidden"))) = "Hello, World\n"; +extern void print (const char *) __attribute__ ((__visibility__ ("hidden")));]], + [[print (hw);]])], + [bfd_cv_hidden=yes], [bfd_cv_hidden=no])]) +CFLAGS="$save_CFLAGS" +if test $bfd_cv_hidden = yes; then + AC_DEFINE(HAVE_HIDDEN, 1, + [Define if your compiler supports hidden visibility.]) +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 @@ -267,15 +317,15 @@ changequote([,])dnl SHARED_LIBADD="-L`pwd`/../libiberty/pic -liberty" fi -# More hacks to build DLLs on Windows. case "${host}" in + # More hacks to build DLLs on Windows. *-*-cygwin*) SHARED_LDFLAGS="-no-undefined" SHARED_LIBADD="-L`pwd`/../libiberty -liberty -L`pwd`/../intl -lintl -lcygwin -lkernel32" ;; - # Hack to build or1k-src on OSX - or1k*-*-darwin*) + # Use built-in libintl on macOS, since it is not provided by libc. + *-*-darwin*) SHARED_LIBADD="-L`pwd`/../libiberty/pic -L`pwd`/../intl -liberty -lintl" ;; esac @@ -319,12 +369,12 @@ selarchs= TDEFINES= for targ in $target $canon_targets do - if test "x$targ" = "xall"; then + if test $targ = all; then all_targets=true assocvecs="$assocvecs $targ_defvec $targ_selvecs" - else + elif test $targ != plugin; then . $srcdir/config.bfd - if test "x$targ" = "x$target"; then + if test $targ = $target; then defvec=$targ_defvec fi selvecs="$selvecs $targ_defvec $targ_selvecs" @@ -376,13 +426,14 @@ selarchs="$f" # Target backend .o files. tb= -elf="elf.lo elflink.lo elf-attrs.lo elf-strtab.lo - elf-eh-frame.lo dwarf1.lo dwarf2.lo" +elf="elf.lo elflink.lo elf-attrs.lo elf-strtab.lo elf-eh-frame.lo + dwarf1.lo dwarf2.lo" coffgen="coffgen.lo dwarf2.lo" coff="cofflink.lo $coffgen" ecoff="ecofflink.lo $coffgen" xcoff="xcofflink.lo $coffgen" +elfxx_x86="elfxx-x86.lo elf-ifunc.lo elf-vxworks.lo" for vec in $selvecs do target_size=32 @@ -400,24 +451,18 @@ do 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 ;; - alpha_nlm32_vec) tb="$tb nlm32-alpha.lo nlm32.lo nlm.lo"; target_size=64 ;; alpha_vms_vec) tb="$tb vms-alpha.lo vms-misc.lo vms-lib.lo"; target_size=64 ;; alpha_vms_lib_txt_vec) tb="$tb vms-lib.lo vms-misc.lo" ;; am33_elf32_linux_vec) tb="$tb elf32-am33lin.lo elf32.lo $elf" ;; aout0_be_vec) tb="$tb aout0.lo aout32.lo" ;; aout64_vec) tb="$tb demo64.lo aout64.lo"; target_size=64 ;; aout_vec) tb="$tb host-aout.lo aout32.lo" ;; - aout_adobe_vec) tb="$tb aout-adobe.lo aout32.lo" ;; arc_elf32_be_vec) tb="$tb elf32-arc.lo elf32.lo $elf" ;; arc_elf32_le_vec) tb="$tb elf32-arc.lo elf32.lo $elf" ;; - arm_aout_be_vec) tb="$tb aout-arm.lo aout32.lo" ;; - arm_aout_le_vec) tb="$tb aout-arm.lo aout32.lo" ;; - arm_aout_nbsd_vec) tb="$tb armnetbsd.lo aout32.lo" ;; - arm_aout_riscix_vec) tb="$tb aout32.lo riscix.lo" ;; - arm_coff_be_vec) tb="$tb coff-arm.lo $coff" ;; - arm_coff_le_vec) tb="$tb coff-arm.lo $coff" ;; arm_elf32_be_vec) tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;; arm_elf32_le_vec) tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;; + arm_elf32_fdpic_be_vec) tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;; + arm_elf32_fdpic_le_vec) tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;; arm_elf32_nacl_be_vec) tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;; arm_elf32_nacl_le_vec) tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;; arm_elf32_symbian_be_vec) tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;; @@ -426,28 +471,23 @@ do arm_elf32_vxworks_le_vec) tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;; arm_pe_be_vec) tb="$tb pe-arm.lo peigen.lo $coff" ;; arm_pe_le_vec) tb="$tb pe-arm.lo peigen.lo $coff" ;; - arm_pe_epoc_be_vec) tb="$tb epoc-pe-arm.lo peigen.lo $coff" ;; - arm_pe_epoc_le_vec) tb="$tb epoc-pe-arm.lo peigen.lo $coff" ;; arm_pe_wince_be_vec) tb="$tb pe-arm-wince.lo pe-arm.lo peigen.lo $coff" ;; arm_pe_wince_le_vec) tb="$tb pe-arm-wince.lo pe-arm.lo peigen.lo $coff" ;; arm_pei_be_vec) tb="$tb pei-arm.lo peigen.lo $coff" ;; arm_pei_le_vec) tb="$tb pei-arm.lo peigen.lo $coff" ;; - arm_pei_epoc_be_vec) tb="$tb epoc-pei-arm.lo peigen.lo $coff" ;; - 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" ;; - bout_be_vec) tb="$tb bout.lo aout32.lo" ;; - bout_le_vec) tb="$tb bout.lo aout32.lo" ;; cr16_elf32_vec) tb="$tb elf32-cr16.lo elf32.lo $elf" ;; - cr16c_elf32_vec) tb="$tb elf32-cr16c.lo elf32.lo $elf" ;; cris_aout_vec) tb="$tb aout-cris.lo" ;; cris_elf32_vec) tb="$tb elf32-cris.lo elf32.lo $elf" ;; cris_elf32_us_vec) tb="$tb elf32-cris.lo elf32.lo $elf" ;; crx_elf32_vec) tb="$tb elf32-crx.lo elf32.lo $elf" ;; + csky_elf32_be_vec) tb="$tb elf32-csky.lo elf32.lo $elf" ;; + csky_elf32_le_vec) tb="$tb elf32-csky.lo elf32.lo $elf" ;; d10v_elf32_vec) tb="$tb elf32-d10v.lo elf32.lo $elf" ;; d30v_elf32_vec) tb="$tb elf32-d30v.lo elf32.lo $elf" ;; dlx_elf32_be_vec) tb="$tb elf32-dlx.lo elf32.lo $elf" ;; @@ -455,49 +495,37 @@ do elf32_le_vec) tb="$tb elf32-gen.lo elf32.lo $elf" ;; elf64_be_vec) tb="$tb elf64-gen.lo elf64.lo $elf"; target_size=64 ;; elf64_le_vec) tb="$tb elf64-gen.lo elf64.lo $elf"; target_size=64 ;; + bpf_elf64_le_vec) tb="$tb elf64-bpf.lo elf64.lo $elf"; target_size=64;; + bpf_elf64_be_vec) tb="$tb elf64-bpf.lo elf64.lo $elf"; target_size=64 ;; epiphany_elf32_vec) tb="$tb elf32-epiphany.lo elf32.lo $elf" ;; fr30_elf32_vec) tb="$tb elf32-fr30.lo elf32.lo $elf" ;; frv_elf32_vec) tb="$tb elf32-frv.lo elf32.lo $elf" ;; frv_elf32_fdpic_vec) tb="$tb elf32-frv.lo elf32.lo $elf" ;; - h8300_coff_vec) tb="$tb coff-h8300.lo reloc16.lo $coffgen" ;; h8300_elf32_vec) tb="$tb elf32-h8300.lo elf32.lo $elf" ;; h8300_elf32_linux_vec) tb="$tb elf32-h8300.lo elf32.lo $elf" ;; - h8500_coff_vec) tb="$tb coff-h8500.lo reloc16.lo $coffgen" ;; hppa_elf32_vec) tb="$tb elf32-hppa.lo elf32.lo $elf" ;; hppa_elf32_linux_vec) tb="$tb elf32-hppa.lo elf32.lo $elf" ;; hppa_elf32_nbsd_vec) tb="$tb elf32-hppa.lo elf32.lo $elf" ;; hppa_elf64_vec) tb="$tb elf64-hppa.lo elf64.lo $elf"; target_size=64 ;; hppa_elf64_linux_vec) tb="$tb elf64-hppa.lo elf64.lo $elf"; target_size=64 ;; hppa_som_vec) tb="$tb som.lo" ;; - i370_elf32_vec) tb="$tb elf32-i370.lo elf32.lo $elf" ;; i386_aout_vec) tb="$tb i386aout.lo aout32.lo" ;; i386_aout_bsd_vec) tb="$tb i386bsd.lo aout32.lo" ;; - i386_aout_dynix_vec) tb="$tb i386dynix.lo aout32.lo" ;; - i386_aout_fbsd_vec) tb="$tb i386freebsd.lo aout32.lo" ;; - i386_aout_linux_vec) tb="$tb i386linux.lo aout32.lo" ;; i386_aout_lynx_vec) tb="$tb i386lynx.lo lynx-core.lo aout32.lo" ;; - i386_aout_mach3_vec) tb="$tb i386mach3.lo aout32.lo" ;; - i386_aout_nbsd_vec) tb="$tb i386netbsd.lo aout32.lo" ;; - i386_aout_os9k_vec) tb="$tb i386os9k.lo aout32.lo" ;; i386_coff_vec) tb="$tb coff-i386.lo $coff" ;; i386_coff_go32_vec) tb="$tb coff-go32.lo $coff" ;; i386_coff_go32stubbed_vec) tb="$tb coff-stgo32.lo $coff" ;; i386_coff_lynx_vec) tb="$tb cf-i386lynx.lo lynx-core.lo $coff" ;; - i386_elf32_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; - i386_elf32_fbsd_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; - i386_elf32_nacl_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; - i386_elf32_sol2_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; - i386_elf32_vxworks_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; + i386_elf32_vec) tb="$tb elf32-i386.lo $elfxx_x86 elf32.lo $elf" ;; + i386_elf32_fbsd_vec) tb="$tb elf32-i386.lo $elfxx_x86 elf32.lo $elf" ;; + i386_elf32_sol2_vec) tb="$tb elf32-i386.lo $elfxx_x86 elf32.lo $elf" ;; + i386_elf32_vxworks_vec) tb="$tb elf32-i386.lo $elfxx_x86 elf32.lo $elf" ;; i386_mach_o_vec) tb="$tb mach-o-i386.lo" ;; i386_msdos_vec) tb="$tb i386msdos.lo" ;; - i386_nlm32_vec) tb="$tb nlm32-i386.lo nlm32.lo nlm.lo" ;; i386_pe_vec) tb="$tb pe-i386.lo peigen.lo $coff" ;; + i386_pe_big_vec) tb="$tb pe-i386.lo peigen.lo $coff" ;; i386_pei_vec) tb="$tb pei-i386.lo peigen.lo $coff" ;; - iamcu_elf32_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; - i860_coff_vec) tb="$tb coff-i860.lo $coff" ;; - i860_elf32_vec) tb="$tb elf32-i860.lo elf32.lo $elf" ;; - i860_elf32_le_vec) tb="$tb elf32-i860.lo elf32.lo $elf" ;; - i960_elf32_vec) tb="$tb elf32-i960.lo elf32.lo $elf" ;; + iamcu_elf32_vec) tb="$tb elf32-i386.lo $elfxx_x86 elf32.lo $elf" ;; ia64_elf32_be_vec) tb="$tb elf32-ia64.lo elfxx-ia64.lo elf32.lo $elf" ;; ia64_elf32_hpux_be_vec) tb="$tb elf32-ia64.lo elfxx-ia64.lo elf32.lo $elf" ;; ia64_elf64_be_vec) tb="$tb elf64-ia64.lo elfxx-ia64.lo elf64.lo $elf"; target_size=64 ;; @@ -505,15 +533,12 @@ do ia64_elf64_hpux_be_vec) tb="$tb elf64-ia64.lo elfxx-ia64.lo elf64.lo $elf"; target_size=64 ;; ia64_elf64_vms_vec) tb="$tb elf64-ia64-vms.lo elf64-ia64.lo elfxx-ia64.lo elf64.lo vms-lib.lo vms-misc.lo $elf"; target_size=64 ;; ia64_pei_vec) tb="$tb pei-ia64.lo pepigen.lo $coff"; target_size=64 ;; - icoff_be_vec) tb="$tb coff-i960.lo $coff" ;; - icoff_le_vec) tb="$tb coff-i960.lo $coff" ;; - ieee_vec) tb="$tb ieee.lo" ;; ip2k_elf32_vec) tb="$tb elf32-ip2k.lo elf32.lo $elf" ;; iq2000_elf32_vec) tb="$tb elf32-iq2000.lo elf32.lo $elf" ;; - k1om_elf64_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;; - k1om_elf64_fbsd_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;; - l1om_elf64_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;; - l1om_elf64_fbsd_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;; + k1om_elf64_vec) tb="$tb elf64-x86-64.lo elfxx-x86.lo elf-ifunc.lo elf64.lo $elf"; target_size=64 ;; + k1om_elf64_fbsd_vec) tb="$tb elf64-x86-64.lo elfxx-x86.lo elf-ifunc.lo elf64.lo $elf"; target_size=64 ;; + l1om_elf64_vec) tb="$tb elf64-x86-64.lo elfxx-x86.lo elf-ifunc.lo elf64.lo $elf"; target_size=64 ;; + l1om_elf64_fbsd_vec) tb="$tb elf64-x86-64.lo elfxx-x86.lo elf-ifunc.lo elf64.lo $elf"; target_size=64 ;; lm32_elf32_vec) tb="$tb elf32-lm32.lo elf32.lo $elf" ;; lm32_elf32_fdpic_vec) tb="$tb elf32-lm32.lo elf32.lo $elf" ;; m32c_elf32_vec) tb="$tb elf32-m32c.lo elf32.lo $elf" ;; @@ -523,23 +548,8 @@ do m32r_elf32_linux_le_vec) tb="$tb elf32-m32r.lo elf32.lo $elf" ;; m68hc11_elf32_vec) tb="$tb elf32-m68hc11.lo elf32-m68hc1x.lo elf32.lo $elf" ;; m68hc12_elf32_vec) tb="$tb elf32-m68hc12.lo elf32-m68hc1x.lo elf32.lo $elf" ;; - m68k_aout_4knbsd_vec) tb="$tb m68k4knetbsd.lo aout32.lo" ;; - m68k_aout_hp300bsd_vec) tb="$tb hp300bsd.lo aout32.lo" ;; - m68k_aout_hp300hpux_vec) tb="$tb hp300hpux.lo aout32.lo" ;; - m68k_aout_linux_vec) tb="$tb m68klinux.lo aout32.lo" ;; - m68k_aout_nbsd_vec) tb="$tb m68knetbsd.lo aout32.lo" ;; - m68k_aout_newsos3_vec) tb="$tb newsos3.lo aout32.lo" ;; - m68k_coff_vec) tb="$tb coff-m68k.lo $coff" ;; - m68k_coff_apollo_vec) tb="$tb coff-apollo.lo $coffgen" ;; - m68k_coff_aux_vec) tb="$tb coff-aux.lo coff-m68k.lo $coff" ;; - m68k_coff_sysv_vec) tb="$tb coff-svm68k.lo $coff" ;; - m68k_coff_un_vec) tb="$tb coff-u68k.lo coff-m68k.lo $coff" ;; m68k_elf32_vec) tb="$tb elf32-m68k.lo elf32.lo $elf" ;; - m68k_versados_vec) tb="$tb versados.lo" ;; - m88k_aout_mach3_vec) tb="$tb m88kmach3.lo aout32.lo" ;; - m88k_aout_obsd_vec) tb="$tb m88kopenbsd.lo aout32.lo" ;; - m88k_coff_bcs_vec) tb="$tb coff-m88k.lo $coffgen" ;; - m88k_elf32_vec) tb="$tb elf32-m88k.lo elf32.lo $elf" ;; + s12z_elf32_vec) tb="$tb elf32-s12z.lo elf32.lo $elf" ;; mach_o_be_vec) tb="$tb mach-o.lo dwarf2.lo" ;; mach_o_le_vec) tb="$tb mach-o.lo dwarf2.lo" ;; mach_o_fat_vec) tb="$tb mach-o.lo dwarf2.lo" ;; @@ -577,8 +587,6 @@ do mips_elf64_trad_le_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;; mips_elf64_tradfbsd_be_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;; mips_elf64_tradfbsd_le_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;; - mips_pe_le_vec) tb="$tb pe-mips.lo peigen.lo $coff" ;; - mips_pei_le_vec) tb="$tb pei-mips.lo peigen.lo $coff" ;; mmix_elf64_vec) tb="$tb elf64-mmix.lo elf64.lo $elf" target_size=64 ;; mmix_mmo_vec) tb="$tb mmo.lo" target_size=64 ;; mn10200_elf32_vec) tb="$tb elf-m10200.lo elf32.lo $elf" ;; @@ -592,6 +600,7 @@ do nds32_elf32_le_vec) tb="$tb elf32-nds32.lo elf32.lo $elf" ;; nds32_elf32_linux_be_vec) tb="$tb elf32-nds32.lo elf32.lo $elf" ;; nds32_elf32_linux_le_vec) tb="$tb elf32-nds32.lo elf32.lo $elf" ;; + nfp_elf64_vec) tb="$tb elf64-nfp.lo elf64.lo $elf" ;; nios2_elf32_be_vec) tb="$tb elf32-nios2.lo elf32.lo $elf" ;; nios2_elf32_le_vec) tb="$tb elf32-nios2.lo elf32.lo $elf" ;; ns32k_aout_pc532mach_vec) tb="$tb pc532-mach.lo aout-ns32k.lo" ;; @@ -602,7 +611,6 @@ do pef_xlib_vec) tb="$tb pef.lo" ;; pj_elf32_vec) tb="$tb elf32-pj.lo elf32.lo $elf" ;; pj_elf32_le_vec) tb="$tb elf32-pj.lo elf32.lo $elf" ;; - plugin_vec) tb="$tb plugin.lo" ;; powerpc_boot_vec) tb="$tb ppcboot.lo" ;; powerpc_elf32_vec) tb="$tb elf32-ppc.lo elf-vxworks.lo elf32.lo $elf" ;; powerpc_elf32_le_vec) tb="$tb elf32-ppc.lo elf-vxworks.lo elf32.lo $elf" ;; @@ -611,12 +619,10 @@ do powerpc_elf64_vec) tb="$tb elf64-ppc.lo elf64-gen.lo elf64.lo $elf"; target_size=64 ;; powerpc_elf64_le_vec) tb="$tb elf64-ppc.lo elf64-gen.lo elf64.lo $elf" target_size=64 ;; powerpc_elf64_fbsd_vec) tb="$tb elf64-ppc.lo elf64-gen.lo elf64.lo $elf" target_size=64 ;; - powerpc_nlm32_vec) tb="$tb nlm32-ppc.lo nlm32.lo nlm.lo" ;; - powerpc_pe_vec) tb="$tb pe-ppc.lo peigen.lo $coff" ;; - powerpc_pe_le_vec) tb="$tb pe-ppc.lo peigen.lo $coff" ;; - 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 ;; @@ -624,22 +630,11 @@ do rx_elf32_be_vec) tb="$tb elf32-rx.lo elf32.lo $elf" ;; rx_elf32_be_ns_vec) tb="$tb elf32-rx.lo elf32.lo $elf" ;; rx_elf32_le_vec) tb="$tb elf32-rx.lo elf32.lo $elf" ;; + rx_elf32_linux_le_vec) tb="$tb elf32-rx.lo elf32.lo $elf" ;; s390_elf32_vec) tb="$tb elf32-s390.lo elf32.lo $elf" ;; s390_elf64_vec) tb="$tb elf64-s390.lo elf64.lo $elf"; target_size=64 ;; - score_elf32_be_vec) tb="$tb elf32-score.lo elf32-score7.lo elf32.lo $elf"; want64=true; target_size=64 ;; - score_elf32_le_vec) tb="$tb elf32-score.lo elf32-score7.lo elf32.lo $elf"; want64=true; target_size=64 ;; - sh64_elf32_vec) tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf" target_size=64 ;; - sh64_elf32_le_vec) tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf" target_size=64 ;; - sh64_elf32_linux_vec) tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf" target_size=64 ;; - sh64_elf32_linux_be_vec) tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf" target_size=64 ;; - sh64_elf32_nbsd_vec) tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf" ;; - sh64_elf32_nbsd_le_vec) tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf" ;; - sh64_elf64_vec) tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;; - sh64_elf64_le_vec) tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;; - sh64_elf64_linux_vec) tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;; - sh64_elf64_linux_be_vec) tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;; - sh64_elf64_nbsd_vec) tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;; - sh64_elf64_nbsd_le_vec) tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;; + score_elf32_be_vec) tb="$tb elf32-score.lo elf32-score7.lo elf32.lo elf64.lo $elf"; want64=true; target_size=64 ;; + score_elf32_le_vec) tb="$tb elf32-score.lo elf32-score7.lo elf32.lo elf64.lo $elf"; want64=true; target_size=64 ;; sh_coff_vec) tb="$tb coff-sh.lo $coff" ;; sh_coff_le_vec) tb="$tb coff-sh.lo $coff" ;; sh_coff_small_vec) tb="$tb coff-sh.lo $coff" ;; @@ -652,28 +647,18 @@ do sh_elf32_linux_be_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;; sh_elf32_nbsd_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;; sh_elf32_nbsd_le_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;; - sh_elf32_symbian_le_vec) tb="$tb elf32-sh-symbian.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;; sh_elf32_vxworks_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;; sh_elf32_vxworks_le_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;; sh_pe_le_vec) tb="$tb pe-sh.lo coff-sh.lo peigen.lo $coff" ;; sh_pei_le_vec) tb="$tb pei-sh.lo coff-sh.lo peigen.lo $coff" ;; - sparc_aout_le_vec) tb="$tb aout-sparcle.lo aout32.lo" ;; - sparc_aout_linux_vec) tb="$tb sparclinux.lo aout32.lo" ;; - sparc_aout_lynx_vec) tb="$tb sparclynx.lo lynx-core.lo aout32.lo" ;; - sparc_aout_nbsd_vec) tb="$tb sparcnetbsd.lo aout32.lo" ;; - sparc_aout_sunos_be_vec) tb="$tb sunos.lo aout32.lo" ;; - sparc_coff_vec) tb="$tb coff-sparc.lo $coffgen" ;; - sparc_coff_lynx_vec) tb="$tb cf-sparclynx.lo lynx-core.lo $coffgen" ;; sparc_elf32_vec) tb="$tb elf32-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf32.lo $elf" ;; sparc_elf32_sol2_vec) tb="$tb elf32-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf32.lo $elf" ;; sparc_elf32_vxworks_vec) tb="$tb elf32-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf32.lo $elf" ;; sparc_elf64_vec) tb="$tb elf64-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf64.lo $elf"; target_size=64 ;; sparc_elf64_fbsd_vec) tb="$tb elf64-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf64.lo $elf"; target_size=64 ;; sparc_elf64_sol2_vec) tb="$tb elf64-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf64.lo $elf"; target_size=64 ;; - sparc_nlm32_vec) tb="$tb nlm32-sparc.lo nlm32.lo nlm.lo" ;; spu_elf32_vec) tb="$tb elf32-spu.lo elf32.lo $elf" ;; sym_vec) tb="$tb xsym.lo" ;; - tic30_aout_vec) tb="$tb aout-tic30.lo" ;; tic30_coff_vec) tb="$tb coff-tic30.lo $coffgen" ;; tic4x_coff0_vec) tb="$tb coff-tic4x.lo $coffgen" ;; tic4x_coff0_beh_vec) tb="$tb coff-tic4x.lo $coffgen" ;; @@ -693,7 +678,6 @@ do tic6x_elf32_c6000_le_vec) tb="$tb elf32-tic6x.lo elf32.lo $elf" ;; tic6x_elf32_linux_be_vec) tb="$tb elf32-tic6x.lo elf32.lo $elf" ;; tic6x_elf32_linux_le_vec) tb="$tb elf32-tic6x.lo elf32.lo $elf" ;; - tic80_coff_vec) tb="$tb coff-tic80.lo $coff" ;; tilegx_elf32_be_vec) tb="$tb elf32-tilegx.lo elfxx-tilegx.lo elf32.lo $elf" ; target_size=32 ;; tilegx_elf32_le_vec) tb="$tb elf32-tilegx.lo elfxx-tilegx.lo elf32.lo $elf" ; target_size=32 ;; tilegx_elf64_be_vec) tb="$tb elf64-tilegx.lo elfxx-tilegx.lo elf64.lo $elf" ; target_size=64 ;; @@ -702,24 +686,21 @@ do v800_elf32_vec) tb="$tb elf32-v850.lo elf32.lo $elf" ;; v850_elf32_vec) tb="$tb elf32-v850.lo elf32.lo $elf" ;; vax_aout_1knbsd_vec) tb="$tb vax1knetbsd.lo aout32.lo" ;; - vax_aout_bsd_vec) tb="$tb vaxbsd.lo aout32.lo" ;; vax_aout_nbsd_vec) tb="$tb vaxnetbsd.lo aout32.lo" ;; vax_elf32_vec) tb="$tb elf32-vax.lo elf32.lo $elf" ;; ft32_elf32_vec) tb="$tb elf32-ft32.lo elf32.lo $elf" ;; visium_elf32_vec) tb="$tb elf32-visium.lo elf32.lo $elf" ;; - w65_coff_vec) tb="$tb coff-w65.lo reloc16.lo $coffgen" ;; - we32k_coff_vec) tb="$tb coff-we32k.lo $coffgen" ;; + wasm_vec) tb="$tb wasm-module.lo" ;; + wasm32_elf32_vec) tb="$tb elf32-wasm32.lo elf32.lo $elf" ;; x86_64_coff_vec) tb="$tb coff-x86_64.lo $coff"; target_size=64 ;; - x86_64_elf32_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo elf32.lo $elf"; target_size=64 ;; - x86_64_elf32_nacl_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo elf32.lo $elf"; target_size=64 ;; - x86_64_elf64_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;; - x86_64_elf64_cloudabi_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;; - x86_64_elf64_fbsd_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;; - x86_64_elf64_nacl_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;; - x86_64_elf64_sol2_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;; + x86_64_elf32_vec) tb="$tb elf64-x86-64.lo $elfxx_x86 elf64.lo elf32.lo $elf"; target_size=64 ;; + x86_64_elf64_vec) tb="$tb elf64-x86-64.lo $elfxx_x86 elf64.lo $elf"; target_size=64 ;; + x86_64_elf64_cloudabi_vec) tb="$tb elf64-x86-64.lo $elfxx_x86 elf64.lo $elf"; target_size=64 ;; + x86_64_elf64_fbsd_vec) tb="$tb elf64-x86-64.lo $elfxx_x86 elf64.lo $elf"; target_size=64 ;; + x86_64_elf64_sol2_vec) tb="$tb elf64-x86-64.lo $elfxx_x86 elf64.lo $elf"; target_size=64 ;; x86_64_mach_o_vec) tb="$tb mach-o-x86-64.lo" ;; x86_64_pe_vec) tb="$tb pe-x86_64.lo pex64igen.lo $coff"; target_size=64 ;; - x86_64_pe_be_vec) tb="$tb pe-x86_64.lo pex64igen.lo $coff"; target_size=64 ;; + x86_64_pe_big_vec) tb="$tb pe-x86_64.lo pex64igen.lo $coff"; target_size=64 ;; x86_64_pei_vec) tb="$tb pei-x86_64.lo pex64igen.lo $coff"; target_size=64 ;; xc16x_elf32_vec) tb="$tb elf32-xc16x.lo elf32.lo $elf" ;; xgate_elf32_vec) tb="$tb elf32-xgate.lo elf32.lo $elf" ;; @@ -727,6 +708,7 @@ do xtensa_elf32_be_vec) tb="$tb xtensa-isa.lo xtensa-modules.lo elf32-xtensa.lo elf32.lo $elf" ;; xtensa_elf32_le_vec) tb="$tb xtensa-isa.lo xtensa-modules.lo elf32-xtensa.lo elf32.lo $elf" ;; z80_coff_vec) tb="$tb coff-z80.lo reloc16.lo $coffgen" ;; + z80_elf32_vec) tb="$tb elf32-z80.lo elf32.lo $elf" ;; z8k_coff_vec) tb="$tb coff-z8k.lo reloc16.lo $coff" ;; # These appear out of order in targets.c @@ -748,6 +730,10 @@ do fi done +if test "$plugins" = "yes"; then + tb="$tb plugin.lo" +fi + # Target architecture .o files. # A couple of CPUs use shorter file names to avoid problems on DOS # filesystems. @@ -795,6 +781,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 @@ -860,7 +853,7 @@ if test "${target}" = "${host}"; then ;; arm-*-freebsd* | arm-*-kfreebsd*-gnu) COREFILE='' ;; - arm-*-netbsd* | arm-*-openbsd*) + arm*-*-netbsd* | arm-*-openbsd*) COREFILE=netbsd-core.lo ;; arm-*-riscix) COREFILE=trad-core.lo ;; @@ -873,11 +866,6 @@ if test "${target}" = "${host}"; then COREFILE=netbsd-core.lo ;; - i370-*-*) - COREFILE=trad-core.lo - TRAD_HEADER='"hosts/i370linux.h"' - ;; - changequote(,)dnl i[3-7]86-sequent-bsd*) changequote([,])dnl @@ -950,67 +938,17 @@ 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*) + 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*) + m68*-*-netbsd*) COREFILE=netbsd-core.lo ;; ns32k-pc532-mach) @@ -1058,10 +996,6 @@ changequote([,])dnl 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 ;; @@ -1149,7 +1083,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