# config.bfd
#
#   Copyright 2012, 2013 Free Software Foundation
#
# 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
 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
 m68*-apple-aux* | \
 m68*-apollo-* | \
 m68*-bull-sysv* | \
 m68*-*-rtemscoff* | \
 maxq-*-coff | \
 i960-*-rtems* | \
 or32-*-rtems* | \
 m68*-*-lynxos* | \
 sparc-*-lynxos* | \
 vax-*-vms* | \
 arm-*-oabi | \
 a29k-* | \
 hppa*-*-rtems* | \
 *-go32-rtems* | \
 i[3-7]86*-*-rtemscoff* | \
 mips*el-*-rtems* | \
 powerpcle-*-rtems* | \
 sparc*-*-rtemsaout* | \
 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 ;;
am34*|am33_2.0*) targ_archs=bfd_mn10300_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 ;;
i370)		 targ_archs=bfd_i370_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 ;;
m88*)		 targ_archs=bfd_m88k_arch ;;
microblaze*)	 targ_archs=bfd_microblaze_arch ;;
mips*)		 targ_archs=bfd_mips_arch ;;
nios2*)          targ_archs=bfd_nios2_arch ;;
or32*)		 targ_archs=bfd_or32_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" ;;
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" ;;
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.
#
#  Keep obsolete entries above the START comment, to keep them out of
#  targmatch.h.

case "${targ}" in
  mips*-dec-bsd*)
    echo "This target is obsolete and has been removed."
    exit 1
    ;;

  mips*-*-mach3*)
    echo "This target is obsolete and has been removed."
    exit 1
    ;;

  mips*-*-pe*)
    echo "This target is obsolete and has been removed."
    exit 1
    ;;

  plugin)
    targ_defvec=plugin_vec
    targ_selvecs="plugin_vec"
    ;;

# START OF targmatch.h
#ifdef BFD64
  aarch64-*-elf)
    targ_defvec=bfd_elf64_littleaarch64_vec
    targ_selvecs="bfd_elf64_bigaarch64_vec bfd_elf32_littleaarch64_vec bfd_elf32_bigaarch64_vec bfd_elf32_littlearm_vec bfd_elf32_bigarm_vec"
    want64=true
    ;;
  aarch64_be-*-elf)
    targ_defvec=bfd_elf64_bigaarch64_vec
    targ_selvecs="bfd_elf64_littleaarch64_vec bfd_elf32_littleaarch64_vec bfd_elf32_bigaarch64_vec bfd_elf32_bigarm_vec bfd_elf32_littlearm_vec"
    want64=true
    ;;
  aarch64-*-linux*)
    targ_defvec=bfd_elf64_littleaarch64_vec
    targ_selvecs="bfd_elf64_bigaarch64_vec bfd_elf32_littleaarch64_vec bfd_elf32_bigaarch64_vec bfd_elf32_littlearm_vec bfd_elf32_bigarm_vec"
    want64=true
    ;;
  aarch64_be-*-linux*)
    targ_defvec=bfd_elf64_bigaarch64_vec
    targ_selvecs="bfd_elf64_littleaarch64_vec bfd_elf32_littleaarch64_vec bfd_elf32_bigaarch64_vec bfd_elf32_bigarm_vec bfd_elf32_littlearm_vec"
    want64=true
    ;;
  alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu)
    targ_defvec=bfd_elf64_alpha_freebsd_vec
    targ_selvecs="bfd_elf64_alpha_vec ecoffalpha_little_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=bfd_elf64_alpha_vec
    targ_selvecs=ecoffalpha_little_vec
    want64=true
    ;;
  alpha*-*-netware*)
    targ_defvec=ecoffalpha_little_vec
    targ_selvecs=nlm32_alpha_vec
    want64=true
    ;;
  alpha*-*-linux*ecoff*)
    targ_defvec=ecoffalpha_little_vec
    targ_selvecs=bfd_elf64_alpha_vec
    want64=true
    ;;
  alpha*-*-linux-* | alpha*-*-elf*)
    targ_defvec=bfd_elf64_alpha_vec
    targ_selvecs=ecoffalpha_little_vec
    want64=true
    ;;
  alpha*-*-*vms*)
    targ_defvec=vms_alpha_vec
    targ_selvecs=vms_lib_txt_vec
    want64=true
    ;;
  alpha*-*-*)
    targ_defvec=ecoffalpha_little_vec
    want64=true
    ;;
  ia64*-*-freebsd* | ia64*-*-netbsd* | ia64*-*-linux-* | ia64*-*-elf* | ia64*-*-kfreebsd*-gnu)
    targ_defvec=bfd_elf64_ia64_little_vec
    targ_selvecs="bfd_elf64_ia64_big_vec bfd_pei_ia64_vec"
    want64=true
    ;;
  ia64*-*-hpux*)
    targ_defvec=bfd_elf32_ia64_hpux_big_vec
    targ_selvecs="bfd_elf64_ia64_hpux_big_vec"
    want64=true
    ;;
  ia64*-*-*vms*)
    targ_defvec=bfd_elf64_ia64_vms_vec
    targ_selvecs=vms_lib_txt_vec
    want64=true
    ;;
  sparc64-*-freebsd* | sparc64-*-kfreebsd*-gnu)
    targ_defvec=bfd_elf64_sparc_freebsd_vec
    targ_selvecs="bfd_elf64_sparc_vec bfd_elf32_sparc_vec sunos_big_vec"
    ;;
  sparc64-*-netbsd* | sparc64-*-openbsd*)
    targ_defvec=bfd_elf64_sparc_vec
    targ_selvecs="bfd_elf32_sparc_vec sunos_big_vec"
    want64=true
    ;;
