# config.bfd
# 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
 maxq-*-coff | \
 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* | \
 i960-*-rtems* | \
 or32-*-rtems* | \
 m68*-*-lynxos* | \
 sparc-*-lynxos* | \
 vax-*-vms* | \
 arm-*-oabi | \
 thumb-*-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
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 ;;
m6811*|m68hc11*) targ_archs="bfd_m68hc11_arch bfd_m68hc12_arch" ;;
m6812*|m68hc12*) targ_archs="bfd_m68hc12_arch bfd_m68hc11_arch" ;;
m68*)		 targ_archs=bfd_m68k_arch ;;
m88*)		 targ_archs=bfd_m88k_arch ;;
maxq*)		 targ_archs=bfd_maxq_arch ;;
mips*)		 targ_archs=bfd_mips_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 ;;
strongarm*)	 targ_archs=bfd_arm_arch ;;
thumb*)		 targ_archs=bfd_arm_arch ;;
v850*)		 targ_archs=bfd_v850_arch ;;
x86_64*)	 targ_archs=bfd_i386_arch ;;
xscale*)	 targ_archs=bfd_arm_arch ;;
xtensa*)	 targ_archs=bfd_xtensa_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
    ;;

# START OF targmatch.h
#ifdef BFD64
  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*-*-linuxecoff*)
    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
    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_efi_app_ia64_vec bfd_efi_bsdrv_ia64_vec bfd_efi_rtdrv_ia64_vec"
    want64=true
    ;;
  ia64*-*-hpux*)
    targ_defvec=bfd_elf32_ia64_hpux_big_vec
    targ_selvecs="bfd_elf64_ia64_hpux_big_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
    ;;

  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*)
    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* | strongarm-*-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
    ;;

  thumb-*-coff)
    targ_defvec=armcoff_little_vec
    targ_selvecs=armcoff_big_vec
    targ_underscore=yes
    ;;
  thumb-*-elf)
    targ_defvec=bfd_elf32_littlearm_vec
    targ_selvecs=bfd_elf32_bigarm_vec
    ;;
  thumb-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
    ;;
  thumb-*-pe*)
    targ_defvec=armpe_little_vec
    targ_selvecs="armpe_little_vec armpe_big_vec armpei_little_vec armpei_big_vec"
    targ_underscore=yes
    ;;
  strongarm-*-elf)
    targ_defvec=bfd_elf32_littlearm_vec
    targ_selvecs=bfd_elf32_bigarm_vec
    ;;
  strongarm-*-coff)
    targ_defvec=armcoff_little_vec
    targ_selvecs=armcoff_big_vec
    targ_underscore=yes
    ;;
  xscale-*-elf)
    targ_defvec=bfd_elf32_littlearm_vec
    targ_selvecs=bfd_elf32_bigarm_vec
    ;;
  xscale-*-coff)
    targ_defvec=armcoff_little_vec
    targ_selvecs=armcoff_big_vec
    targ_underscore=yes
    ;;

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

  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
    ;;

  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
    ;;

#if defined (HOST_HPPAHPUX) || defined (HOST_HPPABSD) || defined (HOST_HPPAOSF) || defined (HOST_HPPAMPEIX)
  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
    ;;
#endif /* defined (HOST_HPPAHPUX) || defined (HOST_HPPABSD) || defined (HOST_HPPAOSF) */

  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_vec
    targ_selvecs=i386coff_vec
    targ64_selvecs=bfd_elf64_x86_64_vec
    want64=true
    ;;
#ifdef BFD64
  x86_64-*-solaris2*)
    targ_defvec=bfd_elf32_i386_vec
    targ_selvecs="bfd_elf64_x86_64_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
    ;;
  *-*-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_le_vec
    targ_selvecs="mach_o_le_vec mach_o_be_vec mach_o_fat_vec pef_vec pef_xlib_vec sym_vec"
    targ_archs="bfd_i386_arch 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-*-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 | i[3-7]86-*-dragonfly*)
    targ_defvec=bfd_elf32_i386_freebsd_vec
    targ_selvecs="bfd_elf32_i386_vec bfd_efi_app_ia32_vec bfd_efi_bsdrv_ia32_vec bfd_efi_rtdrv_ia32_vec i386coff_vec"
    targ64_selvecs="bfd_elf64_x86_64_freebsd_vec bfd_elf64_x86_64_vec bfd_efi_app_x86_64_vec bfd_efi_bsdrv_x86_64_vec bfd_efi_rtdrv_x86_64_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
    ;;
  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 bfd_efi_app_ia32_vec bfd_efi_bsdrv_ia32_vec bfd_efi_rtdrv_ia32_vec"
    targ64_selvecs=bfd_elf64_x86_64_vec
    ;;
