# 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 ;;
csky*)		 targ_archs=bfd_csky_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*-*-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
    ;;

  csky-*-elf* | csky-*-linux* )
    targ_defvec=csky_elf32_be_vec
    targ_selvecs="csky_elf32_be_vec csky_elf32_le_vec"
    ;;

  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])
    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]*)
    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