#endif /* BFD64 */

  am34-*-linux* | am33_2.0-*-linux*)
    targ_defvec=bfd_elf32_am33lin_vec
    ;;

  arc-*-elf*)
    targ_defvec=bfd_elf32_littlearc_vec
    targ_selvecs=bfd_elf32_bigarc_vec
    ;;

  arm-*-nacl*)
    targ_defvec=bfd_elf32_littlearm_nacl_vec
    targ_selvecs="bfd_elf32_bigarm_nacl_vec bfd_elf32_i386_nacl_vec"
    targ64_selvecs="bfd_elf32_x86_64_nacl_vec bfd_elf64_x86_64_nacl_vec"
    targ_archs="$targ_archs bfd_i386_arch"
    ;;
  armeb-*-nacl*)
    targ_defvec=bfd_elf32_bigarm_nacl_vec
    targ_selvecs="bfd_elf32_littlearm_nacl_vec bfd_elf32_i386_nacl_vec"
    targ64_selvecs="bfd_elf32_x86_64_nacl_vec bfd_elf64_x86_64_nacl_vec"
    targ_archs="$targ_archs bfd_i386_arch"
    ;;
  armeb-*-netbsdelf*)
    targ_defvec=bfd_elf32_bigarm_vec
    targ_selvecs="bfd_elf32_littlearm_vec armnetbsd_vec"
    ;;
  arm-*-netbsdelf*)
    targ_defvec=bfd_elf32_littlearm_vec
    targ_selvecs="bfd_elf32_bigarm_vec armnetbsd_vec"
    ;;
  arm-*-netbsd* | arm-*-openbsd*)
    targ_defvec=armnetbsd_vec
    targ_selvecs="bfd_elf32_littlearm_vec bfd_elf32_bigarm_vec"
    targ_underscore=yes
    targ_cflags=-D__QNXTARGET__
    ;;
  arm-*-nto* | nto*arm*)
    targ_defvec=bfd_elf32_littlearm_vec
    targ_selvecs=bfd_elf32_bigarm_vec
    ;;
  arm-*-riscix*)
    targ_defvec=riscix_vec
    ;;
  arm-epoc-pe*)
    targ_defvec=arm_epoc_pe_little_vec
    targ_selvecs="arm_epoc_pe_little_vec arm_epoc_pe_big_vec arm_epoc_pei_little_vec arm_epoc_pei_big_vec"
    targ_underscore=no
    targ_cflags=-DARM_COFF_BUGFIX
    ;;
  arm-wince-pe | arm-*-wince | arm*-*-mingw32ce* | arm*-*-cegcc*)
    targ_defvec=arm_wince_pe_little_vec
    targ_selvecs="arm_wince_pe_little_vec arm_wince_pe_big_vec arm_wince_pei_little_vec arm_wince_pei_big_vec"
    targ_underscore=no
    targ_cflags="-DARM_WINCE -DARM_COFF_BUGFIX"
    ;;
  arm-*-pe*)
    targ_defvec=armpe_little_vec
    targ_selvecs="armpe_little_vec armpe_big_vec armpei_little_vec armpei_big_vec"
    targ_underscore=yes
    ;;
  arm-*-aout | armel-*-aout)
    targ_defvec=aout_arm_little_vec
    targ_selvecs=aout_arm_big_vec
    ;;
  armeb-*-aout)
    targ_defvec=aout_arm_big_vec
    targ_selvecs=aout_arm_little_vec
    ;;
  arm-*-coff)
    targ_defvec=armcoff_little_vec
    targ_selvecs=armcoff_big_vec
    targ_underscore=yes
    ;;
  arm-*-rtems*)
    targ_defvec=bfd_elf32_littlearm_vec
    targ_selvecs=bfd_elf32_bigarm_vec
    ;;
  armeb-*-elf | arm*b-*-linux-*)
    targ_defvec=bfd_elf32_bigarm_vec
    targ_selvecs=bfd_elf32_littlearm_vec
    ;;
  arm-*-kaos*)
    targ_defvec=bfd_elf32_littlearm_vec
    targ_selvecs=bfd_elf32_bigarm_vec
    ;;
  arm-*-elf | arm-*-freebsd* | arm*-*-linux-* | arm*-*-conix* | \
  arm*-*-uclinux* | arm-*-kfreebsd*-gnu | \
  arm*-*-eabi* )
    targ_defvec=bfd_elf32_littlearm_vec
    targ_selvecs=bfd_elf32_bigarm_vec
    ;;
  arm*-*-vxworks | arm*-*-windiss)
    targ_defvec=bfd_elf32_littlearm_vxworks_vec
    targ_selvecs=bfd_elf32_bigarm_vxworks_vec
    ;;
  arm*-*-symbianelf*)
    targ_defvec=bfd_elf32_littlearm_symbian_vec
    targ_selvecs=bfd_elf32_bigarm_symbian_vec
    ;;
  arm9e-*-elf)
    targ_defvec=bfd_elf32_littlearm_vec
    targ_selvecs=bfd_elf32_bigarm_vec
    ;;

  avr-*-*)
    targ_defvec=bfd_elf32_avr_vec
    ;;

  bfin-*-*)
    targ_defvec=bfd_elf32_bfin_vec
    targ_selvecs=bfd_elf32_bfinfdpic_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* | tic4x-*-rtems*)
    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=bfd_elf32_cr16_vec
    targ_underscore=yes
    ;;

  cr16c-*-elf*)
    targ_defvec=bfd_elf32_cr16c_vec
    targ_underscore=yes
    ;;

  cris-*-* | crisv32-*-*)
    targ_defvec=cris_aout_vec
    targ_selvecs="bfd_elf32_us_cris_vec bfd_elf32_cris_vec ieee_vec"
    targ_underscore=yes # Note: not true for bfd_elf32_cris_vec.
    ;;

  crx-*-elf*)
    targ_defvec=bfd_elf32_crx_vec
    targ_underscore=yes
    ;;

  d10v-*-*)
    targ_defvec=bfd_elf32_d10v_vec
    ;;

  dlx-*-elf*)
    targ_defvec=bfd_elf32_dlx_big_vec
    targ_selvecs="bfd_elf32_dlx_big_vec"
    ;;

  d30v-*-*)
    targ_defvec=bfd_elf32_d30v_vec
    ;;

  epiphany-*-elf)
    targ_defvec=bfd_elf32_epiphany_vec
    ;;

  fido-*-elf* )
    targ_defvec=bfd_elf32_m68k_vec
    targ_selvecs="m68kcoff_vec ieee_vec"
    ;;

  fr30-*-elf)
    targ_defvec=bfd_elf32_fr30_vec
    ;;

  frv-*-elf)
    targ_defvec=bfd_elf32_frv_vec
    targ_selvecs=bfd_elf32_frvfdpic_vec
    ;;

  frv-*-*linux*)
    targ_defvec=bfd_elf32_frvfdpic_vec
    targ_selvecs=bfd_elf32_frv_vec
    ;;

  moxie-*-elf | moxie-*-rtems* | moxie-*-uclinux)
    targ_defvec=bfd_elf32_bigmoxie_vec
    targ_selvecs=bfd_elf32_littlemoxie_vec
    ;;

  h8300*-*-rtemscoff*)
    targ_defvec=h8300coff_vec
    targ_underscore=yes
    ;;

  h8300*-*-elf | h8300*-*-rtems*)
    targ_defvec=bfd_elf32_h8300_vec
    targ_underscore=yes
    ;;

  h8300*-*-*)
    targ_defvec=h8300coff_vec
    targ_underscore=yes
    ;;

  h8500-*-*)
    targ_defvec=h8500coff_vec
    targ_underscore=yes
    ;;

#ifdef BFD64
  hppa*64*-*-linux-*)
    targ_defvec=bfd_elf64_hppa_linux_vec
    targ_selvecs=bfd_elf64_hppa_vec
    want64=true
    ;;
  hppa*64*-*-hpux11*)
    targ_defvec=bfd_elf64_hppa_vec
    targ_selvecs=bfd_elf64_hppa_linux_vec
    targ_cflags=-DHPUX_LARGE_AR_IDS
    want64=true
    ;;
#endif

  hppa*-*-linux-*)
    targ_defvec=bfd_elf32_hppa_linux_vec
    targ_selvecs=bfd_elf32_hppa_vec
    ;;
  hppa*-*-netbsd*)
    targ_defvec=bfd_elf32_hppa_nbsd_vec
    targ_selvecs="bfd_elf32_hppa_vec bfd_elf32_hppa_linux_vec"
    ;;
  hppa*-*-*elf* | hppa*-*-lites* | hppa*-*-sysv4* | hppa*-*-openbsd*)
    targ_defvec=bfd_elf32_hppa_vec
    targ_selvecs=bfd_elf32_hppa_linux_vec
    ;;

  hppa*-*-bsd*)
    targ_defvec=som_vec
    targ_selvecs=bfd_elf32_hppa_vec
    ;;
  hppa*-*-hpux* | hppa*-*-hiux* | hppa*-*-mpeix*)
    targ_defvec=som_vec
    ;;
  hppa*-*-osf*)
    targ_defvec=som_vec
    targ_selvecs=bfd_elf32_hppa_vec
    ;;

  i370-*-*)
    targ_defvec=bfd_elf32_i370_vec
    targ_selvecs="bfd_elf32_i370_vec"
    ;;
  i[3-7]86-*-sco3.2v5*coff)
    targ_defvec=i386coff_vec
    targ_selvecs=bfd_elf32_i386_vec
    ;;
  i[3-7]86-*-sysv4* | i[3-7]86-*-unixware* | \
  i[3-7]86-*-elf | i[3-7]86-*-sco3.2v5* | \
  i[3-7]86-*-dgux* | i[3-7]86-*-sysv5*)
    targ_defvec=bfd_elf32_i386_vec
    targ_selvecs=i386coff_vec
    ;;
  i[3-7]86-*-solaris2*)
    targ_defvec=bfd_elf32_i386_sol2_vec
    targ_selvecs="i386coff_vec"
    targ64_selvecs="bfd_elf64_x86_64_sol2_vec bfd_elf64_l1om_vec bfd_elf64_k1om_vec"
    want64=true
    ;;
#ifdef BFD64
  x86_64-*-solaris2*)
    targ_defvec=bfd_elf32_i386_sol2_vec
    targ_selvecs="bfd_elf64_x86_64_sol2_vec bfd_elf64_l1om_vec bfd_elf64_k1om_vec i386coff_vec"
    want64=true
    ;;
