# 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
 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 | \
 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 ;;
lm32)	         targ_archs=bfd_lm32_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 ;;
microblaze*)	 targ_archs=bfd_microblaze_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
    ;;

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

# 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_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
    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* | 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* | 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
    ;;

  moxie-*-elf | moxie-*-rtems | moxie-*-uclinux)
    targ_defvec=bfd_elf32_moxie_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"
    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 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"
    ;;
  *-*-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"
    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-*-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 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"
    # 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"
    ;;
  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_elf64_l1om_vec"
    ;;
#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"
    want64=true
    ;;
  x86_64-*-elf*)
    targ_defvec=bfd_elf64_x86_64_vec
    targ_selvecs="bfd_elf32_i386_vec bfd_elf64_l1om_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 i386pei_vec x86_64pei_vec bfd_elf32_i386_vec bfd_elf64_x86_64_vec bfd_elf64_l1om_vec bfd_elf64_l1om_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"
    want64=true
    ;;
  x86_64-*-linux-*)
    targ_defvec=bfd_elf64_x86_64_vec
    targ_selvecs="bfd_elf32_i386_vec i386linux_vec i386pei_vec x86_64pei_vec bfd_elf64_l1om_vec"
    want64=true
    ;;
  x86_64-*-mingw*)
    targ_defvec=x86_64pe_vec
    targ_selvecs="x86_64pe_vec x86_64pei_vec bfd_elf64_x86_64_vec bfd_elf64_l1om_vec i386pe_vec i386pei_vec bfd_elf32_i386_vec"
    want64=true
    targ_underscore=no
    ;;
#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
    ;;

  microblaze*-*)
    targ_defvec=bfd_elf32_microblaze_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-*-aix[5-9]*)
    targ_cflags=-DAIX_WEAK_SUPPORT
    targ_defvec=rs6000coff_vec
    targ_selvecs="aix5coff64_vec"
    want64=true
    ;;
#ifdef BFD64
  powerpc64-*-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-*-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="$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"
    ;;

  rx-*-elf)
    targ_defvec=bfd_elf32_rx_le_vec
    targ_selvecs="bfd_elf32_rx_be_vec bfd_elf32_rx_le_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*)
    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_le_vec
    targ_selvecs=bfd_elf32_tic6x_be_vec
    ;;

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

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

  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

# 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