#ifdef BFD64
  x86_64-*-dicos*)
    targ_defvec=bfd_elf64_x86_64_vec
    targ_selvecs="bfd_elf32_i386_vec"
    want64=true
    ;;
  x86_64-*-elf*)
    targ_defvec=bfd_elf64_x86_64_vec
    targ_selvecs="bfd_elf32_i386_vec i386coff_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 bfd_efi_app_ia32_vec bfd_efi_bsdrv_ia32_vec bfd_efi_rtdrv_ia32_vec bfd_efi_app_x86_64_vec bfd_efi_bsdrv_x86_64_vec bfd_efi_rtdrv_x86_64_vec bfd_elf32_i386_vec bfd_elf64_x86_64_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 bfd_efi_app_ia32_vec bfd_efi_bsdrv_ia32_vec bfd_efi_rtdrv_ia32_vec bfd_efi_app_x86_64_vec bfd_efi_bsdrv_x86_64_vec bfd_efi_rtdrv_x86_64_vec"
    want64=true
    ;;
  x86_64-*-linux-*)
    targ_defvec=bfd_elf64_x86_64_vec
    targ_selvecs="bfd_elf32_i386_vec i386linux_vec bfd_efi_app_ia32_vec bfd_efi_bsdrv_ia32_vec bfd_efi_rtdrv_ia32_vec bfd_efi_app_x86_64_vec bfd_efi_bsdrv_x86_64_vec bfd_efi_rtdrv_x86_64_vec"
    want64=true
    ;;
  x86_64-*-mingw*)
    targ_defvec=x86_64pe_vec
    targ_selvecs="x86_64pe_vec x86_64pei_vec bfd_elf64_x86_64_vec"
    want64=true
    targ_underscore=yes
    ;;
#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
    ;;

  m32c-*-elf)
    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
    ;;

  maxq-*-coff)
    targ_defvec=maxqcoff_vec
    ;;

  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
    ;;

  mips*-big-*)
    targ_defvec=ecoff_big_vec
    targ_selvecs=ecoff_little_vec
    ;;
  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"
    ;;
  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"
    want64=true
    ;;
#endif
  mips*-*-irix5*)
    targ_defvec=bfd_elf32_bigmips_vec
    targ_selvecs="bfd_elf32_littlemips_vec ecoff_big_vec ecoff_little_vec"
    ;;
  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"
    ;;
  mips*-*-sysv4*)
    targ_defvec=bfd_elf32_tradbigmips_vec
    targ_selvecs="bfd_elf32_tradlittlemips_vec ecoff_big_vec ecoff_little_vec"
    ;;
  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"
    want64=true
    ;;
  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"
    want64=true
    ;;
#endif
  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"
    want64=true
    ;;  
  mips*-sde-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"
    want64=true
    ;;
  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"
    ;;
#ifdef BFD64
  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"
    want64=true
    ;;
#endif
  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"
    ;;
#ifdef BFD64
  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"
    want64=true
    ;;
  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"
    want64=true
    ;;
#endif
  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"
    want64=true
    ;;
  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"
    want64=true
    ;;
#ifdef BFD64
  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
    ;;

  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
    ;;

  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])
    targ_defvec=rs6000coff_vec
    targ_selvecs="aix5coff64_vec"
    want64=true
    ;;
#ifdef BFD64
  powerpc64-*-aix5.[01])
    targ_defvec=aix5coff64_vec
    targ_selvecs="rs6000coff_vec"
    want64=true
    ;;
#endif
  powerpc-*-aix5*)
    targ_cflags=-DAIX_WEAK_SUPPORT
    targ_defvec=rs6000coff_vec
    targ_selvecs="aix5coff64_vec"
    want64=true
    ;;
#ifdef BFD64
  powerpc64-*-aix5*)
    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-*-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"
    want64=true
    ;;
  powerpc64le-*-elf* | powerpcle-*-elf64*)
    targ_defvec=bfd_elf64_powerpcle_vec
    targ_selvecs="bfd_elf64_powerpc_vec bfd_elf32_powerpcle_vec bfd_elf32_powerpc_vec rs6000coff_vec rs6000coff64_vec"
    want64=true
    ;;
#endif
  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="bfd_powerpc_arch bfd_rs6000_arch 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"
    ;;

  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
    ;;
#endif

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

#ifdef BFD64
  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_shblin_vec bfd_elf32_shlin_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* | sparc-*-solaris2.[0-6] | sparc-*-solaris2.[0-6].*)
    targ_defvec=bfd_elf32_sparc_vec
    targ_selvecs=sunos_big_vec
    ;;
#ifdef BFD64
  sparc-*-solaris2* | sparcv9-*-solaris2* | sparc64-*-solaris2*)
    targ_defvec=bfd_elf32_sparc_vec
    targ_selvecs="bfd_elf64_sparc_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*)
    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

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

  v850-*-*)
    targ_defvec=bfd_elf32_v850_vec
    ;;
  v850e-*-*)
    targ_defvec=bfd_elf32_v850_vec
    ;;
  v850ea-*-*)
    targ_defvec=bfd_elf32_v850_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
    ;;

  vax*-*-*vms*)
    targ_defvec=vms_vax_vec
    ;;

  we32k-*-*)
    targ_defvec=we32kcoff_vec
    ;;

  w65-*-*)
    targ_defvec=w65_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

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