#endif
  i[3-7]86-*-kaos*)
    targ_defvec=bfd_elf32_i386_vec
    targ_selvecs=bfd_elf32_i386_vec
    ;;
  i[3-7]86-*-nto*)
    targ_defvec=bfd_elf32_i386_vec
    targ_selvecs=i386coff_vec
    ;;
  i[3-7]86-*-aros*)
    targ_defvec=bfd_elf32_i386_vec
    ;;
  i[3-7]86-*-chorus*)
    targ_defvec=bfd_elf32_i386_vec
    ;;
  i[3-7]86-*-dicos*)
    targ_defvec=bfd_elf32_i386_vec
    targ64_selvecs="bfd_elf64_x86_64_vec bfd_elf64_l1om_vec bfd_elf64_k1om_vec"
    ;;
  *-*-msdosdjgpp* | *-*-go32* )
    targ_defvec=go32coff_vec
    targ_selvecs="go32stubbedcoff_vec i386aout_vec"
    ;;
  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*)
    targ_defvec=i386coff_vec
    ;;
  i[3-7]86-*-rtems*)
    targ_defvec=bfd_elf32_i386_vec
    targ_selvecs="i386coff_vec i386aout_vec"
    ;;
  i[3-7]86-*-darwin* | i[3-7]86-*-macos10* | i[3-7]86-*-rhapsody*)
    targ_defvec=mach_o_i386_vec
    targ_selvecs="mach_o_le_vec mach_o_be_vec mach_o_fat_vec pef_vec pef_xlib_vec sym_vec"
    targ64_selvecs=mach_o_x86_64_vec
    targ_archs="$targ_archs bfd_powerpc_arch bfd_rs6000_arch"
    ;;
  i[3-7]86-sequent-bsd*)
    targ_defvec=i386dynix_vec
    targ_underscore=yes
    ;;
  i[3-7]86-*-bsd*)
    targ_defvec=i386bsd_vec
    targ_underscore=yes
    ;;
  i[3-7]86-*-dragonfly*)
    targ_defvec=bfd_elf32_i386_vec
    targ64_selvecs="bfd_elf64_x86_64_vec bfd_elf64_l1om_vec bfd_elf64_k1om_vec"
    ;;
  i[3-7]86-*-freebsdaout* | i[3-7]86-*-freebsd[12].* | \
  i[3-7]86-*-freebsd[12])
    targ_defvec=i386freebsd_vec
    targ_selvecs=i386bsd_vec
    targ_underscore=yes
    ;;
  i[3-7]86-*-freebsd* | i[3-7]86-*-kfreebsd*-gnu)
    targ_defvec=bfd_elf32_i386_freebsd_vec
    targ_selvecs="bfd_elf32_i386_vec i386pei_vec i386coff_vec"
    targ64_selvecs="bfd_elf64_x86_64_freebsd_vec bfd_elf64_x86_64_vec x86_64pei_vec bfd_elf64_l1om_vec bfd_elf64_l1om_freebsd_vec bfd_elf64_k1om_vec bfd_elf64_k1om_freebsd_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=bfd_elf32_i386_vec
    targ_selvecs=i386netbsd_vec
    targ64_selvecs="bfd_elf64_x86_64_vec bfd_elf64_l1om_vec bfd_elf64_k1om_vec"
    ;;
  i[3-7]86-*-netbsdpe*)
    targ_defvec=i386pe_vec
    targ_selvecs="i386pe_vec i386pei_vec bfd_elf32_i386_vec"
    ;;
  i[3-7]86-*-netbsdaout* | i[3-7]86-*-netbsd* | \
  i[3-7]86-*-openbsd[0-2].* | i[3-7]86-*-openbsd3.[0-3])
    targ_defvec=i386netbsd_vec
    targ_selvecs="bfd_elf32_i386_vec i386bsd_vec"
    targ_underscore=yes
    ;;
  i[3-7]86-*-openbsd*)
    targ_defvec=bfd_elf32_i386_vec
    targ_selvecs=i386netbsd_vec
    ;;
  i[3-7]86-*-netware*)
    targ_defvec=bfd_elf32_i386_vec
    targ_selvecs="nlm32_i386_vec i386coff_vec i386aout_vec"
    ;;
  i[3-7]86-*-linux*aout*)
    targ_defvec=i386linux_vec
    targ_selvecs=bfd_elf32_i386_vec
    targ_underscore=yes
    ;;
  i[3-7]86-*-linux-*)
    targ_defvec=bfd_elf32_i386_vec
    targ_selvecs="i386linux_vec i386pei_vec"
    targ64_selvecs="bfd_elf64_x86_64_vec bfd_elf32_x86_64_vec x86_64pei_vec bfd_elf64_l1om_vec bfd_elf64_k1om_vec"
    ;;
  i[3-7]86-*-nacl*)
    targ_defvec=bfd_elf32_i386_nacl_vec
    targ_selvecs="bfd_elf32_bigarm_nacl_vec bfd_elf32_littlearm_nacl_vec"
    targ64_selvecs="bfd_elf64_x86_64_nacl_vec bfd_elf32_x86_64_nacl_vec"
    targ_archs="$targ_archs bfd_arm_arch"
    ;;
#ifdef BFD64
  x86_64-*-darwin*)
    targ_defvec=mach_o_x86_64_vec
    targ_selvecs="mach_o_i386_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=bfd_elf64_x86_64_vec
    targ_selvecs="bfd_elf32_i386_vec bfd_elf64_l1om_vec bfd_elf64_k1om_vec"
    want64=true
    ;;
  x86_64-*-elf*)
    targ_defvec=bfd_elf64_x86_64_vec
    targ_selvecs="bfd_elf32_i386_vec bfd_elf32_x86_64_vec bfd_elf64_l1om_vec bfd_elf64_k1om_vec"
    want64=true
    ;;
  x86_64-*-dragonfly*)
    targ_defvec=bfd_elf64_x86_64_vec
    targ_selvecs="bfd_elf32_i386_vec bfd_elf64_l1om_vec bfd_elf64_k1om_vec"
    want64=true
    ;;
  x86_64-*-freebsd* | x86_64-*-kfreebsd*-gnu)
    targ_defvec=bfd_elf64_x86_64_freebsd_vec
    targ_selvecs="bfd_elf32_i386_freebsd_vec i386coff_vec i386pei_vec x86_64pei_vec bfd_elf32_i386_vec bfd_elf64_x86_64_vec bfd_elf64_l1om_vec bfd_elf64_l1om_freebsd_vec bfd_elf64_k1om_vec bfd_elf64_k1om_freebsd_vec"
    want64=true
    ;;
  x86_64-*-netbsd* | x86_64-*-openbsd*)
    targ_defvec=bfd_elf64_x86_64_vec
    targ_selvecs="bfd_elf32_i386_vec i386netbsd_vec i386coff_vec i386pei_vec x86_64pei_vec bfd_elf64_l1om_vec bfd_elf64_k1om_vec"
    want64=true
    ;;
  x86_64-*-linux-*)
    targ_defvec=bfd_elf64_x86_64_vec
    targ_selvecs="bfd_elf32_i386_vec bfd_elf32_x86_64_vec i386linux_vec i386pei_vec x86_64pei_vec bfd_elf64_l1om_vec bfd_elf64_k1om_vec"
    want64=true
    ;;
  x86_64-*-nacl*)
    targ_defvec=bfd_elf32_x86_64_nacl_vec
    targ_selvecs="bfd_elf32_i386_nacl_vec bfd_elf64_x86_64_nacl_vec bfd_elf32_bigarm_nacl_vec bfd_elf32_littlearm_nacl_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_64pe_vec
    targ_selvecs="x86_64pe_vec x86_64pei_vec bfd_elf64_x86_64_vec bfd_elf64_l1om_vec bfd_elf64_k1om_vec i386pe_vec i386pei_vec bfd_elf32_i386_vec"
    want64=true
    targ_underscore=no
    ;;
  x86_64-*-rdos*)
    targ_defvec=bfd_elf64_x86_64_vec
    want64=true
    ;;
