# 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-*-dragonfly*)
    targ_defvec=bfd_elf32_i386_vec
    targ64_selvecs="bfd_elf64_x86_64_vec bfd_elf64_l1om_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"
    # 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-*-dragonfly*)
    targ_defvec=bfd_elf64_x86_64_vec
    targ_selvecs="bfd_elf32_i386_vec bfd_elf64_l1om_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] | 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-*-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*)
    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-*-*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* | 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_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
