diff options
Diffstat (limited to 'arm-stmos/binutils-files/bfd')
-rw-r--r-- | arm-stmos/binutils-files/bfd/config.bfd | 1477 |
1 files changed, 1477 insertions, 0 deletions
diff --git a/arm-stmos/binutils-files/bfd/config.bfd b/arm-stmos/binutils-files/bfd/config.bfd new file mode 100644 index 0000000..fe37250 --- /dev/null +++ b/arm-stmos/binutils-files/bfd/config.bfd @@ -0,0 +1,1477 @@ +# config.bfd +# +# Copyright (C) 2012-2018 Free Software Foundation, Inc. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; see the file COPYING3. If not see +# <http://www.gnu.org/licenses/>. +# +# Convert a canonical host type into a BFD host type. +# Set shell variable targ to canonical target name, and run +# using ``. config.bfd''. +# Sets the following shell variables: +# targ_defvec Default vector for this target +# targ_selvecs Vectors to build for this target +# targ64_selvecs Vectors to build if --enable-64-bit-bfd is given +# or if host is 64 bit. +# targ_archs Architectures for this target +# targ_cflags $(CFLAGS) for this target (FIXME: pretty bogus) +# targ_underscore Whether underscores are used: yes or no + +# Part of this file is processed by targmatch.sed to generate the +# targmatch.h file. The #ifdef and #endif lines that appear below are +# copied directly into targmatch.h. + +# The binutils c++filt program wants to know whether underscores are +# stripped or not. That is why we set targ_underscore. c++filt uses +# this information to choose a default. This information is +# duplicated in the symbol_leading_char field of the BFD target +# vector, but c++filt does not deal with object files and is not +# linked against libbfd.a. It is not terribly important that c++filt +# get this right; it is just convenient. + +targ_defvec= +targ_selvecs= +targ64_selvecs= +targ_cflags= +targ_underscore=no + +# Catch obsolete configurations. +case $targ in + openrisc-*-* | or32-*-*) + echo "*** Configuration $targ is obsolete." >&2 + echo "*** Use or1k-*-elf or or1k-*-linux as the target instead" >&2 + exit 1 + ;; + powerpc-*-lynxos* | powerpc-*-windiss* | \ + null) + if test "x$enable_obsolete" != xyes; then + echo "*** Configuration $targ is obsolete." >&2 + echo "*** Specify --enable-obsolete to build it anyway." >&2 + echo "*** Support will be REMOVED in the next major release of BINUTILS," >&2 + echo "*** unless a maintainer comes forward." >&2 + exit 1 + fi;; +esac + +case $targ in + *-*-netbsdelf* | i[3-7]86-*-netbsd*-gnu* | i[3-7]86-*-knetbsd*-gnu | \ + mips*-*-irix5* | mips*-*-irix6*) + # Not obsolete + ;; + *-adobe-* | \ + *-go32-rtems* | \ + *-sony-* | \ + *-tandem-* | \ + *-*-ieee* | \ + *-*-netware* | \ + *-*-rtemsaout* | \ + *-*-rtemscoff* | \ + a29k-* | \ + arm*-*-aout | \ + arm-*-coff | \ + arm-*-netbsd* | \ + arm-*-openbsd* | \ + arm-*-oabi | \ + arm-*-riscix* | \ + arm-epoc-pe* | \ + h8300*-*-coff | \ + h8500*-*-coff | \ + hppa*-*-rtems* | \ + i[3-7]86-*-unixware* | \ + i[3-7]86-*-dgux* | \ + i[3-7]86-*-chorus* | \ + i[3-7]86-*-sysv* | \ + i[3-7]86-*-isc* | \ + i[3-7]86-*-sco* | \ + i[3-7]86-*-coff | \ + i[3-7]86-*-aix* | \ + i[3-7]86-sequent-bsd* | \ + i[3-7]86-*-freebsdaout* | i[3-7]86-*-freebsd[12].* | i[3-7]86-*-freebsd[12] | \ + i[3-7]86-*-netbsdaout* | i[3-7]86-*-netbsd* | \ + i[3-7]86-*-openbsd[0-2].* | i[3-7]86-*-openbsd3.[0-3] | \ + i[3-7]86-*-linux*aout* | \ + i[3-7]86-*-mach* | i[3-7]86-*-osf1mk* | \ + i[3-7]86-*-os9k | \ + i[3-7]86-none-* | \ + i[3-7]86-*-aout* | i[3-7]86*-*-vsta* | \ + i370-* | \ + i860-*-* | \ + i960-*-* | \ + m68*-*-*bsd* | \ + m68*-*-aout* | \ + m68*-*-coff* | \ + m68*-*-hpux* | \ + m68*-*-linux*aout* | \ + m68*-*-lynxos* | \ + m68*-*-os68k* | \ + m68*-*-psos* | \ + m68*-*-sunos* | \ + m68*-*-sysv* | \ + m68*-*-vsta* | \ + m68*-*-vxworks* | \ + m68*-apollo-* | \ + m68*-apple-aux* | \ + m68*-bull-sysv* | \ + m68*-ericsson-* | \ + m68*-motorola-sysv* | \ + m68*-netx-* | \ + m88*-*-* | \ + maxq-*-coff | \ + mips*-*-bsd* | \ + mips*-*-ecoff* | \ + mips*-*-lnews* | \ + mips*-*-mach3* | \ + mips*-*-pe* | \ + mips*-*-riscos* | \ + mips*-*-sysv* | \ + mips*-big-* | \ + mips*-dec-* | \ + mips*-sgi-* | \ + mips*el-*-rtems* | \ + sh*-*-symbianelf* | sh5*-*-* | sh64*-*-* | \ + sparc*-*-*aout* | \ + sparc*-*-chorus* | \ + sparc*-*-coff* | \ + sparc-*-lynxos* | \ + sparc-*-openbsd[0-2].* | sparc-*-openbsd3.[0-1] | \ + tahoe-*-* | \ + vax-*-bsd* | vax-*-ultrix* | vax-*-vms* | \ + w65-*-* | \ + we32k-*-* | \ + null) + echo "*** Configuration $targ is obsolete." >&2 + echo "*** Support has been REMOVED." >&2 + exit 1 + ;; +esac + +targ_cpu=`echo $targ | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +case "${targ_cpu}" in +aarch64*) targ_archs="bfd_aarch64_arch bfd_arm_arch";; +alpha*) targ_archs=bfd_alpha_arch ;; +am33_2.0*) targ_archs=bfd_mn10300_arch ;; +arc*) targ_archs=bfd_arc_arch ;; +arm*) targ_archs=bfd_arm_arch ;; +bfin*) targ_archs=bfd_bfin_arch ;; +c30*) targ_archs=bfd_tic30_arch ;; +c4x*) targ_archs=bfd_tic4x_arch ;; +c54x*) targ_archs=bfd_tic54x_arch ;; +cr16*) targ_archs=bfd_cr16_arch ;; +crisv32) targ_archs=bfd_cris_arch ;; +crx*) targ_archs=bfd_crx_arch ;; +dlx*) targ_archs=bfd_dlx_arch ;; +fido*) targ_archs=bfd_m68k_arch ;; +hppa*) targ_archs=bfd_hppa_arch ;; +i[3-7]86) targ_archs=bfd_i386_arch ;; +ia16) targ_archs=bfd_i386_arch ;; +lm32) targ_archs=bfd_lm32_arch ;; +m6811*|m68hc11*) targ_archs="bfd_m68hc11_arch bfd_m68hc12_arch bfd_m9s12x_arch bfd_m9s12xg_arch" ;; +m6812*|m68hc12*) targ_archs="bfd_m68hc12_arch bfd_m68hc11_arch bfd_m9s12x_arch bfd_m9s12xg_arch" ;; +m68*) targ_archs=bfd_m68k_arch ;; +s12z*) targ_archs=bfd_s12z_arch ;; +microblaze*) targ_archs=bfd_microblaze_arch ;; +mips*) targ_archs=bfd_mips_arch ;; +nds32*) targ_archs=bfd_nds32_arch ;; +nfp) targ_archs=bfd_nfp_arch ;; +nios2*) targ_archs=bfd_nios2_arch ;; +or1k*|or1knd*) targ_archs=bfd_or1k_arch ;; +pdp11*) targ_archs=bfd_pdp11_arch ;; +pj*) targ_archs="bfd_pj_arch bfd_i386_arch";; +powerpc*) targ_archs="bfd_rs6000_arch bfd_powerpc_arch" ;; +pru*) targ_archs=bfd_pru_arch ;; +riscv*) targ_archs=bfd_riscv_arch ;; +rs6000) targ_archs="bfd_rs6000_arch bfd_powerpc_arch" ;; +s390*) targ_archs=bfd_s390_arch ;; +sh*) targ_archs=bfd_sh_arch ;; +sparc*) targ_archs=bfd_sparc_arch ;; +spu*) targ_archs=bfd_spu_arch ;; +tilegx*) targ_archs=bfd_tilegx_arch ;; +tilepro*) targ_archs=bfd_tilepro_arch ;; +v850*) targ_archs="bfd_v850_arch bfd_v850_rh850_arch" ;; +visium*) targ_archs=bfd_visium_arch ;; +wasm32) targ_archs=bfd_wasm32_arch ;; +x86_64*) targ_archs=bfd_i386_arch ;; +xtensa*) targ_archs=bfd_xtensa_arch ;; +xgate) targ_archs=bfd_xgate_arch ;; +z80|r800) targ_archs=bfd_z80_arch ;; +z8k*) targ_archs=bfd_z8k_arch ;; +*) targ_archs=bfd_${targ_cpu}_arch ;; +esac + + +# WHEN ADDING ENTRIES TO THIS MATRIX: +# Make sure that the left side always has two dashes. Otherwise you +# can get spurious matches. Even for unambiguous cases, do this as a +# convention, else the table becomes a real mess to understand and maintain. + +case "${targ}" in + plugin) + targ_defvec=plugin_vec + targ_selvecs="plugin_vec" + ;; + +# START OF targmatch.h +#ifdef BFD64 + aarch64-*-darwin*) + targ_defvec=aarch64_mach_o_vec + targ_selvecs="arm_mach_o_vec mach_o_le_vec mach_o_be_vec mach_o_fat_vec" + targ_archs="$targ_archs bfd_i386_arch bfd_powerpc_arch bfd_rs6000_arch" + want64=true + ;; + aarch64-*-elf | aarch64-*-rtems*) + targ_defvec=aarch64_elf64_le_vec + targ_selvecs="aarch64_elf64_be_vec aarch64_elf32_le_vec aarch64_elf32_be_vec arm_elf32_le_vec arm_elf32_be_vec" + want64=true + ;; + aarch64_be-*-elf) + targ_defvec=aarch64_elf64_be_vec + targ_selvecs="aarch64_elf64_le_vec aarch64_elf32_le_vec aarch64_elf32_be_vec arm_elf32_be_vec arm_elf32_le_vec" + want64=true + ;; + aarch64-*-freebsd*) + targ_defvec=aarch64_elf64_le_vec + targ_selvecs="aarch64_elf64_be_vec arm_elf32_le_vec arm_elf32_be_vec" + want64=true + ;; + aarch64-*-fuchsia*) + targ_defvec=aarch64_elf64_le_vec + targ_selvecs="aarch64_elf64_be_vec arm_elf32_le_vec arm_elf32_be_vec" + want64=true + ;; + aarch64-*-cloudabi*) + targ_defvec=aarch64_elf64_le_cloudabi_vec + targ_selvecs=aarch64_elf64_be_cloudabi_vec + want64=true + ;; + aarch64-*-linux*) + targ_defvec=aarch64_elf64_le_vec + targ_selvecs="aarch64_elf64_be_vec aarch64_elf32_le_vec aarch64_elf32_be_vec arm_elf32_le_vec arm_elf32_be_vec" + want64=true + ;; + aarch64_be-*-linux*) + targ_defvec=aarch64_elf64_be_vec + targ_selvecs="aarch64_elf64_le_vec aarch64_elf32_le_vec aarch64_elf32_be_vec arm_elf32_be_vec arm_elf32_le_vec" + want64=true + ;; + alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu) + targ_defvec=alpha_elf64_fbsd_vec + targ_selvecs="alpha_elf64_vec alpha_ecoff_le_vec" + want64=true + # FreeBSD <= 4.0 supports only the old nonstandard way of ABI labelling. + case "${targ}" in + alpha*-*-freebsd3* | alpha*-*-freebsd4 | alpha*-*-freebsd4.0*) + targ_cflags=-DOLD_FREEBSD_ABI_LABEL ;; + esac + ;; + alpha*-*-netbsd* | alpha*-*-openbsd*) + targ_defvec=alpha_elf64_vec + targ_selvecs=alpha_ecoff_le_vec + want64=true + ;; + alpha*-*-linux*ecoff*) + targ_defvec=alpha_ecoff_le_vec + targ_selvecs=alpha_elf64_vec + want64=true + ;; + alpha*-*-linux-* | alpha*-*-elf*) + targ_defvec=alpha_elf64_vec + targ_selvecs=alpha_ecoff_le_vec + want64=true + ;; + alpha*-*-*vms*) + targ_defvec=alpha_vms_vec + targ_selvecs=alpha_vms_lib_txt_vec + want64=true + ;; + alpha*-*-*) + targ_defvec=alpha_ecoff_le_vec + want64=true + ;; + ia64*-*-freebsd* | ia64*-*-netbsd* | ia64*-*-linux-* | ia64*-*-elf* | ia64*-*-kfreebsd*-gnu) + targ_defvec=ia64_elf64_le_vec + targ_selvecs="ia64_elf64_be_vec ia64_pei_vec" + want64=true + ;; + ia64*-*-hpux*) + targ_defvec=ia64_elf32_hpux_be_vec + targ_selvecs="ia64_elf64_hpux_be_vec" + want64=true + ;; + ia64*-*-*vms*) + targ_defvec=ia64_elf64_vms_vec + targ_selvecs=alpha_vms_lib_txt_vec + want64=true + ;; +#endif /* BFD64 */ + + am33_2.0-*-linux*) + targ_defvec=am33_elf32_linux_vec + ;; + + arc*eb-*-elf* | arc*eb-*-linux*) + targ_defvec=arc_elf32_be_vec + targ_selvecs=arc_elf32_le_vec + ;; + + arc*-*-elf* | arc*-*-linux*) + targ_defvec=arc_elf32_le_vec + targ_selvecs=arc_elf32_be_vec + ;; + + arm-*-darwin*) + targ_defvec=arm_mach_o_vec + targ_selvecs="mach_o_le_vec mach_o_be_vec mach_o_fat_vec" + targ_archs="$targ_archs bfd_i386_arch bfd_powerpc_arch bfd_rs6000_arch" + ;; + arm-*-fuchsia*) + targ_defvec=arm_elf32_le_vec + targ_selvecs="arm_elf32_be_vec" + ;; + arm-*-nacl*) + targ_defvec=arm_elf32_nacl_le_vec + targ_selvecs="arm_elf32_nacl_be_vec i386_elf32_nacl_vec" + targ64_selvecs="x86_64_elf32_nacl_vec x86_64_elf64_nacl_vec" + targ_archs="$targ_archs bfd_i386_arch" + ;; + armeb-*-nacl*) + targ_defvec=arm_elf32_nacl_be_vec + targ_selvecs="arm_elf32_nacl_le_vec i386_elf32_nacl_vec" + targ64_selvecs="x86_64_elf32_nacl_vec x86_64_elf64_nacl_vec" + targ_archs="$targ_archs bfd_i386_arch" + ;; + armeb-*-netbsdelf*) + targ_defvec=arm_elf32_be_vec + targ_selvecs="arm_elf32_le_vec" + ;; + arm-*-netbsdelf*) + targ_defvec=arm_elf32_le_vec + targ_selvecs="arm_elf32_be_vec" + ;; + arm-*-nto* | nto*arm*) + targ_defvec=arm_elf32_le_vec + targ_selvecs=arm_elf32_be_vec + targ_cflags=-D__QNXTARGET__ + ;; + arm-wince-pe | arm-*-wince | arm*-*-mingw32ce* | arm*-*-cegcc*) + targ_defvec=arm_pe_wince_le_vec + targ_selvecs="arm_pe_wince_le_vec arm_pe_wince_be_vec arm_pei_wince_le_vec arm_pei_wince_be_vec" + targ_underscore=no + targ_cflags="-DARM_WINCE -DARM_COFF_BUGFIX" + ;; + arm-*-pe*) + targ_defvec=arm_pe_le_vec + targ_selvecs="arm_pe_le_vec arm_pe_be_vec arm_pei_le_vec arm_pei_be_vec" + targ_underscore=yes + ;; + arm-*-phoenix*) + targ_defvec=arm_elf32_le_vec + targ_selvecs=arm_elf32_be_vec + ;; + armeb-*-elf | arm*b-*-freebsd* | arm*b-*-linux-* | armeb-*-eabi*) + targ_defvec=arm_elf32_be_vec + targ_selvecs=arm_elf32_le_vec + ;; + arm-*-kaos*) + targ_defvec=arm_elf32_le_vec + targ_selvecs=arm_elf32_be_vec + ;; + arm-*-elf | arm*-*-freebsd* | arm*-*-linux-* | arm*-*-conix* | \ + arm*-*-uclinux* | arm-*-kfreebsd*-gnu | \ + arm*-*-eabi* | arm-*-rtems* | arm*-*-uclinuxfdpiceabi) + targ_defvec=arm_elf32_le_vec + targ_selvecs="arm_elf32_fdpic_le_vec arm_elf32_be_vec arm_elf32_fdpic_be_vec" + ;; + arm-*-stmos*) + targ_defvec=arm_elf32_le_vec + targ_selvecs="arm_elf32_fdpic_le_vec arm_elf32_be_vec arm_elf32_fdpic_be_vec" + ;; + arm*-*-vxworks | arm*-*-windiss) + targ_defvec=arm_elf32_vxworks_le_vec + targ_selvecs=arm_elf32_vxworks_be_vec + ;; + arm*-*-symbianelf*) + targ_defvec=arm_elf32_symbian_le_vec + targ_selvecs=arm_elf32_symbian_be_vec + ;; + arm9e-*-elf) + targ_defvec=arm_elf32_le_vec + targ_selvecs=arm_elf32_be_vec + ;; + + avr-*-*) + targ_defvec=avr_elf32_vec + ;; + + bfin-*-*) + targ_defvec=bfin_elf32_vec + targ_selvecs=bfin_elf32_fdpic_vec + targ_underscore=yes + ;; + + c30-*-*aout* | tic30-*-*aout*) + targ_defvec=tic30_aout_vec + ;; + c30-*-*coff* | tic30-*-*coff*) + targ_defvec=tic30_coff_vec + ;; + + c4x-*-*coff* | tic4x-*-*coff*) + targ_defvec=tic4x_coff1_vec + targ_selvecs="tic4x_coff1_beh_vec tic4x_coff2_vec tic4x_coff2_beh_vec tic4x_coff0_vec tic4x_coff0_beh_vec" + targ_underscore=yes + ;; + + c54x*-*-*coff* | tic54x-*-*coff*) + targ_defvec=tic54x_coff1_vec + targ_selvecs="tic54x_coff1_beh_vec tic54x_coff2_vec tic54x_coff2_beh_vec tic54x_coff0_vec tic54x_coff0_beh_vec" + targ_underscore=yes + ;; + + cr16-*-elf* | cr16*-*-uclinux*) + targ_defvec=cr16_elf32_vec + targ_underscore=yes + ;; + + cr16c-*-elf*) + targ_defvec=cr16c_elf32_vec + targ_underscore=yes + ;; + +#ifdef BFD64 + cris-*-* | crisv32-*-*) + targ_defvec=cris_aout_vec + targ_selvecs="cris_elf32_us_vec cris_elf32_vec" + case "${targ}" in + *-*-linux*) ;; + *) targ_underscore=yes ;; + esac + want64=true + ;; +#endif + + crx-*-elf*) + targ_defvec=crx_elf32_vec + targ_underscore=yes + ;; + + d10v-*-*) + targ_defvec=d10v_elf32_vec + ;; + + dlx-*-elf*) + targ_defvec=dlx_elf32_be_vec + targ_selvecs="dlx_elf32_be_vec" + ;; + + d30v-*-*) + targ_defvec=d30v_elf32_vec + ;; + + epiphany-*-*) + targ_defvec=epiphany_elf32_vec + targ_underscore=yes + ;; + + fido-*-elf* ) + targ_defvec=m68k_elf32_vec + ;; + + fr30-*-elf) + targ_defvec=fr30_elf32_vec + ;; + + frv-*-elf) + targ_defvec=frv_elf32_vec + targ_selvecs=frv_elf32_fdpic_vec + ;; + + frv-*-*linux*) + targ_defvec=frv_elf32_fdpic_vec + targ_selvecs=frv_elf32_vec + ;; + + moxie-*-elf | moxie-*-rtems* | moxie-*-uclinux) + targ_defvec=moxie_elf32_be_vec + targ_selvecs=moxie_elf32_le_vec + ;; + + moxie-*-moxiebox*) + targ_defvec=moxie_elf32_le_vec + ;; + + h8300*-*-elf | h8300*-*-rtems*) + targ_defvec=h8300_elf32_vec + targ_underscore=yes + ;; + + h8300*-*-linux*) + targ_defvec=h8300_elf32_linux_vec + ;; + +#ifdef BFD64 + hppa*64*-*-linux-*) + targ_defvec=hppa_elf64_linux_vec + targ_selvecs=hppa_elf64_vec + want64=true + ;; + hppa*64*-*-hpux11*) + targ_defvec=hppa_elf64_vec + targ_selvecs=hppa_elf64_linux_vec + targ_cflags=-DHPUX_LARGE_AR_IDS + want64=true + ;; +#endif + + hppa*-*-linux-*) + targ_defvec=hppa_elf32_linux_vec + targ_selvecs=hppa_elf32_vec + ;; + hppa*-*-netbsd*) + targ_defvec=hppa_elf32_nbsd_vec + targ_selvecs="hppa_elf32_vec hppa_elf32_linux_vec" + ;; + hppa*-*-*elf* | hppa*-*-lites* | hppa*-*-sysv4* | hppa*-*-openbsd*) + targ_defvec=hppa_elf32_vec + targ_selvecs=hppa_elf32_linux_vec + ;; + + hppa*-*-bsd*) + targ_defvec=hppa_som_vec + targ_selvecs=hppa_elf32_vec + ;; + hppa*-*-hpux* | hppa*-*-hiux* | hppa*-*-mpeix*) + targ_defvec=hppa_som_vec + ;; + hppa*-*-osf*) + targ_defvec=hppa_som_vec + targ_selvecs=hppa_elf32_vec + ;; + + i[3-7]86-*-elf* | i[3-7]86-*-rtems*) + targ_defvec=i386_elf32_vec + targ_selvecs="iamcu_elf32_vec i386_coff_vec" + ;; + i[3-7]86-*-solaris2*) + targ_defvec=i386_elf32_sol2_vec + targ_selvecs="iamcu_elf32_vec i386_coff_vec i386_pei_vec" + targ64_selvecs="x86_64_elf64_sol2_vec l1om_elf64_vec k1om_elf64_vec x86_64_pei_vec" + want64=true + ;; +#ifdef BFD64 + x86_64-*-solaris2*) + targ_defvec=i386_elf32_sol2_vec + targ_selvecs="x86_64_elf64_sol2_vec l1om_elf64_vec k1om_elf64_vec iamcu_elf32_vec i386_coff_vec i386_pei_vec x86_64_pei_vec" + want64=true + ;; +#endif + i[3-7]86-*-kaos*) + targ_defvec=i386_elf32_vec + targ_selvecs=i386_elf32_vec + ;; + i[3-7]86-*-nto*) + targ_defvec=i386_elf32_vec + targ_selvecs="iamcu_elf32_vec i386_coff_vec" + ;; + i[3-7]86-*-aros*) + targ_defvec=i386_elf32_vec + targ_selvecs=iamcu_elf32_vec + ;; + i[3-7]86-*-dicos*) + targ_defvec=i386_elf32_vec + targ_selvecs=iamcu_elf32_vec + targ64_selvecs="x86_64_elf64_vec l1om_elf64_vec k1om_elf64_vec" + ;; + *-*-msdosdjgpp* | *-*-go32* ) + targ_defvec=i386_coff_go32_vec + targ_selvecs="i386_coff_go32stubbed_vec i386_aout_vec" + ;; + i[3-7]86-*-darwin* | i[3-7]86-*-macos10* | i[3-7]86-*-rhapsody*) + targ_defvec=i386_mach_o_vec + targ_selvecs="mach_o_le_vec mach_o_be_vec mach_o_fat_vec pef_vec pef_xlib_vec sym_vec" + targ64_selvecs=x86_64_mach_o_vec + targ_archs="$targ_archs bfd_powerpc_arch bfd_rs6000_arch" + ;; + i[3-7]86-*-bsd*) + targ_defvec=i386_aout_bsd_vec + targ_underscore=yes + ;; + i[3-7]86-*-dragonfly*) + targ_defvec=i386_elf32_vec + targ_selvecs=iamcu_elf32_vec + targ64_selvecs="x86_64_elf64_vec l1om_elf64_vec k1om_elf64_vec" + ;; + i[3-7]86-*-freebsd* | i[3-7]86-*-kfreebsd*-gnu) + targ_defvec=i386_elf32_fbsd_vec + targ_selvecs="i386_elf32_vec iamcu_elf32_vec i386_pei_vec i386_coff_vec" + targ64_selvecs="x86_64_elf64_fbsd_vec x86_64_elf64_vec x86_64_pei_vec l1om_elf64_vec l1om_elf64_fbsd_vec k1om_elf64_vec k1om_elf64_fbsd_vec" + # FreeBSD <= 4.0 supports only the old nonstandard way of ABI labelling. + case "${targ}" in + i[3-7]86-*-freebsd3* | i[3-7]86-*-freebsd4 | i[3-7]86-*-freebsd4.0*) + targ_cflags=-DOLD_FREEBSD_ABI_LABEL ;; + esac + ;; + i[3-7]86-*-netbsdelf* | i[3-7]86-*-netbsd*-gnu* | i[3-7]86-*-knetbsd*-gnu) + targ_defvec=i386_elf32_vec + targ_selvecs="iamcu_elf32_vec" + targ64_selvecs="x86_64_elf64_vec l1om_elf64_vec k1om_elf64_vec" + ;; + i[3-7]86-*-netbsdpe*) + targ_defvec=i386_pe_vec + targ_selvecs="i386_pe_vec i386_pei_vec i386_elf32_vec iamcu_elf32_vec" + ;; + i[3-7]86-*-openbsd*) + targ_defvec=i386_elf32_vec + targ_selvecs="iamcu_elf32_vec" + ;; + i[3-7]86-*-linux-*) + targ_defvec=i386_elf32_vec + targ_selvecs="iamcu_elf32_vec i386_pei_vec" + targ64_selvecs="x86_64_elf64_vec x86_64_elf32_vec x86_64_pei_vec l1om_elf64_vec k1om_elf64_vec" + ;; + i[3-7]86-*-nacl*) + targ_defvec=i386_elf32_nacl_vec + targ_selvecs="arm_elf32_nacl_be_vec arm_elf32_nacl_le_vec" + targ64_selvecs="x86_64_elf64_nacl_vec x86_64_elf32_nacl_vec" + targ_archs="$targ_archs bfd_arm_arch" + ;; + i[3-7]86-*-redox*) + targ_defvec=i386_elf32_vec + targ_selvecs= + targ64_selvecs=x86_64_elf64_vec + ;; +#ifdef BFD64 + x86_64-*-cloudabi*) + targ_defvec=x86_64_elf64_cloudabi_vec + want64=true + ;; + x86_64-*-darwin*) + targ_defvec=x86_64_mach_o_vec + targ_selvecs="i386_mach_o_vec mach_o_le_vec mach_o_be_vec mach_o_fat_vec pef_vec pef_xlib_vec sym_vec" + targ_archs="$targ_archs bfd_powerpc_arch bfd_rs6000_arch" + want64=true + ;; + x86_64-*-dicos*) + targ_defvec=x86_64_elf64_vec + targ_selvecs="i386_elf32_vec iamcu_elf32_vec l1om_elf64_vec k1om_elf64_vec" + want64=true + ;; + x86_64-*-elf* | x86_64-*-rtems* | x86_64-*-fuchsia) + targ_defvec=x86_64_elf64_vec + targ_selvecs="i386_elf32_vec iamcu_elf32_vec x86_64_elf32_vec l1om_elf64_vec k1om_elf64_vec" + case "${targ}" in + x86_64-*-rtems*) + targ_selvecs="${targ_selvecs} x86_64_pei_vec" + esac + want64=true + ;; + x86_64-*-dragonfly*) + targ_defvec=x86_64_elf64_vec + targ_selvecs="i386_elf32_vec iamcu_elf32_vec l1om_elf64_vec k1om_elf64_vec" + want64=true + ;; + x86_64-*-freebsd* | x86_64-*-kfreebsd*-gnu) + targ_defvec=x86_64_elf64_fbsd_vec + targ_selvecs="i386_elf32_fbsd_vec iamcu_elf32_vec i386_coff_vec i386_pei_vec x86_64_pei_vec i386_elf32_vec x86_64_elf64_vec l1om_elf64_vec l1om_elf64_fbsd_vec k1om_elf64_vec k1om_elf64_fbsd_vec" + want64=true + ;; + x86_64-*-netbsd* | x86_64-*-openbsd*) + targ_defvec=x86_64_elf64_vec + targ_selvecs="i386_elf32_vec iamcu_elf32_vec i386_coff_vec i386_pei_vec x86_64_pei_vec l1om_elf64_vec k1om_elf64_vec" + want64=true + ;; + x86_64-*-linux-*) + targ_defvec=x86_64_elf64_vec + targ_selvecs="i386_elf32_vec iamcu_elf32_vec x86_64_elf32_vec i386_pei_vec x86_64_pei_vec l1om_elf64_vec k1om_elf64_vec" + want64=true + ;; + x86_64-*-nacl*) + targ_defvec=x86_64_elf32_nacl_vec + targ_selvecs="i386_elf32_nacl_vec x86_64_elf64_nacl_vec arm_elf32_nacl_be_vec arm_elf32_nacl_le_vec" + targ_archs="$targ_archs bfd_arm_arch" + want64=true + ;; + x86_64-*-mingw* | x86_64-*-pe | x86_64-*-pep | x86_64-*-cygwin) + targ_defvec=x86_64_pe_vec + targ_selvecs="x86_64_pe_vec x86_64_pei_vec x86_64_pe_be_vec x86_64_elf64_vec l1om_elf64_vec k1om_elf64_vec i386_pe_vec i386_pei_vec i386_elf32_vec iamcu_elf32_vec" + want64=true + targ_underscore=no + ;; + x86_64-*-rdos*) + targ_defvec=x86_64_elf64_vec + want64=true + ;; + x86_64-*-redox*) + targ_defvec=x86_64_elf64_vec + targ_selvecs=i386_elf32_vec + want64=true + ;; +#endif + i[3-7]86-*-lynxos*) + targ_defvec=i386_elf32_vec + targ_selvecs="iamcu_elf32_vec i386_coff_lynx_vec i386_aout_lynx_vec" + ;; + i[3-7]86-*-gnu*) + targ_defvec=i386_elf32_vec + targ_selvecs=iamcu_elf32_vec + ;; + i[3-7]86-*-msdos*) + targ_defvec=i386_aout_vec + targ_selvecs=i386_msdos_vec + ;; + i[3-7]86-*-moss*) + targ_defvec=i386_elf32_vec + targ_selvecs="iamcu_elf32_vec i386_msdos_vec i386_aout_vec" + ;; + i[3-7]86-*-beospe*) + targ_defvec=i386_pe_vec + targ_selvecs="i386_pe_vec i386_pei_vec" + ;; + i[3-7]86-*-beoself* | i[3-7]86-*-beos*) + targ_defvec=i386_elf32_vec + targ_selvecs="iamcu_elf32_vec i386_pe_vec i386_pei_vec" + ;; + i[3-7]86-*-interix*) + targ_defvec=i386_pei_vec + targ_selvecs="i386_pe_vec" + # FIXME: This should eventually be checked at runtime. + targ_cflags=-DSTRICT_PE_FORMAT + ;; + i[3-7]86-*-rdos*) + targ_defvec=i386_elf32_vec + targ_selvecs="iamcu_elf32_vec i386_coff_vec" + ;; + i[3-7]86-*-mingw32* | i[3-7]86-*-cygwin* | i[3-7]86-*-winnt | i[3-7]86-*-pe) + targ_defvec=i386_pe_vec + targ_selvecs="i386_pe_vec i386_pei_vec i386_elf32_vec iamcu_elf32_vec" + targ_underscore=yes + ;; + i[3-7]86-*-vxworks*) + targ_defvec=i386_elf32_vxworks_vec + targ_underscore=yes + ;; + i[3-7]86-*-chaos) + targ_defvec=i386_elf32_vec + targ_selfvecs="iamcu_elf32_vec i386chaos_vec" + ;; + + ia16-*-elf) + targ_defvec=i386_elf32_vec + targ_selvecs="i386_msdos_vec i386_aout_vec" + ;; + + ip2k-*-elf) + targ_defvec=ip2k_elf32_vec + targ_underscore=yes + ;; + + iq2000-*-elf) + targ_defvec=iq2000_elf32_vec + ;; + + lm32-*-elf | lm32-*-rtems*) + targ_defvec=lm32_elf32_vec + targ_selvecs=lm32_elf32_fdpic_vec + ;; + + lm32-*-*linux*) + targ_defvec=lm32_elf32_fdpic_vec + targ_selvecs=lm32_elf32_vec + ;; + + m32c-*-elf | m32c-*-rtems*) + targ_defvec=m32c_elf32_vec + targ_underscore=yes + ;; + + m32r*le-*-linux*) + targ_defvec=m32r_elf32_linux_le_vec + targ_selvecs="m32r_elf32_linux_vec m32r_elf32_linux_le_vec" + ;; + m32r*-*-linux*) + targ_defvec=m32r_elf32_linux_vec + targ_selvecs="m32r_elf32_linux_vec m32r_elf32_linux_le_vec" + ;; + m32r*le-*-*) + targ_defvec=m32r_elf32_le_vec + targ_selvecs="m32r_elf32_vec m32r_elf32_le_vec" + ;; + m32r-*-*) + targ_defvec=m32r_elf32_vec + ;; + + m68hc11-*-* | m6811-*-*) + targ_defvec=m68hc11_elf32_vec + targ_selvecs="m68hc11_elf32_vec m68hc12_elf32_vec" + ;; + m68hc12-*-* | m6812-*-*) + targ_defvec=m68hc12_elf32_vec + targ_selvecs="m68hc11_elf32_vec m68hc12_elf32_vec" + ;; + + m68*-*-*) + targ_defvec=m68k_elf32_vec + ;; + + s12z-*-*) + targ_defvec=s12z_elf32_vec + ;; + mcore-*-elf) + targ_defvec=mcore_elf32_be_vec + targ_selvecs="mcore_elf32_be_vec mcore_elf32_le_vec" + ;; + mcore-*-pe) + targ_defvec=mcore_pe_be_vec + targ_selvecs="mcore_pe_be_vec mcore_pe_le_vec mcore_pei_be_vec mcore_pei_le_vec" + ;; + + mep-*-elf) + targ_defvec=mep_elf32_vec + targ_selvecs=mep_elf32_le_vec + ;; + + metag-*-*) + targ_defvec=metag_elf32_vec + targ_underscore=yes + ;; + + microblazeel*-*) + targ_defvec=microblaze_elf32_le_vec + targ_selvecs=microblaze_elf32_vec + ;; + + microblaze*-*) + targ_defvec=microblaze_elf32_vec + targ_selvecs=microblaze_elf32_le_vec + ;; + +#ifdef BFD64 + mips*el-*-netbsd*) + targ_defvec=mips_elf32_trad_le_vec + targ_selvecs="mips_elf32_trad_be_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec mips_ecoff_le_vec mips_ecoff_be_vec" + ;; + mips*-*-netbsd*) + targ_defvec=mips_elf32_trad_be_vec + targ_selvecs="mips_elf32_trad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec mips_ecoff_be_vec mips_ecoff_le_vec" + ;; + mips*-*-irix6*) + targ_defvec=mips_elf32_n_be_vec + targ_selvecs="mips_elf32_n_le_vec mips_elf32_be_vec mips_elf32_le_vec mips_elf64_be_vec mips_elf64_le_vec" + ;; + mips64*-ps2-elf*) + targ_defvec=mips_elf32_n_le_vec + targ_selvecs="mips_elf32_n_le_vec mips_elf32_n_be_vec mips_elf32_be_vec mips_elf32_le_vec mips_elf64_be_vec mips_elf64_le_vec" + ;; + mips*-ps2-elf*) + targ_defvec=mips_elf32_le_vec + targ_selvecs="mips_elf32_be_vec mips_elf32_le_vec mips_elf64_be_vec mips_elf64_le_vec" + ;; + mips*-*-irix5*) + targ_defvec=mips_elf32_be_vec + targ_selvecs="mips_elf32_le_vec mips_ecoff_be_vec mips_ecoff_le_vec" + ;; + mips*el-*-vxworks*) + targ_defvec=mips_elf32_vxworks_le_vec + targ_selvecs="mips_elf32_le_vec mips_elf32_vxworks_be_vec mips_elf32_be_vec mips_elf64_be_vec mips_elf64_le_vec" + ;; + mips*-*-vxworks*) + targ_defvec=mips_elf32_vxworks_be_vec + targ_selvecs="mips_elf32_be_vec mips_elf32_vxworks_le_vec mips_elf32_be_vec mips_elf64_be_vec mips_elf64_le_vec" + ;; + mips*el-sde-elf*) + targ_defvec=mips_elf32_trad_le_vec + targ_selvecs="mips_elf32_trad_be_vec mips_elf32_ntrad_be_vec mips_elf32_ntrad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec" + ;; + mips*-sde-elf* | mips*-mti-elf* | mips*-img-elf*) + targ_defvec=mips_elf32_trad_be_vec + targ_selvecs="mips_elf32_trad_le_vec mips_elf32_ntrad_be_vec mips_elf32_ntrad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec" + ;; + mips*el-*-elf* | mips*-*-chorus*) + targ_defvec=mips_elf32_le_vec + targ_selvecs="mips_elf32_be_vec mips_elf64_be_vec mips_elf64_le_vec" + ;; + mips*-*-elf* | mips*-*-rtems* | mips*-*-windiss | mips*-*-none) + targ_defvec=mips_elf32_be_vec + targ_selvecs="mips_elf32_le_vec mips_elf64_be_vec mips_elf64_le_vec" + ;; + mips64*-*-openbsd*) + targ_defvec=mips_elf64_trad_be_vec + targ_selvecs="mips_elf32_ntrad_le_vec mips_elf32_ntrad_be_vec mips_elf32_trad_le_vec mips_elf32_trad_be_vec mips_elf64_trad_le_vec" + ;; + mips*el-*-openbsd*) + targ_defvec=mips_elf32_le_vec + targ_selvecs="mips_elf32_be_vec mips_elf64_be_vec mips_elf64_le_vec mips_ecoff_le_vec mips_ecoff_be_vec" + ;; + mips*-*-openbsd*) + targ_defvec=mips_elf32_be_vec + targ_selvecs="mips_elf32_le_vec mips_elf64_be_vec mips_elf64_le_vec mips_ecoff_be_vec mips_ecoff_le_vec" + ;; + mips64*el-*-linux*) + targ_defvec=mips_elf32_ntrad_le_vec + targ_selvecs="mips_elf32_ntrad_be_vec mips_elf32_trad_le_vec mips_elf32_trad_be_vec mips_elf64_trad_le_vec mips_elf64_trad_be_vec" + ;; + mips64*-*-linux*) + targ_defvec=mips_elf32_ntrad_be_vec + targ_selvecs="mips_elf32_ntrad_le_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec" + ;; + mips*el-*-linux*) + targ_defvec=mips_elf32_trad_le_vec + targ_selvecs="mips_elf32_trad_be_vec mips_ecoff_le_vec mips_ecoff_be_vec mips_elf32_ntrad_le_vec mips_elf64_trad_le_vec mips_elf32_ntrad_be_vec mips_elf64_trad_be_vec" + ;; + mips*-*-linux*) + targ_defvec=mips_elf32_trad_be_vec + targ_selvecs="mips_elf32_trad_le_vec mips_ecoff_be_vec mips_ecoff_le_vec mips_elf32_ntrad_be_vec mips_elf64_trad_be_vec mips_elf32_ntrad_le_vec mips_elf64_trad_le_vec" + ;; + mips64*el-*-freebsd* | mips64*el-*-kfreebsd*-gnu) + # FreeBSD vectors + targ_defvec=mips_elf32_ntradfbsd_le_vec + targ_selvecs="mips_elf32_ntradfbsd_be_vec mips_elf32_tradfbsd_le_vec mips_elf32_tradfbsd_be_vec mips_elf64_tradfbsd_le_vec mips_elf64_tradfbsd_be_vec" + # Generic vectors + targ_selvecs="${targ_selvecs} mips_elf32_ntrad_le_vec mips_elf32_ntrad_be_vec mips_elf32_trad_le_vec mips_elf32_trad_be_vec mips_elf64_trad_le_vec mips_elf64_trad_be_vec" + ;; + mips64*-*-freebsd* | mips64*-*-kfreebsd*-gnu) + # FreeBSD vectors + targ_defvec=mips_elf32_ntradfbsd_be_vec + targ_selvecs="mips_elf32_ntradfbsd_le_vec mips_elf32_tradfbsd_be_vec mips_elf32_tradfbsd_le_vec mips_elf64_tradfbsd_be_vec mips_elf64_tradfbsd_le_vec" + # Generic vectors + targ_selvecs="${targ_selvecs} mips_elf32_ntrad_be_vec mips_elf32_ntrad_le_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec" + ;; + mips*el-*-freebsd* | mips*el-*-kfreebsd*-gnu) + # FreeBSD vectors + targ_defvec=mips_elf32_tradfbsd_le_vec + targ_selvecs="mips_elf32_tradfbsd_be_vec mips_elf32_ntradfbsd_le_vec mips_elf64_tradfbsd_le_vec mips_elf32_ntradfbsd_be_vec mips_elf64_tradfbsd_be_vec" + # Generic vectors + targ_selvecs="${targ_selvecs} mips_elf32_trad_le_vec mips_elf32_trad_be_vec mips_elf32_ntrad_le_vec mips_elf64_trad_le_vec mips_elf32_ntrad_be_vec mips_elf64_trad_be_vec" + ;; + mips*-*-freebsd* | mips*-*-kfreebsd*-gnu) + # FreeBSD vectors + targ_defvec=mips_elf32_tradfbsd_be_vec + targ_selvecs="mips_elf32_tradfbsd_le_vec mips_elf32_ntradfbsd_be_vec mips_elf64_tradfbsd_be_vec mips_elf32_ntradfbsd_le_vec mips_elf64_tradfbsd_le_vec" + # Generic vectors + targ_selvecs="${targ_selvecs} mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf32_ntrad_be_vec mips_elf64_trad_be_vec mips_elf32_ntrad_le_vec mips_elf64_trad_le_vec" + ;; + mmix-*-*) + targ_defvec=mmix_elf64_vec + targ_selvecs=mmix_mmo_vec + want64=true + ;; +#endif + mn10200-*-*) + targ_defvec=mn10200_elf32_vec + targ_underscore=yes + ;; + + mn10300-*-*) + targ_defvec=mn10300_elf32_vec + targ_underscore=yes + ;; + + mt-*-elf) + targ_defvec=mt_elf32_vec + ;; + + msp430-*-*) + targ_defvec=msp430_elf32_vec + targ_selvecs=msp430_elf32_ti_vec + ;; + + nds32*le-*-linux*) + targ_defvec=nds32_elf32_linux_le_vec + targ_selvecs=nds32_elf32_linux_be_vec + ;; + + nds32*be-*-linux*) + targ_defvec=nds32_elf32_linux_be_vec + targ_selvecs=nds32_elf32_linux_le_vec + ;; + + nds32*le-*-*) + targ_defvec=nds32_elf32_le_vec + targ_selvecs=nds32_elf32_be_vec + ;; + + nds32*be-*-*) + targ_defvec=nds32_elf32_be_vec + targ_selvecs=nds32_elf32_le_vec + ;; + +#ifdef BFD64 + nfp-*-*) + targ_defvec=nfp_elf64_vec + ;; +#endif + + ns32k-pc532-mach* | ns32k-pc532-ux*) + targ_defvec=ns32k_aout_pc532mach_vec + targ_underscore=yes + ;; + ns32k-*-netbsd* | ns32k-*-lites* | ns32k-*-openbsd*) + targ_defvec=ns32k_aout_pc532nbsd_vec + targ_underscore=yes + ;; + + nios2eb-*-*) + targ_defvec=nios2_elf32_be_vec + targ_selvecs=nios2_elf32_le_vec + ;; + + nios2el-*-*) + targ_defvec=nios2_elf32_le_vec + targ_selvecs=nios2_elf32_be_vec + ;; + + nios2-*-*) + targ_defvec=nios2_elf32_le_vec + targ_selvecs=nios2_elf32_be_vec + ;; + + or1k-*-elf | or1k-*-linux* | or1k-*-rtems*) + targ_defvec=or1k_elf32_vec + ;; + + or1knd-*-elf | or1knd-*-linux* | or1knd-*-rtems*) + targ_defvec=or1k_elf32_vec + ;; + + pdp11-*-*) + targ_defvec=pdp11_aout_vec + targ_underscore=yes + ;; + + pj-*-*) + targ_defvec=pj_elf32_vec + targ_selvecs="pj_elf32_vec pj_elf32_le_vec" + ;; + + pjl-*-*) + targ_defvec=pj_elf32_le_vec + targ_selvecs="pj_elf32_le_vec pj_elf32_vec i386_elf32_vec iamcu_elf32_vec" + ;; + + powerpc-*-aix5.[01] | rs6000-*-aix5.[01]) + targ_defvec=rs6000_xcoff_vec + targ_selvecs="rs6000_xcoff64_aix_vec" + want64=true + ;; +#ifdef BFD64 + powerpc64-*-aix5.[01] | rs6000-*-aix5.[01]) + targ_defvec=rs6000_xcoff64_aix_vec + targ_selvecs="rs6000_xcoff_vec" + want64=true + ;; +#endif + powerpc-*-aix[5-9]* | rs6000-*-aix[5-9]*) + targ_cflags=-DAIX_WEAK_SUPPORT + targ_defvec=rs6000_xcoff_vec + targ_selvecs="rs6000_xcoff64_aix_vec" + want64=true + ;; +#ifdef BFD64 + powerpc64-*-aix[5-9]* | rs6000-*-aix[5-9]*) + targ_cflags=-DAIX_WEAK_SUPPORT + targ_defvec=rs6000_xcoff64_aix_vec + targ_selvecs="rs6000_xcoff_vec" + want64=true + ;; +#endif + + powerpc-*-aix* | powerpc-*-beos* | rs6000-*-*) + targ_defvec=rs6000_xcoff_vec + targ64_selvecs=rs6000_xcoff64_vec + case "${targ}" in + *-*-aix4.[3456789]* | *-*-aix[56789]*) + want64=true;; + *) + targ_cflags=-DSMALL_ARCHIVE;; + esac + ;; +#ifdef BFD64 + powerpc64-*-aix*) + targ_defvec=rs6000_xcoff64_vec + targ_selvecs=rs6000_xcoff_vec + want64=true + ;; + powerpc64-*-freebsd*) + targ_defvec=powerpc_elf64_fbsd_vec + targ_selvecs="powerpc_elf64_vec powerpc_elf32_vec powerpc_elf32_fbsd_vec powerpc_elf32_le_vec rs6000_xcoff_vec rs6000_xcoff64_vec rs6000_xcoff64_aix_vec" + want64=true + ;; + powerpc64-*-elf* | powerpc-*-elf64* | powerpc64-*-linux* | \ + powerpc64-*-*bsd*) + targ_defvec=powerpc_elf64_vec + targ_selvecs="powerpc_elf64_le_vec powerpc_elf32_vec powerpc_elf32_le_vec rs6000_xcoff_vec rs6000_xcoff64_vec rs6000_xcoff64_aix_vec" + want64=true + ;; + powerpc64le-*-elf* | powerpcle-*-elf64* | powerpc64le-*-linux* | \ + powerpc64le-*-*bsd*) + targ_defvec=powerpc_elf64_le_vec + targ_selvecs="powerpc_elf64_vec powerpc_elf32_le_vec powerpc_elf32_vec rs6000_xcoff_vec rs6000_xcoff64_vec rs6000_xcoff64_aix_vec" + want64=true + ;; +#endif + powerpc-*-*freebsd*) + targ_defvec=powerpc_elf32_fbsd_vec + targ_selvecs="rs6000_xcoff_vec powerpc_elf32_vec powerpc_elf32_le_vec powerpc_boot_vec" + targ64_selvecs="powerpc_elf64_vec powerpc_elf64_le_vec powerpc_elf64_fbsd_vec" + ;; + powerpc-*-*bsd* | powerpc-*-elf* | powerpc-*-sysv4* | powerpc-*-eabi* | \ + powerpc-*-solaris2* | powerpc-*-linux-* | powerpc-*-rtems* | \ + powerpc-*-chorus*) + targ_defvec=powerpc_elf32_vec + targ_selvecs="rs6000_xcoff_vec powerpc_elf32_le_vec powerpc_boot_vec" + targ64_selvecs="powerpc_elf64_vec powerpc_elf64_le_vec" + ;; + powerpc-*-kaos*) + targ_defvec=powerpc_elf32_vec + targ_selvecs="powerpc_elf32_le_vec powerpc_boot_vec" + targ64_selvecs="powerpc_elf64_vec powerpc_elf64_le_vec" + ;; + powerpc-*-darwin* | powerpc-*-macos10* | powerpc-*-rhapsody*) + targ_defvec=mach_o_be_vec + targ_selvecs="mach_o_be_vec mach_o_le_vec mach_o_fat_vec pef_vec pef_xlib_vec sym_vec" + targ_archs="$targ_archs bfd_i386_arch" + ;; + powerpc-*-macos*) + targ_defvec=powerpc_xcoff_vec + ;; + powerpc-*-lynxos*) + targ_defvec=powerpc_elf32_vec + targ_selvecs="rs6000_xcoff_vec" + targ_cflags=-DSMALL_ARCHIVE + ;; + powerpc-*-nto*) + targ_defvec=powerpc_elf32_vec + targ_selvecs="rs6000_xcoff_vec powerpc_elf32_le_vec powerpc_boot_vec" + ;; + powerpc-*-vxworks* | powerpc-*-windiss*) + targ_defvec=powerpc_elf32_vxworks_vec + targ_selvecs="rs6000_xcoff_vec powerpc_elf32_vec powerpc_elf32_le_vec powerpc_boot_vec" + targ64_selvecs="powerpc_elf64_vec powerpc_elf64_le_vec" + ;; + powerpcle-*-nto*) + targ_defvec=powerpc_elf32_le_vec + targ_selvecs="rs6000_xcoff_vec powerpc_elf32_vec powerpc_boot_vec" + ;; + powerpcle-*-elf* | powerpcle-*-sysv4* | powerpcle-*-eabi* | \ + powerpcle-*-solaris2* | powerpcle-*-linux-* | powerpcle-*-vxworks*) + targ_defvec=powerpc_elf32_le_vec + targ_selvecs="rs6000_xcoff_vec powerpc_elf32_vec powerpc_boot_vec" + targ64_selvecs="powerpc_elf64_vec powerpc_elf64_le_vec" + ;; + powerpcle-*-pe | powerpcle-*-winnt* | powerpcle-*-cygwin*) + targ_defvec=powerpc_pe_le_vec + targ_selvecs="powerpc_pei_le_vec powerpc_pei_vec powerpc_pe_le_vec powerpc_pe_vec" + ;; + + pru-*-*) + targ_defvec=pru_elf32_vec + ;; + +#ifdef BFD64 + riscv-*-* | riscv32*-*-*) + targ_defvec=riscv_elf32_vec + targ_selvecs="riscv_elf32_vec riscv_elf64_vec" + want64=true + ;; + riscv64*-*-*) + targ_defvec=riscv_elf64_vec + targ_selvecs="riscv_elf32_vec riscv_elf64_vec" + want64=true + ;; +#endif + + rl78-*-elf) + targ_defvec=rl78_elf32_vec + targ_underscore=yes + ;; + + rx-*-elf) + targ_defvec=rx_elf32_le_vec + targ_selvecs="rx_elf32_be_vec rx_elf32_le_vec rx_elf32_be_ns_vec" + targ_underscore=yes + ;; + + s390-*-linux*) + targ_defvec=s390_elf32_vec + targ64_selvecs=s390_elf64_vec + want64=true + ;; +#ifdef BFD64 + s390x-*-linux*) + targ_defvec=s390_elf64_vec + targ_selvecs=s390_elf32_vec + want64=true + ;; + s390x-*-tpf*) + targ_defvec=s390_elf64_vec + want64=true + ;; + + score*-*-elf*) + targ_defvec=score_elf32_be_vec + targ_selvecs=score_elf32_le_vec + ;; +#endif /* BFD64 */ + + sh*eb-*-linux*) + targ_defvec=sh_elf32_linux_be_vec + targ_selvecs=sh_elf32_linux_vec + targ_selvecs="${targ_selvecs} sh_elf32_fdpic_le_vec sh_elf32_fdpic_be_vec" + ;; + sh*-*-linux*) + targ_defvec=sh_elf32_linux_vec + targ_selvecs=sh_elf32_linux_be_vec + targ_selvecs="${targ_selvecs} sh_elf32_fdpic_le_vec sh_elf32_fdpic_be_vec" + ;; + + sh-*-uclinux* | sh[12]-*-uclinux*) + targ_defvec=sh_elf32_vec + targ_selvecs="sh_elf32_le_vec sh_elf32_linux_be_vec sh_elf32_linux_vec sh_elf32_fdpic_le_vec sh_elf32_fdpic_be_vec" + ;; + + sh*l*-*-netbsdelf*) + targ_defvec=sh_elf32_nbsd_le_vec + targ_selvecs="sh_elf32_nbsd_vec sh_coff_vec sh_coff_le_vec" + ;; + sh*-*-netbsdelf*) + targ_defvec=sh_elf32_nbsd_vec + targ_selvecs="sh_elf32_nbsd_le_vec sh_coff_vec sh_coff_le_vec" + ;; + + shl*-*-elf* | sh[1234]l*-*-elf* | sh3el*-*-elf* | shl*-*-kaos*) + targ_defvec=sh_elf32_le_vec + targ_selvecs="sh_elf32_vec sh_coff_le_vec sh_coff_vec sh_coff_small_le_vec sh_coff_small_vec" + targ_underscore=yes + ;; + + sh-*-elf* | sh[1234]*-elf* | sh-*-rtems* | sh-*-kaos*) + targ_defvec=sh_elf32_vec + targ_selvecs="sh_elf32_le_vec sh_coff_vec sh_coff_le_vec sh_coff_small_vec sh_coff_small_le_vec" + targ_underscore=yes + ;; + + sh-*-nto*) + targ_defvec=sh_elf32_vec + targ_selvecs="sh_elf32_le_vec sh_coff_vec sh_coff_le_vec sh_coff_small_vec sh_coff_small_le_vec" + targ_underscore=yes + ;; + sh*-*-openbsd*) + targ_defvec=sh_elf32_nbsd_le_vec + targ_selvecs="sh_elf32_nbsd_vec sh_coff_vec sh_coff_le_vec" + ;; + sh-*-pe) + targ_defvec=sh_pe_le_vec + targ_selvecs="sh_pe_le_vec sh_pei_le_vec" + targ_underscore=yes + ;; + sh-*-vxworks) + targ_defvec=sh_elf32_vxworks_vec + targ_selvecs="sh_elf32_vxworks_le_vec" + # FIXME None of the following are actually used on this target, but + # they're necessary for coff-sh.c (which is unconditionally used) to be + # compiled correctly. + targ_selvecs="$targ_selvecs sh_coff_vec sh_coff_le_vec sh_coff_small_vec sh_coff_small_le_vec" + targ_underscore=yes + ;; + sh-*-*) + targ_defvec=sh_coff_vec + targ_selvecs="sh_coff_vec sh_coff_le_vec sh_coff_small_vec sh_coff_small_le_vec" + targ_underscore=yes + ;; + + sparc-*-solaris2.[0-6] | sparc-*-solaris2.[0-6].*) + targ_defvec=sparc_elf32_sol2_vec + ;; +#ifdef BFD64 + sparc-*-solaris2* | sparcv9-*-solaris2* | sparc64-*-solaris2*) + targ_defvec=sparc_elf32_sol2_vec + targ_selvecs="sparc_elf64_sol2_vec" + want64=true + ;; + sparc64-*-freebsd* | sparc64-*-kfreebsd*-gnu) + targ_defvec=sparc_elf64_fbsd_vec + targ_selvecs="sparc_elf64_vec sparc_elf32_vec" + ;; + sparc64*-*-*) + targ_defvec=sparc_elf64_vec + targ_selvecs="sparc_elf32_vec" + want64=true + ;; +#endif + sparc-*-linux-* | sparcv*-*-linux-*) + targ_defvec=sparc_elf32_vec + targ_selvecs="sparc_elf64_vec" + ;; + sparc-*-vxworks*) + targ_defvec=sparc_elf32_vxworks_vec + targ_selvecs="sparc_elf32_vec" + ;; + sparc*-*-*) + targ_defvec=sparc_elf32_vec + ;; + + spu-*-elf) + targ_defvec=spu_elf32_vec + want64=true + ;; + + tic6x-*-elf) + targ_defvec=tic6x_elf32_c6000_le_vec + targ_selvecs="tic6x_elf32_c6000_be_vec tic6x_elf32_le_vec tic6x_elf32_be_vec" + ;; + + tic6x-*-uclinux) + targ_defvec=tic6x_elf32_linux_le_vec + targ_selvecs="tic6x_elf32_linux_be_vec tic6x_elf32_le_vec tic6x_elf32_be_vec" + ;; + + tic80*-*-*) + targ_defvec=tic80_coff_vec + targ_underscore=yes + ;; + +#ifdef BFD64 + tilegx-*-*) + targ_defvec=tilegx_elf64_le_vec + targ_selvecs="tilegx_elf64_be_vec tilegx_elf32_be_vec tilegx_elf32_le_vec" + ;; + tilegxbe-*-*) + targ_defvec=tilegx_elf64_be_vec + targ_selvecs="tilegx_elf64_le_vec tilegx_elf32_be_vec tilegx_elf32_le_vec" + ;; +#endif + + tilepro-*-*) + targ_defvec=tilepro_elf32_vec + ;; + + ft32*-*-*) + targ_defvec=ft32_elf32_vec + ;; + + v850*-*-*) + targ_defvec=v850_elf32_vec + targ_selvecs="v800_elf32_vec" + targ_underscore=yes + ;; + + vax-*-netbsdelf*) + targ_defvec=vax_elf32_vec + targ_selvecs="vax_aout_nbsd_vec vax_aout_1knbsd_vec" + ;; + + vax-*-netbsdaout* | vax-*-netbsd*) + targ_defvec=vax_aout_nbsd_vec + targ_selvecs="vax_elf32_vec vax_aout_1knbsd_vec" + targ_underscore=yes + ;; + + vax-*-openbsd*) + targ_defvec=vax_aout_nbsd_vec + targ_underscore=yes + ;; + + vax-*-linux-*) + targ_defvec=vax_elf32_vec + ;; + + visium-*-elf) + targ_defvec=visium_elf32_vec + ;; + + wasm32-*-*) + targ_defvec=wasm32_elf32_vec + targ_selvecs="wasm_vec" + ;; + + xgate-*-*) + targ_defvec=xgate_elf32_vec + targ_selvecs="xgate_elf32_vec" + ;; + + xstormy16-*-elf) + targ_defvec=xstormy16_elf32_vec + ;; + + xtensa*-*-*) + targ_defvec=xtensa_elf32_le_vec + targ_selvecs=xtensa_elf32_be_vec + ;; + xc16x-*-elf) + targ_defvec=xc16x_elf32_vec + ;; + + z80-*-*) + targ_defvec=z80_coff_vec + targ_underscore=no + ;; + + z8k*-*-*) + targ_defvec=z8k_coff_vec + targ_underscore=yes + ;; + +# END OF targmatch.h + *) + echo 1>&2 "*** BFD does not support target ${targ}." + echo 1>&2 "*** Look in bfd/config.bfd for supported targets." + exit 1 + ;; +esac + +# All MIPS ELF targets need a 64-bit bfd_vma. +case "${targ_defvec} ${targ_selvecs}" in + *mips_elf*) + want64=true + ;; +esac + +case "${host64}${want64}" in + *true*) + targ_selvecs="${targ_selvecs} ${targ64_selvecs}" + ;; +esac + +# If we support any ELF target, then automatically add support for the +# generic ELF targets. This permits an objdump with some ELF support +# to be used on an arbitrary ELF file for anything other than +# relocation information. +case "${targ_defvec} ${targ_selvecs}" in + *elf64* | *mips_elf32_n*) + targ_selvecs="${targ_selvecs} elf64_le_vec elf64_be_vec elf32_le_vec elf32_be_vec" + ;; + *elf32*) + targ_selvecs="${targ_selvecs} elf32_le_vec elf32_be_vec" + ;; +esac + +# If we support Intel MCU target, then add support for bfd_iamcu_arch. +case "${targ_defvec} ${targ_selvecs}" in + *iamcu_elf32*) + targ_archs="$targ_archs bfd_iamcu_arch" + ;; +esac + +# If we support Intel L1OM target, then add support for bfd_l1om_arch. +case "${targ_defvec} ${targ_selvecs}" in + *l1om_elf64*) + targ_archs="$targ_archs bfd_l1om_arch" + ;; +esac + +# If we support Intel K1OM target, then add support for bfd_k1om_arch. +case "${targ_defvec} ${targ_selvecs}" in + *k1om_elf64*) + targ_archs="$targ_archs bfd_k1om_arch" + ;; +esac |