#endif
  i[3-7]86-*-lynxos*)
    targ_defvec=bfd_elf32_i386_vec
    targ_selvecs="i386lynx_coff_vec i386lynx_aout_vec"
    ;;
  i[3-7]86-*-gnu*)
    targ_defvec=bfd_elf32_i386_vec
    ;;
  i[3-7]86-*-mach* | i[3-7]86-*-osf1mk*)
    targ_defvec=i386mach3_vec
    targ_cflags=-DSTAT_FOR_EXEC
    targ_underscore=yes
    ;;
  i[3-7]86-*-os9k)
    targ_defvec=i386os9k_vec
    ;;
  i[3-7]86-*-msdos*)
    targ_defvec=i386aout_vec
    targ_selvecs=i386msdos_vec
    ;;
  i[3-7]86-*-moss*)
    targ_defvec=bfd_elf32_i386_vec
    targ_selvecs="i386msdos_vec i386aout_vec"
    ;;
  i[3-7]86-*-beospe*)
    targ_defvec=i386pe_vec
    targ_selvecs="i386pe_vec i386pei_vec"
    ;;
  i[3-7]86-*-beoself* | i[3-7]86-*-beos*)
    targ_defvec=bfd_elf32_i386_vec
    targ_selvecs="i386pe_vec i386pei_vec"
    ;;
  i[3-7]86-*-interix*)
    targ_defvec=i386pei_vec
    targ_selvecs="i386pe_vec"
    # FIXME: This should eventually be checked at runtime.
    targ_cflags=-DSTRICT_PE_FORMAT
    ;;
  i[3-7]86-*-rdos*)
    targ_defvec=bfd_elf32_i386_vec
    targ_selvecs=i386coff_vec
    ;;
  i[3-7]86-*-mingw32* | i[3-7]86-*-cygwin* | i[3-7]86-*-winnt | i[3-7]86-*-pe)
    targ_defvec=i386pe_vec
    targ_selvecs="i386pe_vec i386pei_vec bfd_elf32_i386_vec"
    targ_underscore=yes
    ;;
  i[3-7]86-none-*)
    targ_defvec=i386coff_vec
    ;;
  i[3-7]86-*-aout* | i[3-7]86*-*-vsta*)
    targ_defvec=i386aout_vec
    ;;
  i[3-7]86-*-vxworks*)
    targ_defvec=bfd_elf32_i386_vxworks_vec
    targ_underscore=yes
    ;;
  i[3-7]86-*-chaos)
    targ_defvec=bfd_elf32_i386_vec
    targ_selfvecs=i386chaos_vec
    ;;

  i860-*-mach3* | i860-*-osf1* | i860-*-coff*)
    targ_defvec=i860coff_vec
    ;;
  i860-stardent-sysv4* | i860-stardent-elf*)
    targ_defvec=bfd_elf32_i860_little_vec
    targ_selvecs="bfd_elf32_i860_vec bfd_elf32_i860_little_vec"
    ;;
  i860-*-sysv4* | i860-*-elf*)
    targ_defvec=bfd_elf32_i860_vec
    ;;

  i960-*-vxworks4* | i960-*-vxworks5.0)
    targ_defvec=b_out_vec_little_host
    targ_selvecs="b_out_vec_big_host icoff_little_vec icoff_big_vec ieee_vec"
    targ_underscore=yes
    ;;
  i960-*-vxworks5.* | i960-*-coff* | i960-*-sysv*)
    targ_defvec=icoff_little_vec
    targ_selvecs="icoff_big_vec b_out_vec_little_host b_out_vec_big_host ieee_vec"
    targ_underscore=yes
    ;;
  i960-*-vxworks* | i960-*-aout* | i960-*-bout* | i960-*-nindy*)
    targ_defvec=b_out_vec_little_host
    targ_selvecs="b_out_vec_big_host icoff_little_vec icoff_big_vec ieee_vec"
    targ_underscore=yes
    ;;
  i960-*-elf*)
    targ_defvec=bfd_elf32_i960_vec
    targ_selvecs="icoff_little_vec icoff_big_vec"
    ;;

  ip2k-*-elf)
    targ_defvec=bfd_elf32_ip2k_vec
    ;;

  iq2000-*-elf)
    targ_defvec=bfd_elf32_iq2000_vec
    ;;

  lm32-*-elf | lm32-*-rtems*)
    targ_defvec=bfd_elf32_lm32_vec
    targ_selvecs=bfd_elf32_lm32fdpic_vec
    ;;

  lm32-*-*linux*)
    targ_defvec=bfd_elf32_lm32fdpic_vec
    targ_selvecs=bfd_elf32_lm32_vec
    ;;

  m32c-*-elf | m32c-*-rtems*)
    targ_defvec=bfd_elf32_m32c_vec
    ;;

  m32r*le-*-linux*)
    targ_defvec=bfd_elf32_m32rlelin_vec
    targ_selvecs="bfd_elf32_m32rlin_vec  bfd_elf32_m32rlelin_vec"
    ;;
  m32r*-*-linux*)
    targ_defvec=bfd_elf32_m32rlin_vec
    targ_selvecs="bfd_elf32_m32rlin_vec  bfd_elf32_m32rlelin_vec"
    ;;
  m32r*le-*-*)
    targ_defvec=bfd_elf32_m32rle_vec
    targ_selvecs="bfd_elf32_m32r_vec bfd_elf32_m32rle_vec"
    ;;
  m32r-*-*)
    targ_defvec=bfd_elf32_m32r_vec
    ;;

  m68hc11-*-* | m6811-*-*)
    targ_defvec=bfd_elf32_m68hc11_vec
    targ_selvecs="bfd_elf32_m68hc11_vec bfd_elf32_m68hc12_vec"
    ;;
  m68hc12-*-* | m6812-*-*)
    targ_defvec=bfd_elf32_m68hc12_vec
    targ_selvecs="bfd_elf32_m68hc11_vec bfd_elf32_m68hc12_vec"
    ;;

  m68*-motorola-sysv*)
    targ_defvec=m68ksysvcoff_vec
    ;;
  m68*-hp-bsd*)
    targ_defvec=hp300bsd_vec
    targ_underscore=yes
    ;;
  m68*-*-aout*)
    targ_defvec=aout0_big_vec
    # We include cisco_core_big_vec here, rather than making a separate cisco
    # configuration, so that cisco-core.c gets routinely tested at
    # least for compilation.
    targ_selvecs="cisco_core_big_vec ieee_vec"
    targ_underscore=yes
    ;;
  m68*-*-elf* | m68*-*-sysv4* | m68*-*-uclinux*)
    targ_defvec=bfd_elf32_m68k_vec
    targ_selvecs="m68kcoff_vec ieee_vec"
    ;;
  m68*-*-rtems*)
    targ_defvec=bfd_elf32_m68k_vec
    targ_selvecs="m68kcoff_vec versados_vec ieee_vec aout0_big_vec"
    ;;
  m68*-*-coff* | m68*-*-sysv*)
    targ_defvec=m68kcoff_vec
    targ_selvecs="m68kcoff_vec versados_vec ieee_vec"
    ;;
  m68*-*-hpux*)
    targ_defvec=hp300hpux_vec
    targ_underscore=yes
    ;;
  m68*-*-linux*aout*)
    targ_defvec=m68klinux_vec
    targ_selvecs=bfd_elf32_m68k_vec
    targ_underscore=yes
    ;;
  m68*-*-linux-*)
    targ_defvec=bfd_elf32_m68k_vec
    targ_selvecs=m68klinux_vec
    ;;
  m68*-*-gnu*)
    targ_defvec=bfd_elf32_m68k_vec
    # targ_selvecs=m68kmach3_vec
    # targ_cflags=-DSTAT_FOR_EXEC
    ;;
  m68*-hp*-netbsd*)
    targ_defvec=m68k4knetbsd_vec
    targ_selvecs="m68knetbsd_vec hp300bsd_vec sunos_big_vec"
    targ_underscore=yes
    ;;
  m68*-*-netbsdelf*)
    targ_defvec=bfd_elf32_m68k_vec
    targ_selvecs="m68knetbsd_vec m68k4knetbsd_vec hp300bsd_vec sunos_big_vec"
    ;;
  m68*-*-netbsdaout* | m68*-*-netbsd*)
    targ_defvec=m68knetbsd_vec
    targ_selvecs="m68k4knetbsd_vec bfd_elf32_m68k_vec hp300bsd_vec sunos_big_vec"
    targ_underscore=yes
    ;;
  m68*-*-openbsd*)
    targ_defvec=m68knetbsd_vec
    targ_selvecs="m68k4knetbsd_vec hp300bsd_vec sunos_big_vec"
    targ_underscore=yes
    ;;
  m68*-*-sunos* | m68*-*-os68k* | m68*-*-vxworks* | m68*-netx-* | \
  m68*-*-bsd* | m68*-*-vsta*)
    targ_defvec=sunos_big_vec
    targ_underscore=yes
    ;;
  m68*-ericsson-*)
    targ_defvec=sunos_big_vec
    targ_selvecs="m68kcoff_vec versados_vec tekhex_vec"
    targ_underscore=yes
    ;;
  m68*-cbm-*)
    targ_defvec=bfd_elf32_m68k_vec
    targ_selvecs=m68kcoff_vec
    ;;
  m68*-*-psos*)
    targ_defvec=bfd_elf32_m68k_vec
    targ_selvecs=ieee_vec
    targ_underscore=yes
    ;;

  m88*-harris-cxux* | m88*-*-dgux* | m88*-*-sysv4*)
    targ_defvec=bfd_elf32_m88k_vec
    targ_selvecs=m88kbcs_vec
    ;;
  m88*-*-mach3*)
    targ_defvec=m88kmach3_vec
    targ_cflags=-DSTAT_FOR_EXEC
    ;;
  m88*-*-openbsd*)
   targ_defvec=m88kopenbsd_vec
   targ_underscore=yes
   ;;
  m88*-*-*)
    targ_defvec=m88kbcs_vec
    targ_underscore=yes
    ;;

  mcore-*-elf)
    targ_defvec=bfd_elf32_mcore_big_vec
    targ_selvecs="bfd_elf32_mcore_big_vec bfd_elf32_mcore_little_vec"
    ;;
  mcore-*-pe)
    targ_defvec=mcore_pe_big_vec
    targ_selvecs="mcore_pe_big_vec mcore_pe_little_vec mcore_pei_big_vec mcore_pei_little_vec"
    ;;

  mep-*-elf)
    targ_defvec=bfd_elf32_mep_vec
    targ_selvecs=bfd_elf32_mep_little_vec
    ;;

  metag-*-*)
    targ_defvec=bfd_elf32_metag_vec
    targ_underscore=yes
    ;;

  microblazeel*-*)
    targ_defvec=bfd_elf32_microblazeel_vec
    targ_selvecs=bfd_elf32_microblaze_vec
    ;;

  microblaze*-*)
    targ_defvec=bfd_elf32_microblaze_vec
    targ_selvecs=bfd_elf32_microblazeel_vec
    ;;

  mips*-big-*)
    targ_defvec=ecoff_big_vec
    targ_selvecs=ecoff_little_vec
    ;;
