# 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
#  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=
targ_cflags=
targ_underscore=no

targ_cpu=`echo $targ | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
case "${targ_cpu}" in
alpha*) targ_archs=bfd_alpha_arch ;;
arm*)	targ_archs=bfd_arm_arch ;;
strongarm*) targ_archs=bfd_arm_arch ;;
thumb*)	targ_archs=bfd_arm_arch ;;
xscale*) targ_archs=bfd_arm_arch ;;
c30*)	targ_archs=bfd_tic30_arch ;;
c54x*)	targ_archs=bfd_tic54x_arch ;;
hppa*)	targ_archs=bfd_hppa_arch ;;
x86_64) targ_archs=bfd_i386_arch ;;
i[3456]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 ;;
mips*)	targ_archs=bfd_mips_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" ;;
sparc*) targ_archs=bfd_sparc_arch ;;
v850*)	targ_archs=bfd_v850_arch ;;
z8k*)	targ_archs=bfd_z8k_arch ;;
*)	targ_archs=bfd_${targ_cpu}_arch ;;
esac


# WHEN ADDING ENTRIES TO THIS MATRIX:
#  Make sure that the left side always has two dashes.  Otherwise you
#  can get spurious matches.  Even for unambiguous cases, do this as a
#  convention, else the table becomes a real mess to understand and maintain.

case "${targ}" in
# START OF targmatch.h
#ifdef BFD64
  alpha*-*-netbsd* | alpha*-*-freebsd*)
    targ_defvec=bfd_elf64_alpha_vec
    targ_selvecs=ecoffalpha_little_vec
    ;;
  alpha*-*-netware*)
    targ_defvec=ecoffalpha_little_vec
    targ_selvecs=nlm32_alpha_vec
    ;;
  alpha*-*-linuxecoff*)
    targ_defvec=ecoffalpha_little_vec
    targ_selvecs=bfd_elf64_alpha_vec
    ;;
  alpha*-*-linux-gnu* | alpha*-*-elf*)
    targ_defvec=bfd_elf64_alpha_vec
    targ_selvecs=ecoffalpha_little_vec
    ;;
  alpha*-*-*vms*)
    targ_defvec=vms_alpha_vec
    ;;
  alpha*-*-*)
    targ_defvec=ecoffalpha_little_vec
    ;;
  ia64*-*-freebsd* | ia64*-*-linux-gnu* | ia64*-*-elf*)
    targ_defvec=bfd_elf64_ia64_little_vec
    targ_selvecs="bfd_elf64_ia64_big_vec bfd_efi_app_ia64_vec"
    ;;
  ia64*-*-hpux*)
    targ_defvec=bfd_elf64_ia64_big_vec
    targ_selvecs="bfd_elf32_ia64_big_vec"
    ;;
  sparc64-*-freebsd* | sparc64-*-netbsd*)
    targ_defvec=bfd_elf64_sparc_vec
    targ_selvecs="bfd_elf32_sparc_vec sunos_big_vec"
    ;;
#endif /* BFD64 */

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

  arm-*-netbsd*)
    targ_defvec=armnetbsd_vec
    targ_underscore=yes
    ;;
  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
    ;;
  arm-wince-pe | arm-*-wince)
    targ_defvec=armpe_little_vec
    targ_selvecs="armpe_little_vec armpe_big_vec armpei_little_vec armpei_big_vec"
    targ_underscore=no
    targ_cflags=-DARM_WINCE
    ;;
  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-*-vxworks*)
    targ_defvec=armcoff_little_vec
    targ_selvecs=armcoff_big_vec
    targ_underscore=yes
    targ_cflags=-DVXWORKS
    ;;
  arm-*-rtems*)
    targ_defvec=bfd_elf32_littlearm_vec
    targ_selvecs=bfd_elf32_bigarm_vec
    ;;
  armeb-*-elf | arm*b-*-linux-gnu*)
    targ_defvec=bfd_elf32_bigarm_vec
    targ_selvecs=bfd_elf32_littlearm_vec
    ;;
  arm-*-elf | arm-*-freebsd* | arm*-*-linux-gnu* | arm*-*-conix* | arm*-*-uclinux*)
    targ_defvec=bfd_elf32_littlearm_vec
    targ_selvecs=bfd_elf32_bigarm_vec
    ;;
  arm-*-oabi)
    targ_defvec=bfd_elf32_littlearm_oabi_vec
    targ_selvecs=bfd_elf32_bigarm_oabi_vec
    ;;

  thumb-*-coff)
    targ_defvec=armcoff_little_vec
    targ_selvecs=armcoff_big_vec
    targ_underscore=yes
    ;;
  thumb-*-oabi)
    targ_defvec=bfd_elf32_littlearm_oabi_vec
    targ_selvecs=bfd_elf32_bigarm_oabi_vec
    ;;
  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
    ;;

  a29k-*-ebmon* | a29k-*-udi* | a29k-*-coff* | a29k-*-sym1* | \
  a29k-*-vxworks* | a29k-*-sysv* | a29k-*rtems*)
    targ_defvec=a29kcoff_big_vec
    targ_selvecs=sunos_big_vec
    targ_underscore=yes
    ;;
  a29k-*-aout* | a29k-*-bsd* | a29k-*-vsta*)
    targ_defvec=sunos_big_vec
    targ_underscore=yes
    ;;

  avr-*-*)
    targ_defvec=bfd_elf32_avr_vec
    ;;

  c30-*-*aout* | tic30-*-*aout*)
    targ_defvec=tic30_aout_vec
    ;;
  c30-*-*coff* | tic30-*-*coff*)
    targ_defvec=tic30_coff_vec
    ;;

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

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

  d10v-*-*)
    targ_defvec=bfd_elf32_d10v_vec
    ;;

  d30v-*-*)
    targ_defvec=bfd_elf32_d30v_vec
    ;;

  fr30-*-elf)
    targ_defvec=bfd_elf32_fr30_vec
    ;;


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

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

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

  hppa*-*-linux-gnu*)
    targ_defvec=bfd_elf32_hppa_linux_vec
    targ_selvecs=bfd_elf32_hppa_vec
    ;;
  hppa*-*-*elf* | hppa*-*-lites* | hppa*-*-sysv4* | hppa*-*-rtems*)
    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[3456]86-*-sco3.2v5*coff)
    targ_defvec=i386coff_vec
    targ_selvecs=bfd_elf32_i386_vec
    ;;
  i[3456]86-*-sysv4* | i[3456]86-*-unixware* | i[3456]86-*-solaris2* | \
  i[3456]86-*-elf | i[3456]86-*-sco3.2v5* | \
  i[3456]86-*-dgux* | i[3456]86-*-sysv5*)
    targ_defvec=bfd_elf32_i386_vec
    targ_selvecs=i386coff_vec
    ;;
  i[3456]86-*-chorus*)
    targ_defvec=bfd_elf32_i386_vec
    ;;
  i[3456]86-*-msdosdjgpp* | i[3456]*-*-go32* | i[3456]86-go32-rtems* )
    targ_defvec=go32coff_vec
    targ_selvecs="go32stubbedcoff_vec i386aout_vec"
    ;;
  i[3456]86-*-sysv* | i[3456]86-*-isc* | i[3456]86-*-sco* | i[3456]86-*-coff | \
  i[3456]86-*-aix*)
    targ_defvec=i386coff_vec
    ;;
  i[3456]86*-*-rtemscoff*)
    targ_defvec=i386coff_vec
    targ_selvecs="bfd_elf32_i386_vec i386aout_vec"
    ;;
  i[3456]86-*-rtemself* | i[3456]86-*-rtems*)
    targ_defvec=bfd_elf32_i386_vec
    targ_selvecs="i386coff_vec i386aout_vec"
    ;;
 i[3456]86-sequent-bsd*)
    targ_defvec=i386dynix_vec
    targ_underscore=yes
    ;;
  i[3456]86-*-bsd*)
    targ_defvec=i386bsd_vec
    targ_underscore=yes
    ;;
  i[3456]86-*-freebsdaout* | i[3456]86-*-freebsd[12].* | \
  i[3456]86-*-freebsd[12])
    targ_defvec=i386freebsd_vec
    targ_selvecs=i386bsd_vec
    targ_underscore=yes
    ;;
  i[3456]86-*-freebsd*)
    targ_defvec=bfd_elf32_i386_vec
    targ_selvecs=i386coff_vec
    ;;
  i[3456]86-*-netbsdelf*) 
    targ_defvec=bfd_elf32_i386_vec
    targ_selvecs=i386netbsd_vec
    ;;
  i[3456]86-*-netbsdaout* | i[3456]86-*-netbsd* | i[3456]86-*-openbsd*)
    targ_defvec=i386netbsd_vec
    targ_selvecs="bfd_elf32_i386_vec i386bsd_vec"
    targ_underscore=yes
    ;;
  i[3456]86-*-netware*)
    targ_defvec=bfd_elf32_i386_vec
    targ_selvecs="nlm32_i386_vec i386coff_vec i386aout_vec"
    ;;
  i[3456]86-*-linux*aout*)
    targ_defvec=i386linux_vec
    targ_selvecs=bfd_elf32_i386_vec
    targ_underscore=yes
    ;;
  i[3456]86-*-linux-gnu*)
    targ_defvec=bfd_elf32_i386_vec
    targ_selvecs="i386linux_vec bfd_efi_app_ia32_vec"
    ;;
#ifdef BFD64    
  x86_64-*-freebsd*)
    targ_defvec=bfd_elf64_x86_64_vec
    targ_selvecs="bfd_elf32_i386_vec i386coff_vec bfd_efi_app_ia32_vec"
    ;;
  x86_64-*-linux-gnu*)
    targ_defvec=bfd_elf64_x86_64_vec
    targ_selvecs="bfd_elf32_i386_vec i386linux_vec bfd_efi_app_ia32_vec"
    ;;
#endif
  i[3456]86-*-lynxos*)
    targ_defvec=i386lynx_coff_vec
    targ_selvecs=i386lynx_aout_vec
    ;;
  i[3456]86-*-gnu*)
    targ_defvec=bfd_elf32_i386_vec
    ;;
  i[3456]86-*-mach* | i[3456]86-*-osf1mk*)
    targ_defvec=i386mach3_vec
    targ_cflags=-DSTAT_FOR_EXEC
    targ_underscore=yes
    ;;
  i[3456]86-*-os9k)
    targ_defvec=i386os9k_vec
    ;;
  i[3456]86-*-msdos*)
    targ_defvec=i386aout_vec
    targ_selvecs=i386msdos_vec
    ;;
  i[3456]86-*-moss*)
    targ_defvec=bfd_elf32_i386_vec
    targ_selvecs="i386msdos_vec i386aout_vec"
    ;;
  i[3456]86-*-beospe*)
    targ_defvec=i386pe_vec
    targ_selvecs="i386pe_vec i386pei_vec"
    ;;
  i[3456]86-*-beoself* | i[3456]86-*-beos*)
    targ_defvec=bfd_elf32_i386_vec
    targ_selvecs="i386pe_vec i386pei_vec"
    ;;
  i[3456]86-*-interix*)
    targ_defvec=i386pei_vec
    targ_selvecs="i386pe_vec"
    # FIXME: This should eventually be checked at runtime.
    targ_cflags=-DSTRICT_PE_FORMAT
    ;;
  i[3456]86-*-mingw32* | i[3456]86-*-cygwin* | i[3456]86-*-winnt | i[3456]86-*-pe)
    targ_defvec=i386pe_vec
    targ_selvecs="i386pe_vec i386pei_vec bfd_elf32_i386_vec"
    ;;
  i[3456]86-none-*)
    targ_defvec=i386coff_vec
    ;;
  i[3456]86-*-aout* | i[3456]86*-*-vsta*)
    targ_defvec=i386aout_vec
    ;;
  i[3456]86-*-vxworks*)
    targ_defvec=i386aout_vec
    targ_underscore=yes
    ;;
  i[3456]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* | i960-*-rtems*)
    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"
    ;;

  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*-apollo-*)
    targ_defvec=apollocoff_vec
    ;;
  m68*-bull-sysv*)
    targ_defvec=m68kcoffun_vec
    targ_underscore=yes
    ;;
  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*-*-rtemscoff*)
    targ_defvec=m68kcoff_vec
    targ_selvecs="m68kcoff_vec versados_vec ieee_vec aout0_big_vec"
    ;;
  m68*-*-elf* | m68*-*-sysv4*)
    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-gnu*)
    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*-*-lynxos*)
    targ_defvec=m68klynx_coff_vec
    targ_selvecs=m68klynx_aout_vec
    ;;
  m68*-hp*-netbsd*)
    targ_defvec=m68k4knetbsd_vec
    targ_selvecs="m68knetbsd_vec hp300bsd_vec sunos_big_vec"
    targ_underscore=yes
    ;;
  m68*-*-netbsd* | 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*-apple-aux*)
    targ_defvec=m68kaux_coff_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*-*-*)
    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"
    ;;

  mips*-big-*)
    targ_defvec=ecoff_big_vec
    targ_selvecs=ecoff_little_vec
    ;;
  mips-dec-netbsd* | mips*el*-*-netbsd*)
    targ_defvec=bfd_elf32_littlemips_vec
    targ_selvecs="bfd_elf32_bigmips_vec ecoff_little_vec ecoff_big_vec"
    ;;
 mips*-*-netbsd*)
    targ_defvec=bfd_elf32_bigmips_vec
    targ_selvecs="bfd_elf32_littlemips_vec ecoff_big_vec ecoff_little_vec"
    ;;
  mips*-dec-bsd*)
    targ_defvec=aout_mips_little_vec
    targ_underscore=yes
    ;;
  mips*-dec-mach3*)
    targ_defvec=aout_mips_little_vec
    targ_cflags=-DSTAT_FOR_EXEC
    ;;
  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
    ;;
  mips*-*-irix6*)
    targ_defvec=bfd_elf32_bigmips_vec
    targ_selvecs="bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec"
    ;;
  mips*-*-irix5*)
    targ_defvec=bfd_elf32_bigmips_vec
    targ_selvecs="bfd_elf32_littlemips_vec ecoff_big_vec ecoff_little_vec"
    ;;
  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*-*-mach3*)
    targ_defvec=aout_mips_little_vec
    targ_cflags=-DSTAT_FOR_EXEC
    ;;
  mips*-*-pe*)
    targ_defvec=mipslpe_vec
    targ_selvecs="mipslpei_vec mipslpei_vec ecoff_little_vec ecoff_big_vec"
    targ_underscore=yes
    ;;
  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
    ;;
  mips*el-*-elf* | mips*el-*-rtems* | 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*)
    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"
    ;;
  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*el*-*-linux-gnu*)
    targ_defvec=bfd_elf32_tradlittlemips_vec
    targ_selvecs="bfd_elf32_tradbigmips_vec bfd_elf64_tradlittlemips_vec bfd_elf64_tradbigmips_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"
    ;;
  mips*-*-linux-gnu*)
    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"
    ;;

  mn10200-*-*)
    targ_defvec=bfd_elf32_mn10200_vec
    ;;

  mn10300-*-*)
    targ_defvec=bfd_elf32_mn10300_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
    ;;

  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-*-aix* | powerpc-*-beos*)
    targ_defvec=rs6000coff_vec
    targ_selvecs="rs6000coff64_vec"
    ;;
  powerpc-*-*bsd* | powerpc-*-elf* | powerpc-*-sysv4* | powerpc-*-eabi* | \
  powerpc-*-solaris2* | powerpc-*-linux-gnu* | powerpc-*-rtems* | \
  powerpc-*-chorus* | powerpc-*-vxworks*)
    targ_defvec=bfd_elf32_powerpc_vec
    targ_selvecs="rs6000coff_vec bfd_elf32_powerpcle_vec ppcboot_vec"
    ;;
  powerpc-*-macos* | powerpc-*-mpw*)
    targ_defvec=pmac_xcoff_vec
    ;;
  powerpc-*-netware*)
    targ_defvec=bfd_elf32_powerpc_vec
    targ_selvecs="nlm32_powerpc_vec rs6000coff_vec"
    ;;
  powerpcle-*-elf* | powerpcle-*-sysv4* | powerpcle-*-eabi* | \
  powerpcle-*-solaris2* | powerpcle-*-linux-gnu* | powerpcle-*-vxworks* |\
  powerpcle-*-rtems*)
    targ_defvec=bfd_elf32_powerpcle_vec
    targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_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"
    ;;

  rs6000-*-*)
    targ_defvec=rs6000coff_vec
    ;;

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

  sh-*-elf* | sh-*-rtemself*)
    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-*-pe)
    targ_defvec=shlpe_vec
    targ_selvecs="shlpe_vec shlpei_vec"
    targ_underscore=yes
    ;;
  sh-*-* | sh-*-rtems*)
    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-gnu*)
    targ_defvec=bfd_elf32_sparc_vec
    targ_selvecs="sparclinux_vec bfd_elf64_sparc_vec sunos_big_vec"
    ;;
  sparc-*-lynxos*)
    targ_defvec=sparclynx_coff_vec
    targ_selvecs=sparclynx_aout_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*)
    targ_defvec=sparcnetbsd_vec
    targ_underscore=yes
    ;;
  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"
    ;;
#endif
  sparc-*-sysv4*)
    targ_defvec=bfd_elf32_sparc_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
    ;;
  sparc64-*-linux-gnu*)
    targ_defvec=bfd_elf64_sparc_vec
    targ_selvecs="bfd_elf32_sparc_vec sparclinux_vec sunos_big_vec"
    ;;
  sparc64-*-elf*)
    targ_defvec=bfd_elf64_sparc_vec
    targ_selvecs=bfd_elf32_sparc_vec
    ;;
#endif /* BFD64 */
  sparc*-*-coff*)
    targ_defvec=sparccoff_vec
    ;;
  sparc*-*-rtemsaout*)
    targ_defvec=sunos_big_vec
    targ_selvecs="bfd_elf32_sparc_vec sparccoff_vec"
    targ_underscore=yes
    ;;
  sparc*-*-rtems* | sparc*-*-rtemself*)
    targ_defvec=bfd_elf32_sparc_vec
    targ_selvecs="sunos_big_vec sparccoff_vec"
    ;;
  sparc*-*-* | sparc*-*-rtems*)
    targ_defvec=sunos_big_vec
    targ_underscore=yes
    ;;

#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
    ;;
#if HAVE_host_aout_vec
  vax-*-bsd* | vax-*-ultrix*)
    targ_defvec=host_aout_vec
    targ_underscore=yes
    ;;
#endif

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

  we32k-*-*)
    targ_defvec=we32kcoff_vec
    ;;

  w65-*-*)
    targ_defvec=w65_vec
    ;;

  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

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