#ifdef BFD64
  mips*el-*-netbsd*)
    targ_defvec=bfd_elf32_tradlittlemips_vec
    targ_selvecs="bfd_elf32_tradbigmips_vec bfd_elf64_tradbigmips_vec bfd_elf64_tradlittlemips_vec ecoff_little_vec ecoff_big_vec"
    ;;
  mips*-*-netbsd*)
    targ_defvec=bfd_elf32_tradbigmips_vec
    targ_selvecs="bfd_elf32_tradlittlemips_vec bfd_elf64_tradbigmips_vec bfd_elf64_tradlittlemips_vec ecoff_big_vec ecoff_little_vec"
    ;;
#endif
  mips*-dec-* | mips*el-*-ecoff*)
    targ_defvec=ecoff_little_vec
    targ_selvecs=ecoff_big_vec
    ;;
  mips*-*-ecoff*)
    targ_defvec=ecoff_big_vec
    targ_selvecs=ecoff_little_vec
    ;;
#ifdef BFD64
  mips*-*-irix6*)
    targ_defvec=bfd_elf32_nbigmips_vec
    targ_selvecs="bfd_elf32_nlittlemips_vec bfd_elf32_bigmips_vec bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec"
    ;;
  mips64*-ps2-elf*)
    targ_defvec=bfd_elf32_nlittlemips_vec
    targ_selvecs="bfd_elf32_nlittlemips_vec bfd_elf32_nbigmips_vec bfd_elf32_bigmips_vec bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec"
    ;;
  mips*-ps2-elf*)
    targ_defvec=bfd_elf32_littlemips_vec
    targ_selvecs="bfd_elf32_bigmips_vec bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec"
    ;;
  mips*-*-irix5*)
    targ_defvec=bfd_elf32_bigmips_vec
    targ_selvecs="bfd_elf32_littlemips_vec ecoff_big_vec ecoff_little_vec"
    ;;
#endif
  mips*-sgi-* | mips*-*-bsd*)
    targ_defvec=ecoff_big_vec
    targ_selvecs=ecoff_little_vec
    ;;
  mips*-*-lnews*)
    targ_defvec=ecoff_biglittle_vec
    targ_selvecs="ecoff_little_vec ecoff_big_vec"
    ;;
#ifdef BFD64
  mips*-*-sysv4*)
    targ_defvec=bfd_elf32_tradbigmips_vec
    targ_selvecs="bfd_elf32_tradlittlemips_vec ecoff_big_vec ecoff_little_vec"
    ;;
#endif
  mips*-*-sysv* | mips*-*-riscos*)
    targ_defvec=ecoff_big_vec
    targ_selvecs=ecoff_little_vec
    ;;
#ifdef BFD64
  mips*el-*-vxworks*)
    targ_defvec=bfd_elf32_littlemips_vxworks_vec
    targ_selvecs="bfd_elf32_littlemips_vec bfd_elf32_bigmips_vxworks_vec bfd_elf32_bigmips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec"
    ;;
  mips*-*-vxworks*)
    targ_defvec=bfd_elf32_bigmips_vxworks_vec
    targ_selvecs="bfd_elf32_bigmips_vec bfd_elf32_littlemips_vxworks_vec bfd_elf32_bigmips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec"
    ;;
  mips*el-sde-elf*)
    targ_defvec=bfd_elf32_tradlittlemips_vec
    targ_selvecs="bfd_elf32_tradbigmips_vec bfd_elf32_ntradbigmips_vec bfd_elf32_ntradlittlemips_vec bfd_elf64_tradbigmips_vec bfd_elf64_tradlittlemips_vec"
    ;;
  mips*-sde-elf* | mips*-mti-elf*)
    targ_defvec=bfd_elf32_tradbigmips_vec
    targ_selvecs="bfd_elf32_tradlittlemips_vec bfd_elf32_ntradbigmips_vec bfd_elf32_ntradlittlemips_vec bfd_elf64_tradbigmips_vec bfd_elf64_tradlittlemips_vec"
    ;;
  mips*el-*-elf* | mips*el-*-vxworks* | mips*-*-chorus*)
    targ_defvec=bfd_elf32_littlemips_vec
    targ_selvecs="bfd_elf32_bigmips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec"
    ;;
  mips*-*-elf* | mips*-*-rtems* | mips*-*-vxworks | mips*-*-windiss)
    targ_defvec=bfd_elf32_bigmips_vec
    targ_selvecs="bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec"
    ;;
  mips*-*-none)
    targ_defvec=bfd_elf32_bigmips_vec
    targ_selvecs="bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec"
    ;;
  mips64*-*-openbsd*)
    targ_defvec=bfd_elf64_tradbigmips_vec
    targ_selvecs="bfd_elf32_ntradlittlemips_vec bfd_elf32_ntradbigmips_vec bfd_elf32_tradlittlemips_vec bfd_elf32_tradbigmips_vec bfd_elf64_tradlittlemips_vec"
    ;;
  mips*el-*-openbsd*)
    targ_defvec=bfd_elf32_littlemips_vec
    targ_selvecs="bfd_elf32_bigmips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec ecoff_little_vec ecoff_big_vec"
    ;;
  mips*-*-openbsd*)
    targ_defvec=bfd_elf32_bigmips_vec
    targ_selvecs="bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec ecoff_big_vec ecoff_little_vec"
    ;;
  mips64*el-*-linux*)
    targ_defvec=bfd_elf32_ntradlittlemips_vec
    targ_selvecs="bfd_elf32_ntradbigmips_vec bfd_elf32_tradlittlemips_vec bfd_elf32_tradbigmips_vec bfd_elf64_tradlittlemips_vec bfd_elf64_tradbigmips_vec"
    ;;
  mips64*-*-linux*)
    targ_defvec=bfd_elf32_ntradbigmips_vec
    targ_selvecs="bfd_elf32_ntradlittlemips_vec bfd_elf32_tradbigmips_vec bfd_elf32_tradlittlemips_vec bfd_elf64_tradbigmips_vec bfd_elf64_tradlittlemips_vec"
    ;;
  mips*el-*-linux*)
    targ_defvec=bfd_elf32_tradlittlemips_vec
    targ_selvecs="bfd_elf32_tradbigmips_vec ecoff_little_vec ecoff_big_vec bfd_elf32_ntradlittlemips_vec bfd_elf64_tradlittlemips_vec bfd_elf32_ntradbigmips_vec bfd_elf64_tradbigmips_vec"
    ;;
  mips*-*-linux*)
    targ_defvec=bfd_elf32_tradbigmips_vec
    targ_selvecs="bfd_elf32_tradlittlemips_vec ecoff_big_vec ecoff_little_vec bfd_elf32_ntradbigmips_vec bfd_elf64_tradbigmips_vec bfd_elf32_ntradlittlemips_vec bfd_elf64_tradlittlemips_vec"
    ;;
  mips64*el-*-freebsd* | mips64*el-*-kfreebsd*-gnu)
    # FreeBSD vectors
    targ_defvec=bfd_elf32_ntradlittlemips_freebsd_vec
    targ_selvecs="bfd_elf32_ntradbigmips_freebsd_vec bfd_elf32_tradlittlemips_freebsd_vec bfd_elf32_tradbigmips_freebsd_vec bfd_elf64_tradlittlemips_freebsd_vec bfd_elf64_tradbigmips_freebsd_vec"
    # Generic vectors
    targ_selvecs="${targ_selvecs} bfd_elf32_ntradlittlemips_vec bfd_elf32_ntradbigmips_vec bfd_elf32_tradlittlemips_vec bfd_elf32_tradbigmips_vec bfd_elf64_tradlittlemips_vec bfd_elf64_tradbigmips_vec"
    ;;
  mips64*-*-freebsd* | mips64*-*-kfreebsd*-gnu)
    # FreeBSD vectors
    targ_defvec=bfd_elf32_ntradbigmips_freebsd_vec
    targ_selvecs="bfd_elf32_ntradlittlemips_freebsd_vec bfd_elf32_tradbigmips_freebsd_vec bfd_elf32_tradlittlemips_freebsd_vec bfd_elf64_tradbigmips_freebsd_vec bfd_elf64_tradlittlemips_freebsd_vec"
    # Generic vectors
    targ_selvecs="${targ_selvecs} bfd_elf32_ntradbigmips_vec bfd_elf32_ntradlittlemips_vec bfd_elf32_tradbigmips_vec bfd_elf32_tradlittlemips_vec bfd_elf64_tradbigmips_vec bfd_elf64_tradlittlemips_vec"
    ;;
  mips*el-*-freebsd* | mips*el-*-kfreebsd*-gnu)
    # FreeBSD vectors
    targ_defvec=bfd_elf32_tradlittlemips_freebsd_vec
    targ_selvecs="bfd_elf32_tradbigmips_freebsd_vec bfd_elf32_ntradlittlemips_freebsd_vec bfd_elf64_tradlittlemips_freebsd_vec bfd_elf32_ntradbigmips_freebsd_vec bfd_elf64_tradbigmips_freebsd_vec"
    # Generic vectors
    targ_selvecs="${targ_selvecs} bfd_elf32_tradlittlemips_vec bfd_elf32_tradbigmips_vec bfd_elf32_ntradlittlemips_vec bfd_elf64_tradlittlemips_vec bfd_elf32_ntradbigmips_vec bfd_elf64_tradbigmips_vec"
    ;;
  mips*-*-freebsd* | mips*-*-kfreebsd*-gnu)
    # FreeBSD vectors
    targ_defvec=bfd_elf32_tradbigmips_freebsd_vec
    targ_selvecs="bfd_elf32_tradlittlemips_freebsd_vec bfd_elf32_ntradbigmips_freebsd_vec bfd_elf64_tradbigmips_freebsd_vec bfd_elf32_ntradlittlemips_freebsd_vec bfd_elf64_tradlittlemips_freebsd_vec"
    # Generic vectors
    targ_selvecs="${targ_selvecs} bfd_elf32_tradbigmips_vec bfd_elf32_tradlittlemips_vec bfd_elf32_ntradbigmips_vec bfd_elf64_tradbigmips_vec bfd_elf32_ntradlittlemips_vec bfd_elf64_tradlittlemips_vec"
    ;;
  mmix-*-*)
    targ_defvec=bfd_elf64_mmix_vec
    targ_selvecs=bfd_mmo_vec
    want64=true
    ;;
#endif
  mn10200-*-*)
    targ_defvec=bfd_elf32_mn10200_vec
    ;;

  mn10300-*-*)
    targ_defvec=bfd_elf32_mn10300_vec
    targ_underscore=yes
    ;;

  mt-*-elf)
    targ_defvec=bfd_elf32_mt_vec
    ;;

  msp430-*-*)
    targ_defvec=bfd_elf32_msp430_vec
    targ_selvecs=bfd_elf32_msp430_ti_vec
    ;;

  ns32k-pc532-mach* | ns32k-pc532-ux*)
    targ_defvec=pc532machaout_vec
    targ_underscore=yes
    ;;
  ns32k-*-netbsd* | ns32k-*-lites* | ns32k-*-openbsd*)
    targ_defvec=pc532netbsd_vec
    targ_underscore=yes
    ;;

  nios2eb-*-*)
    targ_defvec=bfd_elf32_bignios2_vec
    targ_selvecs=bfd_elf32_littlenios2_vec
    ;;

  nios2el-*-*)
    targ_defvec=bfd_elf32_littlenios2_vec
    targ_selvecs=bfd_elf32_bignios2_vec
    ;;

  nios2-*-*)
    targ_defvec=bfd_elf32_littlenios2_vec
    targ_selvecs=bfd_elf32_bignios2_vec
    ;;

  openrisc-*-elf)
    targ_defvec=bfd_elf32_openrisc_vec
    ;;

  or32-*-coff)
    targ_defvec=or32coff_big_vec
    targ_underscore=yes
    ;;

  or32-*-elf)
    targ_defvec=bfd_elf32_or32_big_vec
    ;;

  pdp11-*-*)
    targ_defvec=pdp11_aout_vec
    targ_underscore=yes
    ;;

  pj-*-*)
    targ_defvec=bfd_elf32_pj_vec
    targ_selvecs="bfd_elf32_pj_vec bfd_elf32_pjl_vec"
    ;;

  pjl-*-*)
    targ_defvec=bfd_elf32_pjl_vec
    targ_selvecs="bfd_elf32_pjl_vec bfd_elf32_pj_vec bfd_elf32_i386_vec"
    ;;

  powerpc-*-aix5.[01] | rs6000-*-aix5.[01])
    targ_defvec=rs6000coff_vec
    targ_selvecs="aix5coff64_vec"
    want64=true
    ;;
#ifdef BFD64
  powerpc64-*-aix5.[01] | rs6000-*-aix5.[01])
    targ_defvec=aix5coff64_vec
    targ_selvecs="rs6000coff_vec"
    want64=true
    ;;
#endif
  powerpc-*-aix[5-9]* | rs6000-*-aix[5-9]*)
    targ_cflags=-DAIX_WEAK_SUPPORT
    targ_defvec=rs6000coff_vec
    targ_selvecs="aix5coff64_vec"
    want64=true
    ;;
#ifdef BFD64
  powerpc64-*-aix[5-9]* | rs6000-*-aix[5-9]*)
    targ_cflags=-DAIX_WEAK_SUPPORT
    targ_defvec=aix5coff64_vec
    targ_selvecs="rs6000coff_vec"
    want64=true
    ;;
#endif

  powerpc-*-aix* | powerpc-*-beos* | rs6000-*-*)
    targ_defvec=rs6000coff_vec
    targ64_selvecs=rs6000coff64_vec
    case "${targ}" in
	*-*-aix4.[3456789]* | *-*-aix[56789]*)
	want64=true;;
	*)
	targ_cflags=-DSMALL_ARCHIVE;;
    esac
    ;;
#ifdef BFD64
  powerpc64-*-aix*)
    targ_defvec=rs6000coff64_vec
    targ_selvecs=rs6000coff_vec
    want64=true
    ;;
  powerpc64-*-freebsd*)
    targ_defvec=bfd_elf64_powerpc_freebsd_vec
    targ_selvecs="bfd_elf64_powerpc_vec bfd_elf32_powerpc_vec bfd_elf32_powerpc_freebsd_vec bfd_elf32_powerpcle_vec rs6000coff_vec rs6000coff64_vec aix5coff64_vec"
    want64=true
    ;;
  powerpc64-*-elf* | powerpc-*-elf64* | powerpc64-*-linux* | \
  powerpc64-*-*bsd*)
    targ_defvec=bfd_elf64_powerpc_vec
    targ_selvecs="bfd_elf64_powerpcle_vec bfd_elf32_powerpc_vec bfd_elf32_powerpcle_vec rs6000coff_vec rs6000coff64_vec aix5coff64_vec"
    want64=true
    ;;
  powerpc64le-*-elf* | powerpcle-*-elf64* | powerpc64le-*-linux* | \
  powerpc64le-*-*bsd*)
    targ_defvec=bfd_elf64_powerpcle_vec
    targ_selvecs="bfd_elf64_powerpc_vec bfd_elf32_powerpcle_vec bfd_elf32_powerpc_vec rs6000coff_vec rs6000coff64_vec aix5coff64_vec"
    want64=true
    ;;
#endif
  powerpc-*-*freebsd*)
    targ_defvec=bfd_elf32_powerpc_freebsd_vec
    targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec bfd_elf32_powerpcle_vec ppcboot_vec"
    targ64_selvecs="bfd_elf64_powerpc_vec bfd_elf64_powerpcle_vec bfd_elf64_powerpc_freebsd_vec"
    ;;
  powerpc-*-*bsd* | powerpc-*-elf* | powerpc-*-sysv4* | powerpc-*-eabi* | \
  powerpc-*-solaris2* | powerpc-*-linux-* | powerpc-*-rtems* | \
  powerpc-*-chorus*)
    targ_defvec=bfd_elf32_powerpc_vec
    targ_selvecs="rs6000coff_vec bfd_elf32_powerpcle_vec ppcboot_vec"
    targ64_selvecs="bfd_elf64_powerpc_vec bfd_elf64_powerpcle_vec"
    ;;
  powerpc-*-kaos*)
    targ_defvec=bfd_elf32_powerpc_vec
    targ_selvecs="bfd_elf32_powerpcle_vec ppcboot_vec"
    targ64_selvecs="bfd_elf64_powerpc_vec bfd_elf64_powerpcle_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=pmac_xcoff_vec
    ;;
  powerpc-*-lynxos*)
    targ_defvec=bfd_elf32_powerpc_vec
    targ_selvecs="rs6000coff_vec"
    targ_cflags=-DSMALL_ARCHIVE
    ;;
  powerpc-*-netware*)
    targ_defvec=bfd_elf32_powerpc_vec
    targ_selvecs="nlm32_powerpc_vec rs6000coff_vec"
    ;;
  powerpc-*-nto*)
    targ_defvec=bfd_elf32_powerpc_vec
    targ_selvecs="rs6000coff_vec bfd_elf32_powerpcle_vec ppcboot_vec"
    ;;
  powerpc-*-vxworks* | powerpc-*-windiss*)
    targ_defvec=bfd_elf32_powerpc_vxworks_vec
    targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec bfd_elf32_powerpcle_vec ppcboot_vec"
    targ64_selvecs="bfd_elf64_powerpc_vec bfd_elf64_powerpcle_vec"
    ;;
  powerpcle-*-nto*)
    targ_defvec=bfd_elf32_powerpcle_vec
    targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec"
    ;;
  powerpcle-*-elf* | powerpcle-*-sysv4* | powerpcle-*-eabi* | \
  powerpcle-*-solaris2* | powerpcle-*-linux-* | powerpcle-*-vxworks*)
    targ_defvec=bfd_elf32_powerpcle_vec
    targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec"
    targ64_selvecs="bfd_elf64_powerpc_vec bfd_elf64_powerpcle_vec"
    ;;
  powerpcle-*-pe | powerpcle-*-winnt* | powerpcle-*-cygwin*)
    targ_defvec=bfd_powerpcle_pe_vec
    targ_selvecs="bfd_powerpcle_pei_vec bfd_powerpc_pei_vec bfd_powerpcle_pe_vec bfd_powerpc_pe_vec"
    ;;

  rl78-*-elf)
    targ_defvec=bfd_elf32_rl78_vec
    ;;

  rx-*-elf)
    targ_defvec=bfd_elf32_rx_le_vec
    targ_selvecs="bfd_elf32_rx_be_vec bfd_elf32_rx_le_vec bfd_elf32_rx_be_ns_vec"
    ;;

  s390-*-linux*)
    targ_defvec=bfd_elf32_s390_vec
    targ64_selvecs=bfd_elf64_s390_vec
    want64=true
    ;;
#ifdef BFD64
  s390x-*-linux*)
    targ_defvec=bfd_elf64_s390_vec
    targ_selvecs=bfd_elf32_s390_vec
    want64=true
    ;;
  s390x-*-tpf*)
    targ_defvec=bfd_elf64_s390_vec
    want64=true
    ;;

  score*-*-elf*)
    targ_defvec=bfd_elf32_bigscore_vec
    targ_selvecs=bfd_elf32_littlescore_vec
    ;;

  sh64l*-*-elf*)
    targ_defvec=bfd_elf32_sh64l_vec
    targ_selvecs="bfd_elf32_sh64_vec bfd_elf64_sh64l_vec bfd_elf64_sh64_vec bfd_elf32_shl_vec bfd_elf32_sh_vec"
    targ_underscore=yes
    want64=true
    ;;
  sh64-*-elf*)
    targ_defvec=bfd_elf32_sh64_vec
    targ_selvecs="bfd_elf32_sh64l_vec bfd_elf64_sh64_vec bfd_elf64_sh64l_vec bfd_elf32_sh_vec bfd_elf32_shl_vec"
    targ_underscore=yes
    want64=true
    ;;
  sh64eb-*-linux*)
    targ_defvec=bfd_elf32_sh64blin_vec
    targ_selvecs="bfd_elf32_sh64lin_vec bfd_elf64_sh64blin_vec bfd_elf64_sh64lin_vec bfd_elf32_shblin_vec bfd_elf32_shlin_vec"
    want64=true
    ;;
  sh64-*-linux*)
    targ_defvec=bfd_elf32_sh64lin_vec
    targ_selvecs="bfd_elf32_sh64blin_vec bfd_elf64_sh64lin_vec bfd_elf64_sh64blin_vec bfd_elf32_shlin_vec bfd_elf32_shblin_vec"
    want64=true
    ;;
  sh-*-linux*)
    targ_defvec=bfd_elf32_shblin_vec
    targ_selvecs="bfd_elf32_shlin_vec bfd_elf32_sh64lin_vec bfd_elf32_sh64blin_vec bfd_elf64_sh64lin_vec bfd_elf64_sh64blin_vec"
    want64=true
    ;;
#endif /* BFD64 */

  sh*eb-*-linux*)
    targ_defvec=bfd_elf32_shblin_vec
    targ_selvecs=bfd_elf32_shlin_vec
    ;;
  sh*-*-linux*)
    targ_defvec=bfd_elf32_shlin_vec
    targ_selvecs=bfd_elf32_shblin_vec
    ;;

  sh-*-uclinux* | sh[12]-*-uclinux*)
    targ_defvec=bfd_elf32_sh_vec
    targ_selvecs="bfd_elf32_shl_vec bfd_elf32_shblin_vec bfd_elf32_shlin_vec bfd_elf32_shfd_vec bfd_elf32_shbfd_vec"
#ifdef BFD64
    targ_selvecs="${targ_selvecs} bfd_elf32_sh64lin_vec bfd_elf32_sh64blin_vec bfd_elf64_sh64lin_vec bfd_elf64_sh64blin_vec"
#endif
    ;;

#ifdef BFD64
  sh5le-*-netbsd*)
    targ_defvec=bfd_elf32_sh64lnbsd_vec
    targ_selvecs="bfd_elf32_sh64nbsd_vec bfd_elf64_sh64lnbsd_vec bfd_elf64_sh64nbsd_vec bfd_elf32_shnbsd_vec bfd_elf32_shlnbsd_vec"
    want64=true
    ;;
  sh5-*-netbsd*)
    targ_defvec=bfd_elf32_sh64nbsd_vec
    targ_selvecs="bfd_elf32_sh64lnbsd_vec bfd_elf64_sh64lnbsd_vec bfd_elf64_sh64nbsd_vec bfd_elf32_shnbsd_vec bfd_elf32_shlnbsd_vec"
    want64=true
    ;;

  sh64le-*-netbsd*)
    targ_defvec=bfd_elf64_sh64lnbsd_vec
    targ_selvecs="bfd_elf64_sh64nbsd_vec bfd_elf32_sh64lnbsd_vec bfd_elf32_sh64nbsd_vec bfd_elf32_shnbsd_vec bfd_elf32_shlnbsd_vec"
    want64=true
    ;;
  sh64-*-netbsd*)
    targ_defvec=bfd_elf64_sh64nbsd_vec
    targ_selvecs="bfd_elf64_sh64lnbsd_vec bfd_elf32_sh64lnbsd_vec bfd_elf32_sh64nbsd_vec bfd_elf32_shnbsd_vec bfd_elf32_shlnbsd_vec"
    want64=true
    ;;

  sh*l*-*-netbsdelf*)
    targ_defvec=bfd_elf32_shlnbsd_vec
    targ_selvecs="bfd_elf32_shnbsd_vec shcoff_vec shlcoff_vec bfd_elf32_sh64lnbsd_vec bfd_elf32_sh64nbsd_vec bfd_elf64_sh64lnbsd_vec bfd_elf64_sh64nbsd_vec"
    want64=true
    ;;
  sh-*-netbsdelf*)
    targ_defvec=bfd_elf32_shnbsd_vec
    targ_selvecs="bfd_elf32_shlnbsd_vec shcoff_vec shlcoff_vec bfd_elf32_sh64lnbsd_vec bfd_elf32_sh64nbsd_vec bfd_elf64_sh64lnbsd_vec bfd_elf64_sh64nbsd_vec"
    want64=true
    ;;
#endif

  sh*-*-netbsdelf*)
    targ_defvec=bfd_elf32_shnbsd_vec
    targ_selvecs="bfd_elf32_shlnbsd_vec shcoff_vec shlcoff_vec"
    ;;
  sh*-*-symbianelf*)
    targ_defvec=bfd_elf32_shl_symbian_vec
    targ_selvecs="shlcoff_vec shlcoff_small_vec"
    targ_underscore=yes
    ;;

#ifdef BFD64
  shl*-*-elf* | sh[1234]l*-*-elf* | sh3el*-*-elf* | shl*-*-kaos*)
    targ_defvec=bfd_elf32_shl_vec
    targ_selvecs="bfd_elf32_sh_vec shlcoff_vec shcoff_vec shlcoff_small_vec shcoff_small_vec bfd_elf32_sh64_vec bfd_elf32_sh64l_vec bfd_elf64_sh64_vec bfd_elf64_sh64l_vec"
    targ_underscore=yes
    want64=true
    ;;
#endif

  sh-*-rtemscoff*)
    targ_defvec=shcoff_vec
    targ_selvecs="shcoff_vec shlcoff_vec shcoff_small_vec shlcoff_small_vec"
    targ_underscore=yes
    ;;

#ifdef BFD64
  sh-*-elf* | sh[1234]*-elf* | sh-*-rtems* | sh-*-kaos*)
    targ_defvec=bfd_elf32_sh_vec
    targ_selvecs="bfd_elf32_shl_vec shcoff_vec shlcoff_vec shcoff_small_vec shlcoff_small_vec bfd_elf32_sh64_vec bfd_elf32_sh64l_vec bfd_elf64_sh64_vec bfd_elf64_sh64l_vec"
    targ_underscore=yes
    want64=true
    ;;
#endif

  sh-*-nto*)
    targ_defvec=bfd_elf32_sh_vec
    targ_selvecs="bfd_elf32_shl_vec shcoff_vec shlcoff_vec shcoff_small_vec shlcoff_small_vec"
    targ_underscore=yes
    ;;
  sh*-*-openbsd*)
    targ_defvec=bfd_elf32_shlnbsd_vec
    targ_selvecs="bfd_elf32_shnbsd_vec shcoff_vec shlcoff_vec"
    ;;
  sh-*-pe)
    targ_defvec=shlpe_vec
    targ_selvecs="shlpe_vec shlpei_vec"
    targ_underscore=yes
    ;;
  sh-*-vxworks)
    targ_defvec=bfd_elf32_shvxworks_vec
    targ_selvecs="bfd_elf32_shlvxworks_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 shcoff_vec shlcoff_vec shcoff_small_vec shlcoff_small_vec"
    targ_underscore=yes
    ;;
  sh-*-*)
    targ_defvec=shcoff_vec
    targ_selvecs="shcoff_vec shlcoff_vec shcoff_small_vec shlcoff_small_vec"
    targ_underscore=yes
    ;;

  sparclet-*-aout*)
    targ_defvec=sunos_big_vec
    targ_selvecs=sparcle_aout_vec
    targ_underscore=yes
    ;;
  sparc86x-*-aout*)
    targ_defvec=sunos_big_vec
    targ_underscore=yes
    ;;
  sparclite-*-elf* | sparc86x-*-elf*)
    targ_defvec=bfd_elf32_sparc_vec
    ;;
  sparc*-*-chorus*)
    targ_defvec=bfd_elf32_sparc_vec
    ;;
  sparc-*-linux*aout*)
    targ_defvec=sparclinux_vec
    targ_selvecs="bfd_elf32_sparc_vec sunos_big_vec"
    targ_underscore=yes
    ;;
  sparc-*-linux-* | sparcv*-*-linux-*)
    targ_defvec=bfd_elf32_sparc_vec
    targ_selvecs="sparclinux_vec bfd_elf64_sparc_vec sunos_big_vec"
    ;;
  sparc-*-netbsdelf*)
    targ_defvec=bfd_elf32_sparc_vec
    targ_selvecs=sparcnetbsd_vec
    ;;
  sparc-*-netbsdaout* | sparc-*-netbsd*)
    targ_defvec=sparcnetbsd_vec
    targ_selvecs=bfd_elf32_sparc_vec
    targ_underscore=yes
    ;;
  sparc-*-openbsd[0-2].* | sparc-*-openbsd3.[0-1])
    targ_defvec=sparcnetbsd_vec
    targ_underscore=yes
    ;;
  sparc-*-openbsd*)
    targ_defvec=bfd_elf32_sparc_vec
    targ_selvecs=sparcnetbsd_vec
    ;;
  sparc-*-elf*)
    targ_defvec=bfd_elf32_sparc_vec
    targ_selvecs=sunos_big_vec
    ;;
  sparc-*-solaris2.[0-6] | sparc-*-solaris2.[0-6].*)
    targ_defvec=bfd_elf32_sparc_sol2_vec
    targ_selvecs=sunos_big_vec
    ;;
#ifdef BFD64
  sparc-*-solaris2* | sparcv9-*-solaris2* | sparc64-*-solaris2*)
    targ_defvec=bfd_elf32_sparc_sol2_vec
    targ_selvecs="bfd_elf64_sparc_sol2_vec sunos_big_vec"
    want64=true
    ;;
#endif
  sparc-*-sysv4*)
    targ_defvec=bfd_elf32_sparc_vec
    ;;
  sparc-*-vxworks*)
    targ_defvec=bfd_elf32_sparc_vxworks_vec
    targ_selvecs="bfd_elf32_sparc_vec sunos_big_vec"
    ;;
  sparc-*-netware*)
    targ_defvec=bfd_elf32_sparc_vec
    targ_selvecs="nlm32_sparc_vec sunos_big_vec"
    ;;
#ifdef BFD64
  sparc64-*-aout*)
    targ_defvec=sunos_big_vec
    targ_underscore=yes
    want64=true
    ;;
  sparc64*-*-linux-*)
    targ_defvec=bfd_elf64_sparc_vec
    targ_selvecs="bfd_elf32_sparc_vec sparclinux_vec sunos_big_vec"
    want64=true
    ;;
  sparc64-*-elf* | sparc64-*-rtems* )
    targ_defvec=bfd_elf64_sparc_vec
    targ_selvecs=bfd_elf32_sparc_vec
    want64=true
    ;;
#endif /* BFD64 */
  sparc*-*-coff*)
    targ_defvec=sparccoff_vec
    ;;
  sparc-*-rtems*)
    targ_defvec=bfd_elf32_sparc_vec
    targ_selvecs="sunos_big_vec sparccoff_vec"
    ;;
  sparc*-*-*)
    targ_defvec=sunos_big_vec
    targ_underscore=yes
    ;;

  spu-*-elf)
    targ_defvec=bfd_elf32_spu_vec
    want64=true
    ;;

#if HAVE_host_aout_vec
  tahoe-*-*)
    targ_defvec=host_aout_vec
    targ_underscore=yes
    ;;
#endif

  tic6x-*-elf)
    targ_defvec=bfd_elf32_tic6x_elf_le_vec
    targ_selvecs="bfd_elf32_tic6x_elf_be_vec bfd_elf32_tic6x_le_vec bfd_elf32_tic6x_be_vec"
    ;;

  tic6x-*-uclinux)
    targ_defvec=bfd_elf32_tic6x_linux_le_vec
    targ_selvecs="bfd_elf32_tic6x_linux_be_vec bfd_elf32_tic6x_le_vec bfd_elf32_tic6x_be_vec"
    ;;

  tic80*-*-*)
    targ_defvec=tic80coff_vec
    targ_underscore=yes
    ;;

#ifdef BFD64
  tilegx-*-*)
    targ_defvec=bfd_elf64_tilegx_le_vec
    targ_selvecs="bfd_elf64_tilegx_be_vec bfd_elf32_tilegx_be_vec bfd_elf32_tilegx_le_vec"
    ;;
  tilegxbe-*-*)
    targ_defvec=bfd_elf64_tilegx_be_vec
    targ_selvecs="bfd_elf64_tilegx_le_vec bfd_elf32_tilegx_be_vec bfd_elf32_tilegx_le_vec"
    ;;
#endif

  tilepro-*-*)
    targ_defvec=bfd_elf32_tilepro_vec
    ;;

  v850*-*-*)
    targ_defvec=bfd_elf32_v850_vec
    targ_selvecs="bfd_elf32_v850_rh850_vec"
    ;;

  vax-*-netbsdelf*)
    targ_defvec=bfd_elf32_vax_vec
    targ_selvecs="vaxnetbsd_vec vax1knetbsd_vec"
    ;;

  vax-*-netbsdaout* | vax-*-netbsd*)
    targ_defvec=vaxnetbsd_vec
    targ_selvecs="bfd_elf32_vax_vec vax1knetbsd_vec"
    targ_underscore=yes
    ;;

  vax-*-bsd* | vax-*-ultrix*)
    targ_defvec=vaxbsd_vec
    targ_underscore=yes
    ;;

  vax-*-openbsd*)
    targ_defvec=vaxnetbsd_vec
    targ_underscore=yes
    ;;

  vax-*-linux-*)
    targ_defvec=bfd_elf32_vax_vec
    ;;

  we32k-*-*)
    targ_defvec=we32kcoff_vec
    ;;

  w65-*-*)
    targ_defvec=w65_vec
    ;;
    
  xgate-*-*)
    targ_defvec=bfd_elf32_xgate_vec
    targ_selvecs="bfd_elf32_xgate_vec"
    ;;
 	
  xstormy16-*-elf)
    targ_defvec=bfd_elf32_xstormy16_vec
    ;;

  xtensa*-*-*)
    targ_defvec=bfd_elf32_xtensa_le_vec
    targ_selvecs=bfd_elf32_xtensa_be_vec
    ;;
 xc16x-*-elf)
    targ_defvec=bfd_elf32_xc16x_vec
    ;;

  z80-*-*)
    targ_defvec=z80coff_vec
    targ_underscore=no
    ;;

  z8k*-*-*)
    targ_defvec=z8kcoff_vec
    targ_underscore=yes
    ;;

  *-*-ieee*)
    targ_defvec=ieee_vec
    ;;

  *-adobe-*)
    targ_defvec=a_out_adobe_vec
    targ_underscore=yes
    ;;

  *-sony-*)
    targ_defvec=newsos3_vec
    targ_underscore=yes
    ;;

  *-tandem-*)
    targ_defvec=m68kcoff_vec
    targ_selvecs=ieee_vec
    ;;
# 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
  *elf*mips*)
    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
  *bfd_elf64* | *bfd_elf32_n*mips*)
    targ_selvecs="${targ_selvecs} bfd_elf64_little_generic_vec bfd_elf64_big_generic_vec bfd_elf32_little_generic_vec bfd_elf32_big_generic_vec"
    ;;
  *bfd_elf32*)
    targ_selvecs="${targ_selvecs} bfd_elf32_little_generic_vec bfd_elf32_big_generic_vec"
    ;;
esac

# If we support Intel L1OM target, then add support for bfd_l1om_arch.
case "${targ_defvec} ${targ_selvecs}" in
  *bfd_elf64_l1om_vec*)
    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
  *bfd_elf64_k1om_vec*)
    targ_archs="$targ_archs bfd_k1om_arch"
    ;;
esac
