xref: /dflybsd-src/contrib/gdb-7/bfd/config.bfd (revision de8e141f24382815c10a4012d209bbbf7abf1112)
15796c8dcSSimon Schubert# config.bfd
2*ef5ccd6cSJohn Marino#
3*ef5ccd6cSJohn Marino#   Copyright 2012, 2013 Free Software Foundation
4*ef5ccd6cSJohn Marino#
5*ef5ccd6cSJohn Marino# This file is free software; you can redistribute it and/or modify
6*ef5ccd6cSJohn Marino# it under the terms of the GNU General Public License as published by
7*ef5ccd6cSJohn Marino# the Free Software Foundation; either version 3 of the License, or
8*ef5ccd6cSJohn Marino# (at your option) any later version.
9*ef5ccd6cSJohn Marino#
10*ef5ccd6cSJohn Marino# This program is distributed in the hope that it will be useful,
11*ef5ccd6cSJohn Marino# but WITHOUT ANY WARRANTY; without even the implied warranty of
12*ef5ccd6cSJohn Marino# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13*ef5ccd6cSJohn Marino# GNU General Public License for more details.
14*ef5ccd6cSJohn Marino#
15*ef5ccd6cSJohn Marino# You should have received a copy of the GNU General Public License
16*ef5ccd6cSJohn Marino# along with this program; see the file COPYING3.  If not see
17*ef5ccd6cSJohn Marino# <http://www.gnu.org/licenses/>.
18*ef5ccd6cSJohn Marino#
195796c8dcSSimon Schubert# Convert a canonical host type into a BFD host type.
205796c8dcSSimon Schubert# Set shell variable targ to canonical target name, and run
215796c8dcSSimon Schubert# using ``. config.bfd''.
225796c8dcSSimon Schubert# Sets the following shell variables:
235796c8dcSSimon Schubert#  targ_defvec		Default vector for this target
245796c8dcSSimon Schubert#  targ_selvecs		Vectors to build for this target
255796c8dcSSimon Schubert#  targ64_selvecs	Vectors to build if --enable-64-bit-bfd is given
265796c8dcSSimon Schubert#			or if host is 64 bit.
275796c8dcSSimon Schubert#  targ_archs		Architectures for this target
285796c8dcSSimon Schubert#  targ_cflags		$(CFLAGS) for this target (FIXME: pretty bogus)
295796c8dcSSimon Schubert#  targ_underscore	Whether underscores are used: yes or no
305796c8dcSSimon Schubert
315796c8dcSSimon Schubert# Part of this file is processed by targmatch.sed to generate the
325796c8dcSSimon Schubert# targmatch.h file.  The #ifdef and #endif lines that appear below are
335796c8dcSSimon Schubert# copied directly into targmatch.h.
345796c8dcSSimon Schubert
355796c8dcSSimon Schubert# The binutils c++filt program wants to know whether underscores are
365796c8dcSSimon Schubert# stripped or not.  That is why we set targ_underscore.  c++filt uses
375796c8dcSSimon Schubert# this information to choose a default.  This information is
385796c8dcSSimon Schubert# duplicated in the symbol_leading_char field of the BFD target
395796c8dcSSimon Schubert# vector, but c++filt does not deal with object files and is not
405796c8dcSSimon Schubert# linked against libbfd.a.  It is not terribly important that c++filt
415796c8dcSSimon Schubert# get this right; it is just convenient.
425796c8dcSSimon Schubert
435796c8dcSSimon Schuberttarg_defvec=
445796c8dcSSimon Schuberttarg_selvecs=
455796c8dcSSimon Schuberttarg64_selvecs=
465796c8dcSSimon Schuberttarg_cflags=
475796c8dcSSimon Schuberttarg_underscore=no
485796c8dcSSimon Schubert
495796c8dcSSimon Schubert# Catch obsolete configurations.
505796c8dcSSimon Schubertcase $targ in
515796c8dcSSimon Schubert null)
525796c8dcSSimon Schubert    if test "x$enable_obsolete" != xyes; then
535796c8dcSSimon Schubert      echo "*** Configuration $targ is obsolete." >&2
545796c8dcSSimon Schubert      echo "*** Specify --enable-obsolete to build it anyway." >&2
555796c8dcSSimon Schubert      echo "*** Support will be REMOVED in the next major release of BINUTILS," >&2
565796c8dcSSimon Schubert      echo "*** unless a maintainer comes forward." >&2
575796c8dcSSimon Schubert      exit 1
585796c8dcSSimon Schubert    fi;;
595796c8dcSSimon Schubertesac
605796c8dcSSimon Schubert
615796c8dcSSimon Schubertcase $targ in
625796c8dcSSimon Schubert m68*-apple-aux* | \
635796c8dcSSimon Schubert m68*-apollo-* | \
645796c8dcSSimon Schubert m68*-bull-sysv* | \
655796c8dcSSimon Schubert m68*-*-rtemscoff* | \
66cf7f2e2dSJohn Marino maxq-*-coff | \
675796c8dcSSimon Schubert i960-*-rtems* | \
685796c8dcSSimon Schubert or32-*-rtems* | \
695796c8dcSSimon Schubert m68*-*-lynxos* | \
705796c8dcSSimon Schubert sparc-*-lynxos* | \
715796c8dcSSimon Schubert vax-*-vms* | \
725796c8dcSSimon Schubert arm-*-oabi | \
735796c8dcSSimon Schubert a29k-* | \
745796c8dcSSimon Schubert hppa*-*-rtems* | \
755796c8dcSSimon Schubert *-go32-rtems* | \
765796c8dcSSimon Schubert i[3-7]86*-*-rtemscoff* | \
775796c8dcSSimon Schubert mips*el-*-rtems* | \
785796c8dcSSimon Schubert powerpcle-*-rtems* | \
795796c8dcSSimon Schubert sparc*-*-rtemsaout* | \
805796c8dcSSimon Schubert null)
815796c8dcSSimon Schubert    echo "*** Configuration $targ is obsolete." >&2
825796c8dcSSimon Schubert    echo "*** Support has been REMOVED." >&2
835796c8dcSSimon Schubert    exit 1
845796c8dcSSimon Schubert    ;;
855796c8dcSSimon Schubertesac
865796c8dcSSimon Schubert
875796c8dcSSimon Schuberttarg_cpu=`echo $targ | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
885796c8dcSSimon Schubertcase "${targ_cpu}" in
89*ef5ccd6cSJohn Marinoaarch64*)	 targ_archs="bfd_aarch64_arch bfd_arm_arch";;
905796c8dcSSimon Schubertalpha*)		 targ_archs=bfd_alpha_arch ;;
915796c8dcSSimon Schubertam34*|am33_2.0*) targ_archs=bfd_mn10300_arch ;;
925796c8dcSSimon Schubertarm*)		 targ_archs=bfd_arm_arch ;;
935796c8dcSSimon Schubertbfin*)		 targ_archs=bfd_bfin_arch ;;
945796c8dcSSimon Schubertc30*)		 targ_archs=bfd_tic30_arch ;;
955796c8dcSSimon Schubertc4x*)		 targ_archs=bfd_tic4x_arch ;;
965796c8dcSSimon Schubertc54x*)		 targ_archs=bfd_tic54x_arch ;;
975796c8dcSSimon Schubertcr16*)		 targ_archs=bfd_cr16_arch ;;
985796c8dcSSimon Schubertcrisv32)	 targ_archs=bfd_cris_arch ;;
995796c8dcSSimon Schubertcrx*)		 targ_archs=bfd_crx_arch ;;
1005796c8dcSSimon Schubertdlx*)		 targ_archs=bfd_dlx_arch ;;
1015796c8dcSSimon Schubertfido*)		 targ_archs=bfd_m68k_arch ;;
1025796c8dcSSimon Schuberthppa*)		 targ_archs=bfd_hppa_arch ;;
1035796c8dcSSimon Schuberti[3-7]86)	 targ_archs=bfd_i386_arch ;;
1045796c8dcSSimon Schuberti370)		 targ_archs=bfd_i370_arch ;;
1055796c8dcSSimon Schubertlm32)	         targ_archs=bfd_lm32_arch ;;
106*ef5ccd6cSJohn Marinom6811*|m68hc11*) targ_archs="bfd_m68hc11_arch bfd_m68hc12_arch bfd_m9s12x_arch bfd_m9s12xg_arch" ;;
107*ef5ccd6cSJohn Marinom6812*|m68hc12*) targ_archs="bfd_m68hc12_arch bfd_m68hc11_arch bfd_m9s12x_arch bfd_m9s12xg_arch" ;;
1085796c8dcSSimon Schubertm68*)		 targ_archs=bfd_m68k_arch ;;
1095796c8dcSSimon Schubertm88*)		 targ_archs=bfd_m88k_arch ;;
1105796c8dcSSimon Schubertmicroblaze*)	 targ_archs=bfd_microblaze_arch ;;
1115796c8dcSSimon Schubertmips*)		 targ_archs=bfd_mips_arch ;;
112*ef5ccd6cSJohn Marinonios2*)          targ_archs=bfd_nios2_arch ;;
1135796c8dcSSimon Schubertor32*)		 targ_archs=bfd_or32_arch ;;
1145796c8dcSSimon Schubertpdp11*)		 targ_archs=bfd_pdp11_arch ;;
1155796c8dcSSimon Schubertpj*)		 targ_archs="bfd_pj_arch bfd_i386_arch";;
1165796c8dcSSimon Schubertpowerpc*)	 targ_archs="bfd_rs6000_arch bfd_powerpc_arch" ;;
1175796c8dcSSimon Schubertrs6000)		 targ_archs="bfd_rs6000_arch bfd_powerpc_arch" ;;
1185796c8dcSSimon Schuberts390*)		 targ_archs=bfd_s390_arch ;;
1195796c8dcSSimon Schubertsh*)		 targ_archs=bfd_sh_arch ;;
1205796c8dcSSimon Schubertsparc*)		 targ_archs=bfd_sparc_arch ;;
1215796c8dcSSimon Schubertspu*)            targ_archs=bfd_spu_arch ;;
122a45ae5f8SJohn Marinotilegx*)	 targ_archs=bfd_tilegx_arch ;;
123a45ae5f8SJohn Marinotilepro*)	 targ_archs=bfd_tilepro_arch ;;
124*ef5ccd6cSJohn Marinov850*)		 targ_archs="bfd_v850_arch bfd_v850_rh850_arch" ;;
1255796c8dcSSimon Schubertx86_64*)	 targ_archs=bfd_i386_arch ;;
1265796c8dcSSimon Schubertxtensa*)	 targ_archs=bfd_xtensa_arch ;;
127*ef5ccd6cSJohn Marinoxgate)		 targ_archs=bfd_xgate_arch ;;
1285796c8dcSSimon Schubertz80|r800)	 targ_archs=bfd_z80_arch ;;
1295796c8dcSSimon Schubertz8k*)		 targ_archs=bfd_z8k_arch ;;
1305796c8dcSSimon Schubert*)		 targ_archs=bfd_${targ_cpu}_arch ;;
1315796c8dcSSimon Schubertesac
1325796c8dcSSimon Schubert
1335796c8dcSSimon Schubert
1345796c8dcSSimon Schubert# WHEN ADDING ENTRIES TO THIS MATRIX:
1355796c8dcSSimon Schubert#  Make sure that the left side always has two dashes.  Otherwise you
1365796c8dcSSimon Schubert#  can get spurious matches.  Even for unambiguous cases, do this as a
1375796c8dcSSimon Schubert#  convention, else the table becomes a real mess to understand and maintain.
1385796c8dcSSimon Schubert#
1395796c8dcSSimon Schubert#  Keep obsolete entries above the START comment, to keep them out of
1405796c8dcSSimon Schubert#  targmatch.h.
1415796c8dcSSimon Schubert
1425796c8dcSSimon Schubertcase "${targ}" in
1435796c8dcSSimon Schubert  mips*-dec-bsd*)
1445796c8dcSSimon Schubert    echo "This target is obsolete and has been removed."
1455796c8dcSSimon Schubert    exit 1
1465796c8dcSSimon Schubert    ;;
1475796c8dcSSimon Schubert
1485796c8dcSSimon Schubert  mips*-*-mach3*)
1495796c8dcSSimon Schubert    echo "This target is obsolete and has been removed."
1505796c8dcSSimon Schubert    exit 1
1515796c8dcSSimon Schubert    ;;
1525796c8dcSSimon Schubert
1535796c8dcSSimon Schubert  mips*-*-pe*)
1545796c8dcSSimon Schubert    echo "This target is obsolete and has been removed."
1555796c8dcSSimon Schubert    exit 1
1565796c8dcSSimon Schubert    ;;
1575796c8dcSSimon Schubert
1585796c8dcSSimon Schubert  plugin)
1595796c8dcSSimon Schubert    targ_defvec=plugin_vec
1605796c8dcSSimon Schubert    targ_selvecs="plugin_vec"
1615796c8dcSSimon Schubert    ;;
1625796c8dcSSimon Schubert
1635796c8dcSSimon Schubert# START OF targmatch.h
1645796c8dcSSimon Schubert#ifdef BFD64
165*ef5ccd6cSJohn Marino  aarch64-*-elf)
166*ef5ccd6cSJohn Marino    targ_defvec=bfd_elf64_littleaarch64_vec
167*ef5ccd6cSJohn Marino    targ_selvecs="bfd_elf64_bigaarch64_vec bfd_elf32_littlearm_vec bfd_elf32_bigarm_vec"
168*ef5ccd6cSJohn Marino    want64=true
169*ef5ccd6cSJohn Marino    ;;
170*ef5ccd6cSJohn Marino  aarch64_be-*-elf)
171*ef5ccd6cSJohn Marino    targ_defvec=bfd_elf64_bigaarch64_vec
172*ef5ccd6cSJohn Marino    targ_selvecs="bfd_elf64_littleaarch64_vec bfd_elf32_bigarm_vec bfd_elf32_littlearm_vec"
173*ef5ccd6cSJohn Marino    want64=true
174*ef5ccd6cSJohn Marino    ;;
175*ef5ccd6cSJohn Marino  aarch64-*-linux*)
176*ef5ccd6cSJohn Marino    targ_defvec=bfd_elf64_littleaarch64_vec
177*ef5ccd6cSJohn Marino    targ_selvecs="bfd_elf64_bigaarch64_vec bfd_elf32_littlearm_vec bfd_elf32_bigarm_vec"
178*ef5ccd6cSJohn Marino    want64=true
179*ef5ccd6cSJohn Marino    ;;
180*ef5ccd6cSJohn Marino  aarch64_be-*-linux*)
181*ef5ccd6cSJohn Marino    targ_defvec=bfd_elf64_bigaarch64_vec
182*ef5ccd6cSJohn Marino    targ_selvecs="bfd_elf64_littleaarch64_vec bfd_elf32_bigarm_vec bfd_elf32_littlearm_vec"
183*ef5ccd6cSJohn Marino    want64=true
184*ef5ccd6cSJohn Marino    ;;
1855796c8dcSSimon Schubert  alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu)
1865796c8dcSSimon Schubert    targ_defvec=bfd_elf64_alpha_freebsd_vec
1875796c8dcSSimon Schubert    targ_selvecs="bfd_elf64_alpha_vec ecoffalpha_little_vec"
1885796c8dcSSimon Schubert    want64=true
1895796c8dcSSimon Schubert    # FreeBSD <= 4.0 supports only the old nonstandard way of ABI labelling.
1905796c8dcSSimon Schubert    case "${targ}" in
1915796c8dcSSimon Schubert      alpha*-*-freebsd3* | alpha*-*-freebsd4 | alpha*-*-freebsd4.0*)
1925796c8dcSSimon Schubert	targ_cflags=-DOLD_FREEBSD_ABI_LABEL ;;
1935796c8dcSSimon Schubert    esac
1945796c8dcSSimon Schubert    ;;
1955796c8dcSSimon Schubert  alpha*-*-netbsd* | alpha*-*-openbsd*)
1965796c8dcSSimon Schubert    targ_defvec=bfd_elf64_alpha_vec
1975796c8dcSSimon Schubert    targ_selvecs=ecoffalpha_little_vec
1985796c8dcSSimon Schubert    want64=true
1995796c8dcSSimon Schubert    ;;
2005796c8dcSSimon Schubert  alpha*-*-netware*)
2015796c8dcSSimon Schubert    targ_defvec=ecoffalpha_little_vec
2025796c8dcSSimon Schubert    targ_selvecs=nlm32_alpha_vec
2035796c8dcSSimon Schubert    want64=true
2045796c8dcSSimon Schubert    ;;
2055796c8dcSSimon Schubert  alpha*-*-linuxecoff*)
2065796c8dcSSimon Schubert    targ_defvec=ecoffalpha_little_vec
2075796c8dcSSimon Schubert    targ_selvecs=bfd_elf64_alpha_vec
2085796c8dcSSimon Schubert    want64=true
2095796c8dcSSimon Schubert    ;;
2105796c8dcSSimon Schubert  alpha*-*-linux-* | alpha*-*-elf*)
2115796c8dcSSimon Schubert    targ_defvec=bfd_elf64_alpha_vec
2125796c8dcSSimon Schubert    targ_selvecs=ecoffalpha_little_vec
2135796c8dcSSimon Schubert    want64=true
2145796c8dcSSimon Schubert    ;;
2155796c8dcSSimon Schubert  alpha*-*-*vms*)
2165796c8dcSSimon Schubert    targ_defvec=vms_alpha_vec
217a45ae5f8SJohn Marino    targ_selvecs=vms_lib_txt_vec
2185796c8dcSSimon Schubert    want64=true
2195796c8dcSSimon Schubert    ;;
2205796c8dcSSimon Schubert  alpha*-*-*)
2215796c8dcSSimon Schubert    targ_defvec=ecoffalpha_little_vec
2225796c8dcSSimon Schubert    want64=true
2235796c8dcSSimon Schubert    ;;
2245796c8dcSSimon Schubert  ia64*-*-freebsd* | ia64*-*-netbsd* | ia64*-*-linux-* | ia64*-*-elf* | ia64*-*-kfreebsd*-gnu)
2255796c8dcSSimon Schubert    targ_defvec=bfd_elf64_ia64_little_vec
2265796c8dcSSimon Schubert    targ_selvecs="bfd_elf64_ia64_big_vec bfd_pei_ia64_vec"
2275796c8dcSSimon Schubert    want64=true
2285796c8dcSSimon Schubert    ;;
2295796c8dcSSimon Schubert  ia64*-*-hpux*)
2305796c8dcSSimon Schubert    targ_defvec=bfd_elf32_ia64_hpux_big_vec
2315796c8dcSSimon Schubert    targ_selvecs="bfd_elf64_ia64_hpux_big_vec"
2325796c8dcSSimon Schubert    want64=true
2335796c8dcSSimon Schubert    ;;
2345796c8dcSSimon Schubert  ia64*-*-*vms*)
2355796c8dcSSimon Schubert    targ_defvec=bfd_elf64_ia64_vms_vec
236a45ae5f8SJohn Marino    targ_selvecs=vms_lib_txt_vec
2375796c8dcSSimon Schubert    want64=true
2385796c8dcSSimon Schubert    ;;
2395796c8dcSSimon Schubert  sparc64-*-freebsd* | sparc64-*-kfreebsd*-gnu)
2405796c8dcSSimon Schubert    targ_defvec=bfd_elf64_sparc_freebsd_vec
2415796c8dcSSimon Schubert    targ_selvecs="bfd_elf64_sparc_vec bfd_elf32_sparc_vec sunos_big_vec"
2425796c8dcSSimon Schubert    ;;
2435796c8dcSSimon Schubert  sparc64-*-netbsd* | sparc64-*-openbsd*)
2445796c8dcSSimon Schubert    targ_defvec=bfd_elf64_sparc_vec
2455796c8dcSSimon Schubert    targ_selvecs="bfd_elf32_sparc_vec sunos_big_vec"
2465796c8dcSSimon Schubert    want64=true
2475796c8dcSSimon Schubert    ;;
2485796c8dcSSimon Schubert#endif /* BFD64 */
2495796c8dcSSimon Schubert
2505796c8dcSSimon Schubert  am34-*-linux* | am33_2.0-*-linux*)
2515796c8dcSSimon Schubert    targ_defvec=bfd_elf32_am33lin_vec
2525796c8dcSSimon Schubert    ;;
2535796c8dcSSimon Schubert
2545796c8dcSSimon Schubert  arc-*-elf*)
2555796c8dcSSimon Schubert    targ_defvec=bfd_elf32_littlearc_vec
2565796c8dcSSimon Schubert    targ_selvecs=bfd_elf32_bigarc_vec
2575796c8dcSSimon Schubert    ;;
2585796c8dcSSimon Schubert
259*ef5ccd6cSJohn Marino  arm-*-nacl*)
260*ef5ccd6cSJohn Marino    targ_defvec=bfd_elf32_littlearm_nacl_vec
261*ef5ccd6cSJohn Marino    targ_selvecs="bfd_elf32_bigarm_nacl_vec bfd_elf32_i386_nacl_vec"
262*ef5ccd6cSJohn Marino    targ64_selvecs="bfd_elf32_x86_64_nacl_vec bfd_elf64_x86_64_nacl_vec"
263*ef5ccd6cSJohn Marino    targ_archs="$targ_archs bfd_i386_arch"
264*ef5ccd6cSJohn Marino    ;;
265*ef5ccd6cSJohn Marino  armeb-*-nacl*)
266*ef5ccd6cSJohn Marino    targ_defvec=bfd_elf32_bigarm_nacl_vec
267*ef5ccd6cSJohn Marino    targ_selvecs="bfd_elf32_littlearm_nacl_vec bfd_elf32_i386_nacl_vec"
268*ef5ccd6cSJohn Marino    targ64_selvecs="bfd_elf32_x86_64_nacl_vec bfd_elf64_x86_64_nacl_vec"
269*ef5ccd6cSJohn Marino    targ_archs="$targ_archs bfd_i386_arch"
270*ef5ccd6cSJohn Marino    ;;
2715796c8dcSSimon Schubert  armeb-*-netbsdelf*)
2725796c8dcSSimon Schubert    targ_defvec=bfd_elf32_bigarm_vec
2735796c8dcSSimon Schubert    targ_selvecs="bfd_elf32_littlearm_vec armnetbsd_vec"
2745796c8dcSSimon Schubert    ;;
2755796c8dcSSimon Schubert  arm-*-netbsdelf*)
2765796c8dcSSimon Schubert    targ_defvec=bfd_elf32_littlearm_vec
2775796c8dcSSimon Schubert    targ_selvecs="bfd_elf32_bigarm_vec armnetbsd_vec"
2785796c8dcSSimon Schubert    ;;
2795796c8dcSSimon Schubert  arm-*-netbsd* | arm-*-openbsd*)
2805796c8dcSSimon Schubert    targ_defvec=armnetbsd_vec
2815796c8dcSSimon Schubert    targ_selvecs="bfd_elf32_littlearm_vec bfd_elf32_bigarm_vec"
2825796c8dcSSimon Schubert    targ_underscore=yes
2835796c8dcSSimon Schubert    targ_cflags=-D__QNXTARGET__
2845796c8dcSSimon Schubert    ;;
2855796c8dcSSimon Schubert  arm-*-nto* | nto*arm*)
2865796c8dcSSimon Schubert    targ_defvec=bfd_elf32_littlearm_vec
2875796c8dcSSimon Schubert    targ_selvecs=bfd_elf32_bigarm_vec
2885796c8dcSSimon Schubert    ;;
2895796c8dcSSimon Schubert  arm-*-riscix*)
2905796c8dcSSimon Schubert    targ_defvec=riscix_vec
2915796c8dcSSimon Schubert    ;;
2925796c8dcSSimon Schubert  arm-epoc-pe*)
2935796c8dcSSimon Schubert    targ_defvec=arm_epoc_pe_little_vec
2945796c8dcSSimon Schubert    targ_selvecs="arm_epoc_pe_little_vec arm_epoc_pe_big_vec arm_epoc_pei_little_vec arm_epoc_pei_big_vec"
2955796c8dcSSimon Schubert    targ_underscore=no
2965796c8dcSSimon Schubert    targ_cflags=-DARM_COFF_BUGFIX
2975796c8dcSSimon Schubert    ;;
2985796c8dcSSimon Schubert  arm-wince-pe | arm-*-wince | arm*-*-mingw32ce* | arm*-*-cegcc*)
2995796c8dcSSimon Schubert    targ_defvec=arm_wince_pe_little_vec
3005796c8dcSSimon Schubert    targ_selvecs="arm_wince_pe_little_vec arm_wince_pe_big_vec arm_wince_pei_little_vec arm_wince_pei_big_vec"
3015796c8dcSSimon Schubert    targ_underscore=no
3025796c8dcSSimon Schubert    targ_cflags="-DARM_WINCE -DARM_COFF_BUGFIX"
3035796c8dcSSimon Schubert    ;;
3045796c8dcSSimon Schubert  arm-*-pe*)
3055796c8dcSSimon Schubert    targ_defvec=armpe_little_vec
3065796c8dcSSimon Schubert    targ_selvecs="armpe_little_vec armpe_big_vec armpei_little_vec armpei_big_vec"
3075796c8dcSSimon Schubert    targ_underscore=yes
3085796c8dcSSimon Schubert    ;;
3095796c8dcSSimon Schubert  arm-*-aout | armel-*-aout)
3105796c8dcSSimon Schubert    targ_defvec=aout_arm_little_vec
3115796c8dcSSimon Schubert    targ_selvecs=aout_arm_big_vec
3125796c8dcSSimon Schubert    ;;
3135796c8dcSSimon Schubert  armeb-*-aout)
3145796c8dcSSimon Schubert    targ_defvec=aout_arm_big_vec
3155796c8dcSSimon Schubert    targ_selvecs=aout_arm_little_vec
3165796c8dcSSimon Schubert    ;;
3175796c8dcSSimon Schubert  arm-*-coff)
3185796c8dcSSimon Schubert    targ_defvec=armcoff_little_vec
3195796c8dcSSimon Schubert    targ_selvecs=armcoff_big_vec
3205796c8dcSSimon Schubert    targ_underscore=yes
3215796c8dcSSimon Schubert    ;;
3225796c8dcSSimon Schubert  arm-*-rtems*)
3235796c8dcSSimon Schubert    targ_defvec=bfd_elf32_littlearm_vec
3245796c8dcSSimon Schubert    targ_selvecs=bfd_elf32_bigarm_vec
3255796c8dcSSimon Schubert    ;;
3265796c8dcSSimon Schubert  armeb-*-elf | arm*b-*-linux-*)
3275796c8dcSSimon Schubert    targ_defvec=bfd_elf32_bigarm_vec
3285796c8dcSSimon Schubert    targ_selvecs=bfd_elf32_littlearm_vec
3295796c8dcSSimon Schubert    ;;
330a45ae5f8SJohn Marino  arm-*-kaos*)
3315796c8dcSSimon Schubert    targ_defvec=bfd_elf32_littlearm_vec
3325796c8dcSSimon Schubert    targ_selvecs=bfd_elf32_bigarm_vec
3335796c8dcSSimon Schubert    ;;
3345796c8dcSSimon Schubert  arm-*-elf | arm-*-freebsd* | arm*-*-linux-* | arm*-*-conix* | \
3355796c8dcSSimon Schubert  arm*-*-uclinux* | arm-*-kfreebsd*-gnu | \
3365796c8dcSSimon Schubert  arm*-*-eabi* )
3375796c8dcSSimon Schubert    targ_defvec=bfd_elf32_littlearm_vec
3385796c8dcSSimon Schubert    targ_selvecs=bfd_elf32_bigarm_vec
3395796c8dcSSimon Schubert    ;;
3405796c8dcSSimon Schubert  arm*-*-vxworks | arm*-*-windiss)
3415796c8dcSSimon Schubert    targ_defvec=bfd_elf32_littlearm_vxworks_vec
3425796c8dcSSimon Schubert    targ_selvecs=bfd_elf32_bigarm_vxworks_vec
3435796c8dcSSimon Schubert    ;;
3445796c8dcSSimon Schubert  arm*-*-symbianelf*)
3455796c8dcSSimon Schubert    targ_defvec=bfd_elf32_littlearm_symbian_vec
3465796c8dcSSimon Schubert    targ_selvecs=bfd_elf32_bigarm_symbian_vec
3475796c8dcSSimon Schubert    ;;
3485796c8dcSSimon Schubert  arm9e-*-elf)
3495796c8dcSSimon Schubert    targ_defvec=bfd_elf32_littlearm_vec
3505796c8dcSSimon Schubert    targ_selvecs=bfd_elf32_bigarm_vec
3515796c8dcSSimon Schubert    ;;
3525796c8dcSSimon Schubert
3535796c8dcSSimon Schubert  avr-*-*)
3545796c8dcSSimon Schubert    targ_defvec=bfd_elf32_avr_vec
3555796c8dcSSimon Schubert    ;;
3565796c8dcSSimon Schubert
3575796c8dcSSimon Schubert  bfin-*-*)
3585796c8dcSSimon Schubert    targ_defvec=bfd_elf32_bfin_vec
3595796c8dcSSimon Schubert    targ_selvecs=bfd_elf32_bfinfdpic_vec
3605796c8dcSSimon Schubert    targ_underscore=yes
3615796c8dcSSimon Schubert    ;;
3625796c8dcSSimon Schubert
3635796c8dcSSimon Schubert  c30-*-*aout* | tic30-*-*aout*)
3645796c8dcSSimon Schubert    targ_defvec=tic30_aout_vec
3655796c8dcSSimon Schubert    ;;
3665796c8dcSSimon Schubert  c30-*-*coff* | tic30-*-*coff*)
3675796c8dcSSimon Schubert    targ_defvec=tic30_coff_vec
3685796c8dcSSimon Schubert    ;;
3695796c8dcSSimon Schubert
3705796c8dcSSimon Schubert  c4x-*-*coff* | tic4x-*-*coff* | tic4x-*-rtems*)
3715796c8dcSSimon Schubert    targ_defvec=tic4x_coff1_vec
3725796c8dcSSimon Schubert    targ_selvecs="tic4x_coff1_beh_vec tic4x_coff2_vec tic4x_coff2_beh_vec tic4x_coff0_vec tic4x_coff0_beh_vec"
3735796c8dcSSimon Schubert    targ_underscore=yes
3745796c8dcSSimon Schubert    ;;
3755796c8dcSSimon Schubert
3765796c8dcSSimon Schubert  c54x*-*-*coff* | tic54x-*-*coff*)
3775796c8dcSSimon Schubert    targ_defvec=tic54x_coff1_vec
3785796c8dcSSimon Schubert    targ_selvecs="tic54x_coff1_beh_vec tic54x_coff2_vec tic54x_coff2_beh_vec tic54x_coff0_vec tic54x_coff0_beh_vec"
3795796c8dcSSimon Schubert    targ_underscore=yes
3805796c8dcSSimon Schubert    ;;
3815796c8dcSSimon Schubert
382*ef5ccd6cSJohn Marino  cr16-*-elf* | cr16*-*-uclinux*)
3835796c8dcSSimon Schubert    targ_defvec=bfd_elf32_cr16_vec
3845796c8dcSSimon Schubert    targ_underscore=yes
3855796c8dcSSimon Schubert    ;;
3865796c8dcSSimon Schubert
3875796c8dcSSimon Schubert  cr16c-*-elf*)
3885796c8dcSSimon Schubert    targ_defvec=bfd_elf32_cr16c_vec
3895796c8dcSSimon Schubert    targ_underscore=yes
3905796c8dcSSimon Schubert    ;;
3915796c8dcSSimon Schubert
3925796c8dcSSimon Schubert  cris-*-* | crisv32-*-*)
3935796c8dcSSimon Schubert    targ_defvec=cris_aout_vec
3945796c8dcSSimon Schubert    targ_selvecs="bfd_elf32_us_cris_vec bfd_elf32_cris_vec ieee_vec"
3955796c8dcSSimon Schubert    targ_underscore=yes # Note: not true for bfd_elf32_cris_vec.
3965796c8dcSSimon Schubert    ;;
3975796c8dcSSimon Schubert
3985796c8dcSSimon Schubert  crx-*-elf*)
3995796c8dcSSimon Schubert    targ_defvec=bfd_elf32_crx_vec
4005796c8dcSSimon Schubert    targ_underscore=yes
4015796c8dcSSimon Schubert    ;;
4025796c8dcSSimon Schubert
4035796c8dcSSimon Schubert  d10v-*-*)
4045796c8dcSSimon Schubert    targ_defvec=bfd_elf32_d10v_vec
4055796c8dcSSimon Schubert    ;;
4065796c8dcSSimon Schubert
4075796c8dcSSimon Schubert  dlx-*-elf*)
4085796c8dcSSimon Schubert    targ_defvec=bfd_elf32_dlx_big_vec
4095796c8dcSSimon Schubert    targ_selvecs="bfd_elf32_dlx_big_vec"
4105796c8dcSSimon Schubert    ;;
4115796c8dcSSimon Schubert
4125796c8dcSSimon Schubert  d30v-*-*)
4135796c8dcSSimon Schubert    targ_defvec=bfd_elf32_d30v_vec
4145796c8dcSSimon Schubert    ;;
4155796c8dcSSimon Schubert
416a45ae5f8SJohn Marino  epiphany-*-elf)
417a45ae5f8SJohn Marino    targ_defvec=bfd_elf32_epiphany_vec
418a45ae5f8SJohn Marino    ;;
419a45ae5f8SJohn Marino
4205796c8dcSSimon Schubert  fido-*-elf* )
4215796c8dcSSimon Schubert    targ_defvec=bfd_elf32_m68k_vec
4225796c8dcSSimon Schubert    targ_selvecs="m68kcoff_vec ieee_vec"
4235796c8dcSSimon Schubert    ;;
4245796c8dcSSimon Schubert
4255796c8dcSSimon Schubert  fr30-*-elf)
4265796c8dcSSimon Schubert    targ_defvec=bfd_elf32_fr30_vec
4275796c8dcSSimon Schubert    ;;
4285796c8dcSSimon Schubert
4295796c8dcSSimon Schubert  frv-*-elf)
4305796c8dcSSimon Schubert    targ_defvec=bfd_elf32_frv_vec
4315796c8dcSSimon Schubert    targ_selvecs=bfd_elf32_frvfdpic_vec
4325796c8dcSSimon Schubert    ;;
4335796c8dcSSimon Schubert
4345796c8dcSSimon Schubert  frv-*-*linux*)
4355796c8dcSSimon Schubert    targ_defvec=bfd_elf32_frvfdpic_vec
4365796c8dcSSimon Schubert    targ_selvecs=bfd_elf32_frv_vec
4375796c8dcSSimon Schubert    ;;
4385796c8dcSSimon Schubert
439*ef5ccd6cSJohn Marino  moxie-*-elf | moxie-*-rtems* | moxie-*-uclinux)
440*ef5ccd6cSJohn Marino    targ_defvec=bfd_elf32_bigmoxie_vec
441*ef5ccd6cSJohn Marino    targ_selvecs=bfd_elf32_littlemoxie_vec
4425796c8dcSSimon Schubert    ;;
4435796c8dcSSimon Schubert
4445796c8dcSSimon Schubert  h8300*-*-rtemscoff*)
4455796c8dcSSimon Schubert    targ_defvec=h8300coff_vec
4465796c8dcSSimon Schubert    targ_underscore=yes
4475796c8dcSSimon Schubert    ;;
4485796c8dcSSimon Schubert
4495796c8dcSSimon Schubert  h8300*-*-elf | h8300*-*-rtems*)
4505796c8dcSSimon Schubert    targ_defvec=bfd_elf32_h8300_vec
4515796c8dcSSimon Schubert    targ_underscore=yes
4525796c8dcSSimon Schubert    ;;
4535796c8dcSSimon Schubert
4545796c8dcSSimon Schubert  h8300*-*-*)
4555796c8dcSSimon Schubert    targ_defvec=h8300coff_vec
4565796c8dcSSimon Schubert    targ_underscore=yes
4575796c8dcSSimon Schubert    ;;
4585796c8dcSSimon Schubert
4595796c8dcSSimon Schubert  h8500-*-*)
4605796c8dcSSimon Schubert    targ_defvec=h8500coff_vec
4615796c8dcSSimon Schubert    targ_underscore=yes
4625796c8dcSSimon Schubert    ;;
4635796c8dcSSimon Schubert
4645796c8dcSSimon Schubert#ifdef BFD64
4655796c8dcSSimon Schubert  hppa*64*-*-linux-*)
4665796c8dcSSimon Schubert    targ_defvec=bfd_elf64_hppa_linux_vec
4675796c8dcSSimon Schubert    targ_selvecs=bfd_elf64_hppa_vec
4685796c8dcSSimon Schubert    want64=true
4695796c8dcSSimon Schubert    ;;
4705796c8dcSSimon Schubert  hppa*64*-*-hpux11*)
4715796c8dcSSimon Schubert    targ_defvec=bfd_elf64_hppa_vec
4725796c8dcSSimon Schubert    targ_selvecs=bfd_elf64_hppa_linux_vec
4735796c8dcSSimon Schubert    targ_cflags=-DHPUX_LARGE_AR_IDS
4745796c8dcSSimon Schubert    want64=true
4755796c8dcSSimon Schubert    ;;
4765796c8dcSSimon Schubert#endif
4775796c8dcSSimon Schubert
4785796c8dcSSimon Schubert  hppa*-*-linux-*)
4795796c8dcSSimon Schubert    targ_defvec=bfd_elf32_hppa_linux_vec
4805796c8dcSSimon Schubert    targ_selvecs=bfd_elf32_hppa_vec
4815796c8dcSSimon Schubert    ;;
4825796c8dcSSimon Schubert  hppa*-*-netbsd*)
4835796c8dcSSimon Schubert    targ_defvec=bfd_elf32_hppa_nbsd_vec
4845796c8dcSSimon Schubert    targ_selvecs="bfd_elf32_hppa_vec bfd_elf32_hppa_linux_vec"
4855796c8dcSSimon Schubert    ;;
4865796c8dcSSimon Schubert  hppa*-*-*elf* | hppa*-*-lites* | hppa*-*-sysv4* | hppa*-*-openbsd*)
4875796c8dcSSimon Schubert    targ_defvec=bfd_elf32_hppa_vec
4885796c8dcSSimon Schubert    targ_selvecs=bfd_elf32_hppa_linux_vec
4895796c8dcSSimon Schubert    ;;
4905796c8dcSSimon Schubert
4915796c8dcSSimon Schubert  hppa*-*-bsd*)
4925796c8dcSSimon Schubert    targ_defvec=som_vec
4935796c8dcSSimon Schubert    targ_selvecs=bfd_elf32_hppa_vec
4945796c8dcSSimon Schubert    ;;
4955796c8dcSSimon Schubert  hppa*-*-hpux* | hppa*-*-hiux* | hppa*-*-mpeix*)
4965796c8dcSSimon Schubert    targ_defvec=som_vec
4975796c8dcSSimon Schubert    ;;
4985796c8dcSSimon Schubert  hppa*-*-osf*)
4995796c8dcSSimon Schubert    targ_defvec=som_vec
5005796c8dcSSimon Schubert    targ_selvecs=bfd_elf32_hppa_vec
5015796c8dcSSimon Schubert    ;;
5025796c8dcSSimon Schubert
5035796c8dcSSimon Schubert  i370-*-*)
5045796c8dcSSimon Schubert    targ_defvec=bfd_elf32_i370_vec
5055796c8dcSSimon Schubert    targ_selvecs="bfd_elf32_i370_vec"
5065796c8dcSSimon Schubert    ;;
5075796c8dcSSimon Schubert  i[3-7]86-*-sco3.2v5*coff)
5085796c8dcSSimon Schubert    targ_defvec=i386coff_vec
5095796c8dcSSimon Schubert    targ_selvecs=bfd_elf32_i386_vec
5105796c8dcSSimon Schubert    ;;
5115796c8dcSSimon Schubert  i[3-7]86-*-sysv4* | i[3-7]86-*-unixware* | \
5125796c8dcSSimon Schubert  i[3-7]86-*-elf | i[3-7]86-*-sco3.2v5* | \
5135796c8dcSSimon Schubert  i[3-7]86-*-dgux* | i[3-7]86-*-sysv5*)
5145796c8dcSSimon Schubert    targ_defvec=bfd_elf32_i386_vec
5155796c8dcSSimon Schubert    targ_selvecs=i386coff_vec
5165796c8dcSSimon Schubert    ;;
5175796c8dcSSimon Schubert  i[3-7]86-*-solaris2*)
518cf7f2e2dSJohn Marino    targ_defvec=bfd_elf32_i386_sol2_vec
519cf7f2e2dSJohn Marino    targ_selvecs="i386coff_vec"
520a45ae5f8SJohn Marino    targ64_selvecs="bfd_elf64_x86_64_sol2_vec bfd_elf64_l1om_vec bfd_elf64_k1om_vec"
5215796c8dcSSimon Schubert    want64=true
5225796c8dcSSimon Schubert    ;;
5235796c8dcSSimon Schubert#ifdef BFD64
5245796c8dcSSimon Schubert  x86_64-*-solaris2*)
525cf7f2e2dSJohn Marino    targ_defvec=bfd_elf32_i386_sol2_vec
526a45ae5f8SJohn Marino    targ_selvecs="bfd_elf64_x86_64_sol2_vec bfd_elf64_l1om_vec bfd_elf64_k1om_vec i386coff_vec"
5275796c8dcSSimon Schubert    want64=true
5285796c8dcSSimon Schubert    ;;
5295796c8dcSSimon Schubert#endif
5305796c8dcSSimon Schubert  i[3-7]86-*-kaos*)
5315796c8dcSSimon Schubert    targ_defvec=bfd_elf32_i386_vec
5325796c8dcSSimon Schubert    targ_selvecs=bfd_elf32_i386_vec
5335796c8dcSSimon Schubert    ;;
5345796c8dcSSimon Schubert  i[3-7]86-*-nto*)
5355796c8dcSSimon Schubert    targ_defvec=bfd_elf32_i386_vec
5365796c8dcSSimon Schubert    targ_selvecs=i386coff_vec
5375796c8dcSSimon Schubert    ;;
5385796c8dcSSimon Schubert  i[3-7]86-*-aros*)
5395796c8dcSSimon Schubert    targ_defvec=bfd_elf32_i386_vec
5405796c8dcSSimon Schubert    ;;
5415796c8dcSSimon Schubert  i[3-7]86-*-chorus*)
5425796c8dcSSimon Schubert    targ_defvec=bfd_elf32_i386_vec
5435796c8dcSSimon Schubert    ;;
5445796c8dcSSimon Schubert  i[3-7]86-*-dicos*)
5455796c8dcSSimon Schubert    targ_defvec=bfd_elf32_i386_vec
546a45ae5f8SJohn Marino    targ64_selvecs="bfd_elf64_x86_64_vec bfd_elf64_l1om_vec bfd_elf64_k1om_vec"
5475796c8dcSSimon Schubert    ;;
5485796c8dcSSimon Schubert  *-*-msdosdjgpp* | *-*-go32* )
5495796c8dcSSimon Schubert    targ_defvec=go32coff_vec
5505796c8dcSSimon Schubert    targ_selvecs="go32stubbedcoff_vec i386aout_vec"
5515796c8dcSSimon Schubert    ;;
5525796c8dcSSimon Schubert  i[3-7]86-*-sysv* | i[3-7]86-*-isc* | i[3-7]86-*-sco* | i[3-7]86-*-coff | \
5535796c8dcSSimon Schubert  i[3-7]86-*-aix*)
5545796c8dcSSimon Schubert    targ_defvec=i386coff_vec
5555796c8dcSSimon Schubert    ;;
5565796c8dcSSimon Schubert  i[3-7]86-*-rtems*)
5575796c8dcSSimon Schubert    targ_defvec=bfd_elf32_i386_vec
5585796c8dcSSimon Schubert    targ_selvecs="i386coff_vec i386aout_vec"
5595796c8dcSSimon Schubert    ;;
5605796c8dcSSimon Schubert  i[3-7]86-*-darwin* | i[3-7]86-*-macos10* | i[3-7]86-*-rhapsody*)
5615796c8dcSSimon Schubert    targ_defvec=mach_o_i386_vec
562cf7f2e2dSJohn Marino    targ_selvecs="mach_o_le_vec mach_o_be_vec mach_o_fat_vec pef_vec pef_xlib_vec sym_vec"
563*ef5ccd6cSJohn Marino    targ64_selvecs=mach_o_x86_64_vec
564cf7f2e2dSJohn Marino    targ_archs="$targ_archs bfd_powerpc_arch bfd_rs6000_arch"
5655796c8dcSSimon Schubert    ;;
5665796c8dcSSimon Schubert  i[3-7]86-sequent-bsd*)
5675796c8dcSSimon Schubert    targ_defvec=i386dynix_vec
5685796c8dcSSimon Schubert    targ_underscore=yes
5695796c8dcSSimon Schubert    ;;
5705796c8dcSSimon Schubert  i[3-7]86-*-bsd*)
5715796c8dcSSimon Schubert    targ_defvec=i386bsd_vec
5725796c8dcSSimon Schubert    targ_underscore=yes
5735796c8dcSSimon Schubert    ;;
574c50c785cSJohn Marino  i[3-7]86-*-dragonfly*)
575c50c785cSJohn Marino    targ_defvec=bfd_elf32_i386_vec
576a45ae5f8SJohn Marino    targ64_selvecs="bfd_elf64_x86_64_vec bfd_elf64_l1om_vec bfd_elf64_k1om_vec"
577c50c785cSJohn Marino    ;;
5785796c8dcSSimon Schubert  i[3-7]86-*-freebsdaout* | i[3-7]86-*-freebsd[12].* | \
5795796c8dcSSimon Schubert  i[3-7]86-*-freebsd[12])
5805796c8dcSSimon Schubert    targ_defvec=i386freebsd_vec
5815796c8dcSSimon Schubert    targ_selvecs=i386bsd_vec
5825796c8dcSSimon Schubert    targ_underscore=yes
5835796c8dcSSimon Schubert    ;;
584c50c785cSJohn Marino  i[3-7]86-*-freebsd* | i[3-7]86-*-kfreebsd*-gnu)
5855796c8dcSSimon Schubert    targ_defvec=bfd_elf32_i386_freebsd_vec
5865796c8dcSSimon Schubert    targ_selvecs="bfd_elf32_i386_vec i386pei_vec i386coff_vec"
587a45ae5f8SJohn Marino    targ64_selvecs="bfd_elf64_x86_64_freebsd_vec bfd_elf64_x86_64_vec x86_64pei_vec bfd_elf64_l1om_vec bfd_elf64_l1om_freebsd_vec bfd_elf64_k1om_vec bfd_elf64_k1om_freebsd_vec"
5885796c8dcSSimon Schubert    # FreeBSD <= 4.0 supports only the old nonstandard way of ABI labelling.
5895796c8dcSSimon Schubert    case "${targ}" in
5905796c8dcSSimon Schubert      i[3-7]86-*-freebsd3* | i[3-7]86-*-freebsd4 | i[3-7]86-*-freebsd4.0*)
5915796c8dcSSimon Schubert	targ_cflags=-DOLD_FREEBSD_ABI_LABEL ;;
5925796c8dcSSimon Schubert    esac
5935796c8dcSSimon Schubert    ;;
5945796c8dcSSimon Schubert  i[3-7]86-*-netbsdelf* | i[3-7]86-*-netbsd*-gnu* | i[3-7]86-*-knetbsd*-gnu)
5955796c8dcSSimon Schubert    targ_defvec=bfd_elf32_i386_vec
5965796c8dcSSimon Schubert    targ_selvecs=i386netbsd_vec
597a45ae5f8SJohn Marino    targ64_selvecs="bfd_elf64_x86_64_vec bfd_elf64_l1om_vec bfd_elf64_k1om_vec"
5985796c8dcSSimon Schubert    ;;
5995796c8dcSSimon Schubert  i[3-7]86-*-netbsdpe*)
6005796c8dcSSimon Schubert    targ_defvec=i386pe_vec
6015796c8dcSSimon Schubert    targ_selvecs="i386pe_vec i386pei_vec bfd_elf32_i386_vec"
6025796c8dcSSimon Schubert    ;;
6035796c8dcSSimon Schubert  i[3-7]86-*-netbsdaout* | i[3-7]86-*-netbsd* | \
6045796c8dcSSimon Schubert  i[3-7]86-*-openbsd[0-2].* | i[3-7]86-*-openbsd3.[0-3])
6055796c8dcSSimon Schubert    targ_defvec=i386netbsd_vec
6065796c8dcSSimon Schubert    targ_selvecs="bfd_elf32_i386_vec i386bsd_vec"
6075796c8dcSSimon Schubert    targ_underscore=yes
6085796c8dcSSimon Schubert    ;;
6095796c8dcSSimon Schubert  i[3-7]86-*-openbsd*)
6105796c8dcSSimon Schubert    targ_defvec=bfd_elf32_i386_vec
6115796c8dcSSimon Schubert    targ_selvecs=i386netbsd_vec
6125796c8dcSSimon Schubert    ;;
6135796c8dcSSimon Schubert  i[3-7]86-*-netware*)
6145796c8dcSSimon Schubert    targ_defvec=bfd_elf32_i386_vec
6155796c8dcSSimon Schubert    targ_selvecs="nlm32_i386_vec i386coff_vec i386aout_vec"
6165796c8dcSSimon Schubert    ;;
6175796c8dcSSimon Schubert  i[3-7]86-*-linux*aout*)
6185796c8dcSSimon Schubert    targ_defvec=i386linux_vec
6195796c8dcSSimon Schubert    targ_selvecs=bfd_elf32_i386_vec
6205796c8dcSSimon Schubert    targ_underscore=yes
6215796c8dcSSimon Schubert    ;;
6225796c8dcSSimon Schubert  i[3-7]86-*-linux-*)
6235796c8dcSSimon Schubert    targ_defvec=bfd_elf32_i386_vec
6245796c8dcSSimon Schubert    targ_selvecs="i386linux_vec i386pei_vec"
625*ef5ccd6cSJohn Marino    targ64_selvecs="bfd_elf64_x86_64_vec bfd_elf32_x86_64_vec x86_64pei_vec bfd_elf64_l1om_vec bfd_elf64_k1om_vec"
626a45ae5f8SJohn Marino    ;;
627a45ae5f8SJohn Marino  i[3-7]86-*-nacl*)
628a45ae5f8SJohn Marino    targ_defvec=bfd_elf32_i386_nacl_vec
629*ef5ccd6cSJohn Marino    targ_selvecs="bfd_elf32_bigarm_nacl_vec bfd_elf32_littlearm_nacl_vec"
630*ef5ccd6cSJohn Marino    targ64_selvecs="bfd_elf64_x86_64_nacl_vec bfd_elf32_x86_64_nacl_vec"
631*ef5ccd6cSJohn Marino    targ_archs="$targ_archs bfd_arm_arch"
6325796c8dcSSimon Schubert    ;;
6335796c8dcSSimon Schubert#ifdef BFD64
6345796c8dcSSimon Schubert  x86_64-*-darwin*)
635cf7f2e2dSJohn Marino    targ_defvec=mach_o_x86_64_vec
636cf7f2e2dSJohn Marino    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"
637cf7f2e2dSJohn Marino    targ_archs="$targ_archs bfd_powerpc_arch bfd_rs6000_arch"
6385796c8dcSSimon Schubert    want64=true
6395796c8dcSSimon Schubert    ;;
6405796c8dcSSimon Schubert  x86_64-*-dicos*)
6415796c8dcSSimon Schubert    targ_defvec=bfd_elf64_x86_64_vec
642a45ae5f8SJohn Marino    targ_selvecs="bfd_elf32_i386_vec bfd_elf64_l1om_vec bfd_elf64_k1om_vec"
6435796c8dcSSimon Schubert    want64=true
6445796c8dcSSimon Schubert    ;;
6455796c8dcSSimon Schubert  x86_64-*-elf*)
6465796c8dcSSimon Schubert    targ_defvec=bfd_elf64_x86_64_vec
647a45ae5f8SJohn Marino    targ_selvecs="bfd_elf32_i386_vec bfd_elf64_l1om_vec bfd_elf64_k1om_vec i386coff_vec"
6485796c8dcSSimon Schubert    want64=true
6495796c8dcSSimon Schubert    ;;
650c50c785cSJohn Marino  x86_64-*-dragonfly*)
651c50c785cSJohn Marino    targ_defvec=bfd_elf64_x86_64_vec
652a45ae5f8SJohn Marino    targ_selvecs="bfd_elf32_i386_vec bfd_elf64_l1om_vec bfd_elf64_k1om_vec"
653c50c785cSJohn Marino    want64=true
654c50c785cSJohn Marino    ;;
6555796c8dcSSimon Schubert  x86_64-*-freebsd* | x86_64-*-kfreebsd*-gnu)
6565796c8dcSSimon Schubert    targ_defvec=bfd_elf64_x86_64_freebsd_vec
657a45ae5f8SJohn Marino    targ_selvecs="bfd_elf32_i386_freebsd_vec i386coff_vec i386pei_vec x86_64pei_vec bfd_elf32_i386_vec bfd_elf64_x86_64_vec bfd_elf64_l1om_vec bfd_elf64_l1om_freebsd_vec bfd_elf64_k1om_vec bfd_elf64_k1om_freebsd_vec"
6585796c8dcSSimon Schubert    want64=true
6595796c8dcSSimon Schubert    ;;
6605796c8dcSSimon Schubert  x86_64-*-netbsd* | x86_64-*-openbsd*)
6615796c8dcSSimon Schubert    targ_defvec=bfd_elf64_x86_64_vec
662a45ae5f8SJohn Marino    targ_selvecs="bfd_elf32_i386_vec i386netbsd_vec i386coff_vec i386pei_vec x86_64pei_vec bfd_elf64_l1om_vec bfd_elf64_k1om_vec"
6635796c8dcSSimon Schubert    want64=true
6645796c8dcSSimon Schubert    ;;
6655796c8dcSSimon Schubert  x86_64-*-linux-*)
6665796c8dcSSimon Schubert    targ_defvec=bfd_elf64_x86_64_vec
667a45ae5f8SJohn Marino    targ_selvecs="bfd_elf32_i386_vec bfd_elf32_x86_64_vec i386linux_vec i386pei_vec x86_64pei_vec bfd_elf64_l1om_vec bfd_elf64_k1om_vec"
6685796c8dcSSimon Schubert    want64=true
6695796c8dcSSimon Schubert    ;;
670*ef5ccd6cSJohn Marino  x86_64-*-nacl*)
671*ef5ccd6cSJohn Marino    targ_defvec=bfd_elf32_x86_64_nacl_vec
672*ef5ccd6cSJohn Marino    targ_selvecs="bfd_elf32_i386_nacl_vec bfd_elf64_x86_64_nacl_vec bfd_elf32_bigarm_nacl_vec bfd_elf32_littlearm_nacl_vec"
673*ef5ccd6cSJohn Marino    targ_archs="$targ_archs bfd_arm_arch"
674*ef5ccd6cSJohn Marino    want64=true
675*ef5ccd6cSJohn Marino    ;;
676*ef5ccd6cSJohn Marino  x86_64-*-mingw* | x86_64-*-pe | x86_64-*-pep | x86_64-*-cygwin)
6775796c8dcSSimon Schubert    targ_defvec=x86_64pe_vec
678a45ae5f8SJohn Marino    targ_selvecs="x86_64pe_vec x86_64pei_vec bfd_elf64_x86_64_vec bfd_elf64_l1om_vec bfd_elf64_k1om_vec i386pe_vec i386pei_vec bfd_elf32_i386_vec"
6795796c8dcSSimon Schubert    want64=true
680cf7f2e2dSJohn Marino    targ_underscore=no
6815796c8dcSSimon Schubert    ;;
682*ef5ccd6cSJohn Marino  x86_64-*-rdos*)
683*ef5ccd6cSJohn Marino    targ_defvec=bfd_elf64_x86_64_vec
684*ef5ccd6cSJohn Marino    want64=true
685*ef5ccd6cSJohn Marino    ;;
6865796c8dcSSimon Schubert#endif
6875796c8dcSSimon Schubert  i[3-7]86-*-lynxos*)
6885796c8dcSSimon Schubert    targ_defvec=bfd_elf32_i386_vec
6895796c8dcSSimon Schubert    targ_selvecs="i386lynx_coff_vec i386lynx_aout_vec"
6905796c8dcSSimon Schubert    ;;
6915796c8dcSSimon Schubert  i[3-7]86-*-gnu*)
6925796c8dcSSimon Schubert    targ_defvec=bfd_elf32_i386_vec
6935796c8dcSSimon Schubert    ;;
6945796c8dcSSimon Schubert  i[3-7]86-*-mach* | i[3-7]86-*-osf1mk*)
6955796c8dcSSimon Schubert    targ_defvec=i386mach3_vec
6965796c8dcSSimon Schubert    targ_cflags=-DSTAT_FOR_EXEC
6975796c8dcSSimon Schubert    targ_underscore=yes
6985796c8dcSSimon Schubert    ;;
6995796c8dcSSimon Schubert  i[3-7]86-*-os9k)
7005796c8dcSSimon Schubert    targ_defvec=i386os9k_vec
7015796c8dcSSimon Schubert    ;;
7025796c8dcSSimon Schubert  i[3-7]86-*-msdos*)
7035796c8dcSSimon Schubert    targ_defvec=i386aout_vec
7045796c8dcSSimon Schubert    targ_selvecs=i386msdos_vec
7055796c8dcSSimon Schubert    ;;
7065796c8dcSSimon Schubert  i[3-7]86-*-moss*)
7075796c8dcSSimon Schubert    targ_defvec=bfd_elf32_i386_vec
7085796c8dcSSimon Schubert    targ_selvecs="i386msdos_vec i386aout_vec"
7095796c8dcSSimon Schubert    ;;
7105796c8dcSSimon Schubert  i[3-7]86-*-beospe*)
7115796c8dcSSimon Schubert    targ_defvec=i386pe_vec
7125796c8dcSSimon Schubert    targ_selvecs="i386pe_vec i386pei_vec"
7135796c8dcSSimon Schubert    ;;
7145796c8dcSSimon Schubert  i[3-7]86-*-beoself* | i[3-7]86-*-beos*)
7155796c8dcSSimon Schubert    targ_defvec=bfd_elf32_i386_vec
7165796c8dcSSimon Schubert    targ_selvecs="i386pe_vec i386pei_vec"
7175796c8dcSSimon Schubert    ;;
7185796c8dcSSimon Schubert  i[3-7]86-*-interix*)
7195796c8dcSSimon Schubert    targ_defvec=i386pei_vec
7205796c8dcSSimon Schubert    targ_selvecs="i386pe_vec"
7215796c8dcSSimon Schubert    # FIXME: This should eventually be checked at runtime.
7225796c8dcSSimon Schubert    targ_cflags=-DSTRICT_PE_FORMAT
7235796c8dcSSimon Schubert    ;;
7245796c8dcSSimon Schubert  i[3-7]86-*-rdos*)
7255796c8dcSSimon Schubert    targ_defvec=bfd_elf32_i386_vec
7265796c8dcSSimon Schubert    targ_selvecs=i386coff_vec
7275796c8dcSSimon Schubert    ;;
7285796c8dcSSimon Schubert  i[3-7]86-*-mingw32* | i[3-7]86-*-cygwin* | i[3-7]86-*-winnt | i[3-7]86-*-pe)
7295796c8dcSSimon Schubert    targ_defvec=i386pe_vec
7305796c8dcSSimon Schubert    targ_selvecs="i386pe_vec i386pei_vec bfd_elf32_i386_vec"
7315796c8dcSSimon Schubert    targ_underscore=yes
7325796c8dcSSimon Schubert    ;;
7335796c8dcSSimon Schubert  i[3-7]86-none-*)
7345796c8dcSSimon Schubert    targ_defvec=i386coff_vec
7355796c8dcSSimon Schubert    ;;
7365796c8dcSSimon Schubert  i[3-7]86-*-aout* | i[3-7]86*-*-vsta*)
7375796c8dcSSimon Schubert    targ_defvec=i386aout_vec
7385796c8dcSSimon Schubert    ;;
7395796c8dcSSimon Schubert  i[3-7]86-*-vxworks*)
7405796c8dcSSimon Schubert    targ_defvec=bfd_elf32_i386_vxworks_vec
7415796c8dcSSimon Schubert    targ_underscore=yes
7425796c8dcSSimon Schubert    ;;
7435796c8dcSSimon Schubert  i[3-7]86-*-chaos)
7445796c8dcSSimon Schubert    targ_defvec=bfd_elf32_i386_vec
7455796c8dcSSimon Schubert    targ_selfvecs=i386chaos_vec
7465796c8dcSSimon Schubert    ;;
7475796c8dcSSimon Schubert
7485796c8dcSSimon Schubert  i860-*-mach3* | i860-*-osf1* | i860-*-coff*)
7495796c8dcSSimon Schubert    targ_defvec=i860coff_vec
7505796c8dcSSimon Schubert    ;;
7515796c8dcSSimon Schubert  i860-stardent-sysv4* | i860-stardent-elf*)
7525796c8dcSSimon Schubert    targ_defvec=bfd_elf32_i860_little_vec
7535796c8dcSSimon Schubert    targ_selvecs="bfd_elf32_i860_vec bfd_elf32_i860_little_vec"
7545796c8dcSSimon Schubert    ;;
7555796c8dcSSimon Schubert  i860-*-sysv4* | i860-*-elf*)
7565796c8dcSSimon Schubert    targ_defvec=bfd_elf32_i860_vec
7575796c8dcSSimon Schubert    ;;
7585796c8dcSSimon Schubert
7595796c8dcSSimon Schubert  i960-*-vxworks4* | i960-*-vxworks5.0)
7605796c8dcSSimon Schubert    targ_defvec=b_out_vec_little_host
7615796c8dcSSimon Schubert    targ_selvecs="b_out_vec_big_host icoff_little_vec icoff_big_vec ieee_vec"
7625796c8dcSSimon Schubert    targ_underscore=yes
7635796c8dcSSimon Schubert    ;;
7645796c8dcSSimon Schubert  i960-*-vxworks5.* | i960-*-coff* | i960-*-sysv*)
7655796c8dcSSimon Schubert    targ_defvec=icoff_little_vec
7665796c8dcSSimon Schubert    targ_selvecs="icoff_big_vec b_out_vec_little_host b_out_vec_big_host ieee_vec"
7675796c8dcSSimon Schubert    targ_underscore=yes
7685796c8dcSSimon Schubert    ;;
7695796c8dcSSimon Schubert  i960-*-vxworks* | i960-*-aout* | i960-*-bout* | i960-*-nindy*)
7705796c8dcSSimon Schubert    targ_defvec=b_out_vec_little_host
7715796c8dcSSimon Schubert    targ_selvecs="b_out_vec_big_host icoff_little_vec icoff_big_vec ieee_vec"
7725796c8dcSSimon Schubert    targ_underscore=yes
7735796c8dcSSimon Schubert    ;;
7745796c8dcSSimon Schubert  i960-*-elf*)
7755796c8dcSSimon Schubert    targ_defvec=bfd_elf32_i960_vec
7765796c8dcSSimon Schubert    targ_selvecs="icoff_little_vec icoff_big_vec"
7775796c8dcSSimon Schubert    ;;
7785796c8dcSSimon Schubert
7795796c8dcSSimon Schubert  ip2k-*-elf)
7805796c8dcSSimon Schubert    targ_defvec=bfd_elf32_ip2k_vec
7815796c8dcSSimon Schubert    ;;
7825796c8dcSSimon Schubert
7835796c8dcSSimon Schubert  iq2000-*-elf)
7845796c8dcSSimon Schubert    targ_defvec=bfd_elf32_iq2000_vec
7855796c8dcSSimon Schubert    ;;
7865796c8dcSSimon Schubert
7875796c8dcSSimon Schubert  lm32-*-elf | lm32-*-rtems*)
7885796c8dcSSimon Schubert    targ_defvec=bfd_elf32_lm32_vec
7895796c8dcSSimon Schubert    targ_selvecs=bfd_elf32_lm32fdpic_vec
7905796c8dcSSimon Schubert    ;;
7915796c8dcSSimon Schubert
7925796c8dcSSimon Schubert  lm32-*-*linux*)
7935796c8dcSSimon Schubert    targ_defvec=bfd_elf32_lm32fdpic_vec
7945796c8dcSSimon Schubert    targ_selvecs=bfd_elf32_lm32_vec
7955796c8dcSSimon Schubert    ;;
7965796c8dcSSimon Schubert
7975796c8dcSSimon Schubert  m32c-*-elf | m32c-*-rtems*)
7985796c8dcSSimon Schubert    targ_defvec=bfd_elf32_m32c_vec
7995796c8dcSSimon Schubert    ;;
8005796c8dcSSimon Schubert
8015796c8dcSSimon Schubert  m32r*le-*-linux*)
8025796c8dcSSimon Schubert    targ_defvec=bfd_elf32_m32rlelin_vec
8035796c8dcSSimon Schubert    targ_selvecs="bfd_elf32_m32rlin_vec  bfd_elf32_m32rlelin_vec"
8045796c8dcSSimon Schubert    ;;
8055796c8dcSSimon Schubert  m32r*-*-linux*)
8065796c8dcSSimon Schubert    targ_defvec=bfd_elf32_m32rlin_vec
8075796c8dcSSimon Schubert    targ_selvecs="bfd_elf32_m32rlin_vec  bfd_elf32_m32rlelin_vec"
8085796c8dcSSimon Schubert    ;;
8095796c8dcSSimon Schubert  m32r*le-*-*)
8105796c8dcSSimon Schubert    targ_defvec=bfd_elf32_m32rle_vec
8115796c8dcSSimon Schubert    targ_selvecs="bfd_elf32_m32r_vec bfd_elf32_m32rle_vec"
8125796c8dcSSimon Schubert    ;;
8135796c8dcSSimon Schubert  m32r-*-*)
8145796c8dcSSimon Schubert    targ_defvec=bfd_elf32_m32r_vec
8155796c8dcSSimon Schubert    ;;
8165796c8dcSSimon Schubert
8175796c8dcSSimon Schubert  m68hc11-*-* | m6811-*-*)
8185796c8dcSSimon Schubert    targ_defvec=bfd_elf32_m68hc11_vec
8195796c8dcSSimon Schubert    targ_selvecs="bfd_elf32_m68hc11_vec bfd_elf32_m68hc12_vec"
8205796c8dcSSimon Schubert    ;;
8215796c8dcSSimon Schubert  m68hc12-*-* | m6812-*-*)
8225796c8dcSSimon Schubert    targ_defvec=bfd_elf32_m68hc12_vec
8235796c8dcSSimon Schubert    targ_selvecs="bfd_elf32_m68hc11_vec bfd_elf32_m68hc12_vec"
8245796c8dcSSimon Schubert    ;;
8255796c8dcSSimon Schubert
8265796c8dcSSimon Schubert  m68*-motorola-sysv*)
8275796c8dcSSimon Schubert    targ_defvec=m68ksysvcoff_vec
8285796c8dcSSimon Schubert    ;;
8295796c8dcSSimon Schubert  m68*-hp-bsd*)
8305796c8dcSSimon Schubert    targ_defvec=hp300bsd_vec
8315796c8dcSSimon Schubert    targ_underscore=yes
8325796c8dcSSimon Schubert    ;;
8335796c8dcSSimon Schubert  m68*-*-aout*)
8345796c8dcSSimon Schubert    targ_defvec=aout0_big_vec
8355796c8dcSSimon Schubert    # We include cisco_core_big_vec here, rather than making a separate cisco
8365796c8dcSSimon Schubert    # configuration, so that cisco-core.c gets routinely tested at
8375796c8dcSSimon Schubert    # least for compilation.
8385796c8dcSSimon Schubert    targ_selvecs="cisco_core_big_vec ieee_vec"
8395796c8dcSSimon Schubert    targ_underscore=yes
8405796c8dcSSimon Schubert    ;;
8415796c8dcSSimon Schubert  m68*-*-elf* | m68*-*-sysv4* | m68*-*-uclinux*)
8425796c8dcSSimon Schubert    targ_defvec=bfd_elf32_m68k_vec
8435796c8dcSSimon Schubert    targ_selvecs="m68kcoff_vec ieee_vec"
8445796c8dcSSimon Schubert    ;;
8455796c8dcSSimon Schubert  m68*-*-rtems*)
8465796c8dcSSimon Schubert    targ_defvec=bfd_elf32_m68k_vec
8475796c8dcSSimon Schubert    targ_selvecs="m68kcoff_vec versados_vec ieee_vec aout0_big_vec"
8485796c8dcSSimon Schubert    ;;
8495796c8dcSSimon Schubert  m68*-*-coff* | m68*-*-sysv*)
8505796c8dcSSimon Schubert    targ_defvec=m68kcoff_vec
8515796c8dcSSimon Schubert    targ_selvecs="m68kcoff_vec versados_vec ieee_vec"
8525796c8dcSSimon Schubert    ;;
8535796c8dcSSimon Schubert  m68*-*-hpux*)
8545796c8dcSSimon Schubert    targ_defvec=hp300hpux_vec
8555796c8dcSSimon Schubert    targ_underscore=yes
8565796c8dcSSimon Schubert    ;;
8575796c8dcSSimon Schubert  m68*-*-linux*aout*)
8585796c8dcSSimon Schubert    targ_defvec=m68klinux_vec
8595796c8dcSSimon Schubert    targ_selvecs=bfd_elf32_m68k_vec
8605796c8dcSSimon Schubert    targ_underscore=yes
8615796c8dcSSimon Schubert    ;;
8625796c8dcSSimon Schubert  m68*-*-linux-*)
8635796c8dcSSimon Schubert    targ_defvec=bfd_elf32_m68k_vec
8645796c8dcSSimon Schubert    targ_selvecs=m68klinux_vec
8655796c8dcSSimon Schubert    ;;
8665796c8dcSSimon Schubert  m68*-*-gnu*)
8675796c8dcSSimon Schubert    targ_defvec=bfd_elf32_m68k_vec
8685796c8dcSSimon Schubert    # targ_selvecs=m68kmach3_vec
8695796c8dcSSimon Schubert    # targ_cflags=-DSTAT_FOR_EXEC
8705796c8dcSSimon Schubert    ;;
8715796c8dcSSimon Schubert  m68*-hp*-netbsd*)
8725796c8dcSSimon Schubert    targ_defvec=m68k4knetbsd_vec
8735796c8dcSSimon Schubert    targ_selvecs="m68knetbsd_vec hp300bsd_vec sunos_big_vec"
8745796c8dcSSimon Schubert    targ_underscore=yes
8755796c8dcSSimon Schubert    ;;
8765796c8dcSSimon Schubert  m68*-*-netbsdelf*)
8775796c8dcSSimon Schubert    targ_defvec=bfd_elf32_m68k_vec
8785796c8dcSSimon Schubert    targ_selvecs="m68knetbsd_vec m68k4knetbsd_vec hp300bsd_vec sunos_big_vec"
8795796c8dcSSimon Schubert    ;;
8805796c8dcSSimon Schubert  m68*-*-netbsdaout* | m68*-*-netbsd*)
8815796c8dcSSimon Schubert    targ_defvec=m68knetbsd_vec
8825796c8dcSSimon Schubert    targ_selvecs="m68k4knetbsd_vec bfd_elf32_m68k_vec hp300bsd_vec sunos_big_vec"
8835796c8dcSSimon Schubert    targ_underscore=yes
8845796c8dcSSimon Schubert    ;;
8855796c8dcSSimon Schubert  m68*-*-openbsd*)
8865796c8dcSSimon Schubert    targ_defvec=m68knetbsd_vec
8875796c8dcSSimon Schubert    targ_selvecs="m68k4knetbsd_vec hp300bsd_vec sunos_big_vec"
8885796c8dcSSimon Schubert    targ_underscore=yes
8895796c8dcSSimon Schubert    ;;
8905796c8dcSSimon Schubert  m68*-*-sunos* | m68*-*-os68k* | m68*-*-vxworks* | m68*-netx-* | \
8915796c8dcSSimon Schubert  m68*-*-bsd* | m68*-*-vsta*)
8925796c8dcSSimon Schubert    targ_defvec=sunos_big_vec
8935796c8dcSSimon Schubert    targ_underscore=yes
8945796c8dcSSimon Schubert    ;;
8955796c8dcSSimon Schubert  m68*-ericsson-*)
8965796c8dcSSimon Schubert    targ_defvec=sunos_big_vec
8975796c8dcSSimon Schubert    targ_selvecs="m68kcoff_vec versados_vec tekhex_vec"
8985796c8dcSSimon Schubert    targ_underscore=yes
8995796c8dcSSimon Schubert    ;;
9005796c8dcSSimon Schubert  m68*-cbm-*)
9015796c8dcSSimon Schubert    targ_defvec=bfd_elf32_m68k_vec
9025796c8dcSSimon Schubert    targ_selvecs=m68kcoff_vec
9035796c8dcSSimon Schubert    ;;
9045796c8dcSSimon Schubert  m68*-*-psos*)
9055796c8dcSSimon Schubert    targ_defvec=bfd_elf32_m68k_vec
9065796c8dcSSimon Schubert    targ_selvecs=ieee_vec
9075796c8dcSSimon Schubert    targ_underscore=yes
9085796c8dcSSimon Schubert    ;;
9095796c8dcSSimon Schubert
9105796c8dcSSimon Schubert  m88*-harris-cxux* | m88*-*-dgux* | m88*-*-sysv4*)
9115796c8dcSSimon Schubert    targ_defvec=bfd_elf32_m88k_vec
9125796c8dcSSimon Schubert    targ_selvecs=m88kbcs_vec
9135796c8dcSSimon Schubert    ;;
9145796c8dcSSimon Schubert  m88*-*-mach3*)
9155796c8dcSSimon Schubert    targ_defvec=m88kmach3_vec
9165796c8dcSSimon Schubert    targ_cflags=-DSTAT_FOR_EXEC
9175796c8dcSSimon Schubert    ;;
9185796c8dcSSimon Schubert  m88*-*-openbsd*)
9195796c8dcSSimon Schubert   targ_defvec=m88kopenbsd_vec
9205796c8dcSSimon Schubert   targ_underscore=yes
9215796c8dcSSimon Schubert   ;;
9225796c8dcSSimon Schubert  m88*-*-*)
9235796c8dcSSimon Schubert    targ_defvec=m88kbcs_vec
9245796c8dcSSimon Schubert    targ_underscore=yes
9255796c8dcSSimon Schubert    ;;
9265796c8dcSSimon Schubert
9275796c8dcSSimon Schubert  mcore-*-elf)
9285796c8dcSSimon Schubert    targ_defvec=bfd_elf32_mcore_big_vec
9295796c8dcSSimon Schubert    targ_selvecs="bfd_elf32_mcore_big_vec bfd_elf32_mcore_little_vec"
9305796c8dcSSimon Schubert    ;;
9315796c8dcSSimon Schubert  mcore-*-pe)
9325796c8dcSSimon Schubert    targ_defvec=mcore_pe_big_vec
9335796c8dcSSimon Schubert    targ_selvecs="mcore_pe_big_vec mcore_pe_little_vec mcore_pei_big_vec mcore_pei_little_vec"
9345796c8dcSSimon Schubert    ;;
9355796c8dcSSimon Schubert
9365796c8dcSSimon Schubert  mep-*-elf)
9375796c8dcSSimon Schubert    targ_defvec=bfd_elf32_mep_vec
9385796c8dcSSimon Schubert    targ_selvecs=bfd_elf32_mep_little_vec
9395796c8dcSSimon Schubert    ;;
9405796c8dcSSimon Schubert
941*ef5ccd6cSJohn Marino  metag-*-*)
942*ef5ccd6cSJohn Marino    targ_defvec=bfd_elf32_metag_vec
943*ef5ccd6cSJohn Marino    targ_underscore=yes
944*ef5ccd6cSJohn Marino    ;;
945*ef5ccd6cSJohn Marino
946*ef5ccd6cSJohn Marino  microblazeel*-*)
947*ef5ccd6cSJohn Marino    targ_defvec=bfd_elf32_microblazeel_vec
948*ef5ccd6cSJohn Marino    targ_selvecs=bfd_elf32_microblaze_vec
949*ef5ccd6cSJohn Marino    ;;
950*ef5ccd6cSJohn Marino
9515796c8dcSSimon Schubert  microblaze*-*)
9525796c8dcSSimon Schubert    targ_defvec=bfd_elf32_microblaze_vec
953*ef5ccd6cSJohn Marino    targ_selvecs=bfd_elf32_microblazeel_vec
9545796c8dcSSimon Schubert    ;;
9555796c8dcSSimon Schubert
9565796c8dcSSimon Schubert  mips*-big-*)
9575796c8dcSSimon Schubert    targ_defvec=ecoff_big_vec
9585796c8dcSSimon Schubert    targ_selvecs=ecoff_little_vec
9595796c8dcSSimon Schubert    ;;
9605796c8dcSSimon Schubert  mips*el-*-netbsd*)
9615796c8dcSSimon Schubert    targ_defvec=bfd_elf32_tradlittlemips_vec
9625796c8dcSSimon Schubert    targ_selvecs="bfd_elf32_tradbigmips_vec bfd_elf64_tradbigmips_vec bfd_elf64_tradlittlemips_vec ecoff_little_vec ecoff_big_vec"
9635796c8dcSSimon Schubert    ;;
9645796c8dcSSimon Schubert  mips*-*-netbsd*)
9655796c8dcSSimon Schubert    targ_defvec=bfd_elf32_tradbigmips_vec
9665796c8dcSSimon Schubert    targ_selvecs="bfd_elf32_tradlittlemips_vec bfd_elf64_tradbigmips_vec bfd_elf64_tradlittlemips_vec ecoff_big_vec ecoff_little_vec"
9675796c8dcSSimon Schubert    ;;
9685796c8dcSSimon Schubert  mips*-dec-* | mips*el-*-ecoff*)
9695796c8dcSSimon Schubert    targ_defvec=ecoff_little_vec
9705796c8dcSSimon Schubert    targ_selvecs=ecoff_big_vec
9715796c8dcSSimon Schubert    ;;
9725796c8dcSSimon Schubert  mips*-*-ecoff*)
9735796c8dcSSimon Schubert    targ_defvec=ecoff_big_vec
9745796c8dcSSimon Schubert    targ_selvecs=ecoff_little_vec
9755796c8dcSSimon Schubert    ;;
9765796c8dcSSimon Schubert#ifdef BFD64
9775796c8dcSSimon Schubert  mips*-*-irix6*)
9785796c8dcSSimon Schubert    targ_defvec=bfd_elf32_nbigmips_vec
9795796c8dcSSimon Schubert    targ_selvecs="bfd_elf32_nlittlemips_vec bfd_elf32_bigmips_vec bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec"
9805796c8dcSSimon Schubert    want64=true
9815796c8dcSSimon Schubert    ;;
982*ef5ccd6cSJohn Marino  mips64*-ps2-elf*)
983*ef5ccd6cSJohn Marino    targ_defvec=bfd_elf32_nlittlemips_vec
984*ef5ccd6cSJohn Marino    targ_selvecs="bfd_elf32_nlittlemips_vec bfd_elf32_nbigmips_vec bfd_elf32_bigmips_vec bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec"
985*ef5ccd6cSJohn Marino    want64=true
986*ef5ccd6cSJohn Marino    ;;
9875796c8dcSSimon Schubert#endif
988*ef5ccd6cSJohn Marino  mips*-ps2-elf*)
989*ef5ccd6cSJohn Marino    targ_defvec=bfd_elf32_littlemips_vec
990*ef5ccd6cSJohn Marino    targ_selvecs="bfd_elf32_bigmips_vec bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec"
991*ef5ccd6cSJohn Marino    ;;
9925796c8dcSSimon Schubert  mips*-*-irix5*)
9935796c8dcSSimon Schubert    targ_defvec=bfd_elf32_bigmips_vec
9945796c8dcSSimon Schubert    targ_selvecs="bfd_elf32_littlemips_vec ecoff_big_vec ecoff_little_vec"
9955796c8dcSSimon Schubert    ;;
9965796c8dcSSimon Schubert  mips*-sgi-* | mips*-*-bsd*)
9975796c8dcSSimon Schubert    targ_defvec=ecoff_big_vec
9985796c8dcSSimon Schubert    targ_selvecs=ecoff_little_vec
9995796c8dcSSimon Schubert    ;;
10005796c8dcSSimon Schubert  mips*-*-lnews*)
10015796c8dcSSimon Schubert    targ_defvec=ecoff_biglittle_vec
10025796c8dcSSimon Schubert    targ_selvecs="ecoff_little_vec ecoff_big_vec"
10035796c8dcSSimon Schubert    ;;
10045796c8dcSSimon Schubert  mips*-*-sysv4*)
10055796c8dcSSimon Schubert    targ_defvec=bfd_elf32_tradbigmips_vec
10065796c8dcSSimon Schubert    targ_selvecs="bfd_elf32_tradlittlemips_vec ecoff_big_vec ecoff_little_vec"
10075796c8dcSSimon Schubert    ;;
10085796c8dcSSimon Schubert  mips*-*-sysv* | mips*-*-riscos*)
10095796c8dcSSimon Schubert    targ_defvec=ecoff_big_vec
10105796c8dcSSimon Schubert    targ_selvecs=ecoff_little_vec
10115796c8dcSSimon Schubert    ;;
10125796c8dcSSimon Schubert#ifdef BFD64
10135796c8dcSSimon Schubert  mips*el-*-vxworks*)
10145796c8dcSSimon Schubert    targ_defvec=bfd_elf32_littlemips_vxworks_vec
10155796c8dcSSimon Schubert    targ_selvecs="bfd_elf32_littlemips_vec bfd_elf32_bigmips_vxworks_vec bfd_elf32_bigmips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec"
10165796c8dcSSimon Schubert    want64=true
10175796c8dcSSimon Schubert    ;;
10185796c8dcSSimon Schubert  mips*-*-vxworks*)
10195796c8dcSSimon Schubert    targ_defvec=bfd_elf32_bigmips_vxworks_vec
10205796c8dcSSimon Schubert    targ_selvecs="bfd_elf32_bigmips_vec bfd_elf32_littlemips_vxworks_vec bfd_elf32_bigmips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec"
10215796c8dcSSimon Schubert    want64=true
10225796c8dcSSimon Schubert    ;;
10235796c8dcSSimon Schubert#endif
10245796c8dcSSimon Schubert  mips*el-sde-elf*)
10255796c8dcSSimon Schubert    targ_defvec=bfd_elf32_tradlittlemips_vec
10265796c8dcSSimon Schubert    targ_selvecs="bfd_elf32_tradbigmips_vec bfd_elf32_ntradbigmips_vec bfd_elf32_ntradlittlemips_vec bfd_elf64_tradbigmips_vec bfd_elf64_tradlittlemips_vec"
10275796c8dcSSimon Schubert    want64=true
10285796c8dcSSimon Schubert    ;;
1029*ef5ccd6cSJohn Marino  mips*-sde-elf* | mips*-mti-elf*)
10305796c8dcSSimon Schubert    targ_defvec=bfd_elf32_tradbigmips_vec
10315796c8dcSSimon Schubert    targ_selvecs="bfd_elf32_tradlittlemips_vec bfd_elf32_ntradbigmips_vec bfd_elf32_ntradlittlemips_vec bfd_elf64_tradbigmips_vec bfd_elf64_tradlittlemips_vec"
10325796c8dcSSimon Schubert    want64=true
10335796c8dcSSimon Schubert    ;;
10345796c8dcSSimon Schubert  mips*el-*-elf* | mips*el-*-vxworks* | mips*-*-chorus*)
10355796c8dcSSimon Schubert    targ_defvec=bfd_elf32_littlemips_vec
10365796c8dcSSimon Schubert    targ_selvecs="bfd_elf32_bigmips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec"
10375796c8dcSSimon Schubert    ;;
10385796c8dcSSimon Schubert  mips*-*-elf* | mips*-*-rtems* | mips*-*-vxworks | mips*-*-windiss)
10395796c8dcSSimon Schubert    targ_defvec=bfd_elf32_bigmips_vec
10405796c8dcSSimon Schubert    targ_selvecs="bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec"
10415796c8dcSSimon Schubert    ;;
10425796c8dcSSimon Schubert  mips*-*-none)
10435796c8dcSSimon Schubert    targ_defvec=bfd_elf32_bigmips_vec
10445796c8dcSSimon Schubert    targ_selvecs="bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec"
10455796c8dcSSimon Schubert    ;;
10465796c8dcSSimon Schubert#ifdef BFD64
10475796c8dcSSimon Schubert  mips64*-*-openbsd*)
10485796c8dcSSimon Schubert    targ_defvec=bfd_elf64_tradbigmips_vec
10495796c8dcSSimon Schubert    targ_selvecs="bfd_elf32_ntradlittlemips_vec bfd_elf32_ntradbigmips_vec bfd_elf32_tradlittlemips_vec bfd_elf32_tradbigmips_vec bfd_elf64_tradlittlemips_vec"
10505796c8dcSSimon Schubert    want64=true
10515796c8dcSSimon Schubert    ;;
10525796c8dcSSimon Schubert#endif
10535796c8dcSSimon Schubert  mips*el-*-openbsd*)
10545796c8dcSSimon Schubert    targ_defvec=bfd_elf32_littlemips_vec
10555796c8dcSSimon Schubert    targ_selvecs="bfd_elf32_bigmips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec ecoff_little_vec ecoff_big_vec"
10565796c8dcSSimon Schubert    ;;
10575796c8dcSSimon Schubert  mips*-*-openbsd*)
10585796c8dcSSimon Schubert    targ_defvec=bfd_elf32_bigmips_vec
10595796c8dcSSimon Schubert    targ_selvecs="bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec ecoff_big_vec ecoff_little_vec"
10605796c8dcSSimon Schubert    ;;
10615796c8dcSSimon Schubert#ifdef BFD64
10625796c8dcSSimon Schubert  mips64*el-*-linux*)
10635796c8dcSSimon Schubert    targ_defvec=bfd_elf32_ntradlittlemips_vec
10645796c8dcSSimon Schubert    targ_selvecs="bfd_elf32_ntradbigmips_vec bfd_elf32_tradlittlemips_vec bfd_elf32_tradbigmips_vec bfd_elf64_tradlittlemips_vec bfd_elf64_tradbigmips_vec"
10655796c8dcSSimon Schubert    want64=true
10665796c8dcSSimon Schubert    ;;
10675796c8dcSSimon Schubert  mips64*-*-linux*)
10685796c8dcSSimon Schubert    targ_defvec=bfd_elf32_ntradbigmips_vec
10695796c8dcSSimon Schubert    targ_selvecs="bfd_elf32_ntradlittlemips_vec bfd_elf32_tradbigmips_vec bfd_elf32_tradlittlemips_vec bfd_elf64_tradbigmips_vec bfd_elf64_tradlittlemips_vec"
10705796c8dcSSimon Schubert    want64=true
10715796c8dcSSimon Schubert    ;;
10725796c8dcSSimon Schubert  mips*el-*-linux*)
10735796c8dcSSimon Schubert    targ_defvec=bfd_elf32_tradlittlemips_vec
10745796c8dcSSimon Schubert    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"
10755796c8dcSSimon Schubert    want64=true
10765796c8dcSSimon Schubert    ;;
10775796c8dcSSimon Schubert  mips*-*-linux*)
10785796c8dcSSimon Schubert    targ_defvec=bfd_elf32_tradbigmips_vec
10795796c8dcSSimon Schubert    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"
10805796c8dcSSimon Schubert    want64=true
10815796c8dcSSimon Schubert    ;;
1082c50c785cSJohn Marino  mips64*el-*-freebsd* | mips64*el-*-kfreebsd*-gnu)
1083c50c785cSJohn Marino    # FreeBSD vectors
1084c50c785cSJohn Marino    targ_defvec=bfd_elf32_ntradlittlemips_freebsd_vec
1085c50c785cSJohn Marino    targ_selvecs="bfd_elf32_ntradbigmips_freebsd_vec bfd_elf32_tradlittlemips_freebsd_vec bfd_elf32_tradbigmips_freebsd_vec bfd_elf64_tradlittlemips_freebsd_vec bfd_elf64_tradbigmips_freebsd_vec"
1086c50c785cSJohn Marino    # Generic vectors
1087c50c785cSJohn Marino    targ_selvecs="${targ_selvecs} bfd_elf32_ntradlittlemips_vec bfd_elf32_ntradbigmips_vec bfd_elf32_tradlittlemips_vec bfd_elf32_tradbigmips_vec bfd_elf64_tradlittlemips_vec bfd_elf64_tradbigmips_vec"
1088c50c785cSJohn Marino    want64=true
1089c50c785cSJohn Marino    ;;
1090c50c785cSJohn Marino  mips64*-*-freebsd* | mips64*-*-kfreebsd*-gnu)
1091c50c785cSJohn Marino    # FreeBSD vectors
1092c50c785cSJohn Marino    targ_defvec=bfd_elf32_ntradbigmips_freebsd_vec
1093c50c785cSJohn Marino    targ_selvecs="bfd_elf32_ntradlittlemips_freebsd_vec bfd_elf32_tradbigmips_freebsd_vec bfd_elf32_tradlittlemips_freebsd_vec bfd_elf64_tradbigmips_freebsd_vec bfd_elf64_tradlittlemips_freebsd_vec"
1094c50c785cSJohn Marino    # Generic vectors
1095c50c785cSJohn Marino    targ_selvecs="${targ_selvecs} bfd_elf32_ntradbigmips_vec bfd_elf32_ntradlittlemips_vec bfd_elf32_tradbigmips_vec bfd_elf32_tradlittlemips_vec bfd_elf64_tradbigmips_vec bfd_elf64_tradlittlemips_vec"
1096c50c785cSJohn Marino    want64=true
1097c50c785cSJohn Marino    ;;
1098c50c785cSJohn Marino#endif
1099c50c785cSJohn Marino  mips*el-*-freebsd* | mips*el-*-kfreebsd*-gnu)
1100c50c785cSJohn Marino    # FreeBSD vectors
1101c50c785cSJohn Marino    targ_defvec=bfd_elf32_tradlittlemips_freebsd_vec
1102c50c785cSJohn Marino    targ_selvecs="bfd_elf32_tradbigmips_freebsd_vec bfd_elf32_ntradlittlemips_freebsd_vec bfd_elf64_tradlittlemips_freebsd_vec bfd_elf32_ntradbigmips_freebsd_vec bfd_elf64_tradbigmips_freebsd_vec"
1103c50c785cSJohn Marino    # Generic vectors
1104c50c785cSJohn Marino    targ_selvecs="${targ_selvecs} bfd_elf32_tradlittlemips_vec bfd_elf32_tradbigmips_vec bfd_elf32_ntradlittlemips_vec bfd_elf64_tradlittlemips_vec bfd_elf32_ntradbigmips_vec bfd_elf64_tradbigmips_vec"
1105c50c785cSJohn Marino    want64=true
1106c50c785cSJohn Marino    ;;
1107c50c785cSJohn Marino  mips*-*-freebsd* | mips*-*-kfreebsd*-gnu)
1108c50c785cSJohn Marino    # FreeBSD vectors
1109c50c785cSJohn Marino    targ_defvec=bfd_elf32_tradbigmips_freebsd_vec
1110c50c785cSJohn Marino    targ_selvecs="bfd_elf32_tradlittlemips_freebsd_vec bfd_elf32_ntradbigmips_freebsd_vec bfd_elf64_tradbigmips_freebsd_vec bfd_elf32_ntradlittlemips_freebsd_vec bfd_elf64_tradlittlemips_freebsd_vec"
1111c50c785cSJohn Marino    # Generic vectors
1112c50c785cSJohn Marino    targ_selvecs="${targ_selvecs} bfd_elf32_tradbigmips_vec bfd_elf32_tradlittlemips_vec bfd_elf32_ntradbigmips_vec bfd_elf64_tradbigmips_vec bfd_elf32_ntradlittlemips_vec bfd_elf64_tradlittlemips_vec"
1113c50c785cSJohn Marino    want64=true
1114c50c785cSJohn Marino    ;;
1115c50c785cSJohn Marino#ifdef BFD64
11165796c8dcSSimon Schubert  mmix-*-*)
11175796c8dcSSimon Schubert    targ_defvec=bfd_elf64_mmix_vec
11185796c8dcSSimon Schubert    targ_selvecs=bfd_mmo_vec
11195796c8dcSSimon Schubert    want64=true
11205796c8dcSSimon Schubert    ;;
11215796c8dcSSimon Schubert#endif
11225796c8dcSSimon Schubert  mn10200-*-*)
11235796c8dcSSimon Schubert    targ_defvec=bfd_elf32_mn10200_vec
11245796c8dcSSimon Schubert    ;;
11255796c8dcSSimon Schubert
11265796c8dcSSimon Schubert  mn10300-*-*)
11275796c8dcSSimon Schubert    targ_defvec=bfd_elf32_mn10300_vec
11285796c8dcSSimon Schubert    targ_underscore=yes
11295796c8dcSSimon Schubert    ;;
11305796c8dcSSimon Schubert
11315796c8dcSSimon Schubert  mt-*-elf)
11325796c8dcSSimon Schubert    targ_defvec=bfd_elf32_mt_vec
11335796c8dcSSimon Schubert    ;;
11345796c8dcSSimon Schubert
11355796c8dcSSimon Schubert  msp430-*-*)
11365796c8dcSSimon Schubert    targ_defvec=bfd_elf32_msp430_vec
11375796c8dcSSimon Schubert    ;;
11385796c8dcSSimon Schubert
11395796c8dcSSimon Schubert  ns32k-pc532-mach* | ns32k-pc532-ux*)
11405796c8dcSSimon Schubert    targ_defvec=pc532machaout_vec
11415796c8dcSSimon Schubert    targ_underscore=yes
11425796c8dcSSimon Schubert    ;;
11435796c8dcSSimon Schubert  ns32k-*-netbsd* | ns32k-*-lites* | ns32k-*-openbsd*)
11445796c8dcSSimon Schubert    targ_defvec=pc532netbsd_vec
11455796c8dcSSimon Schubert    targ_underscore=yes
11465796c8dcSSimon Schubert    ;;
11475796c8dcSSimon Schubert
1148*ef5ccd6cSJohn Marino  nios2eb-*-*)
1149*ef5ccd6cSJohn Marino    targ_defvec=bfd_elf32_bignios2_vec
1150*ef5ccd6cSJohn Marino    targ_selvecs=bfd_elf32_littlenios2_vec
1151*ef5ccd6cSJohn Marino    ;;
1152*ef5ccd6cSJohn Marino
1153*ef5ccd6cSJohn Marino  nios2el-*-*)
1154*ef5ccd6cSJohn Marino    targ_defvec=bfd_elf32_littlenios2_vec
1155*ef5ccd6cSJohn Marino    targ_selvecs=bfd_elf32_bignios2_vec
1156*ef5ccd6cSJohn Marino    ;;
1157*ef5ccd6cSJohn Marino
1158*ef5ccd6cSJohn Marino  nios2-*-*)
1159*ef5ccd6cSJohn Marino    targ_defvec=bfd_elf32_littlenios2_vec
1160*ef5ccd6cSJohn Marino    targ_selvecs=bfd_elf32_bignios2_vec
1161*ef5ccd6cSJohn Marino    ;;
1162*ef5ccd6cSJohn Marino
11635796c8dcSSimon Schubert  openrisc-*-elf)
11645796c8dcSSimon Schubert    targ_defvec=bfd_elf32_openrisc_vec
11655796c8dcSSimon Schubert    ;;
11665796c8dcSSimon Schubert
11675796c8dcSSimon Schubert  or32-*-coff)
11685796c8dcSSimon Schubert    targ_defvec=or32coff_big_vec
11695796c8dcSSimon Schubert    targ_underscore=yes
11705796c8dcSSimon Schubert    ;;
11715796c8dcSSimon Schubert
11725796c8dcSSimon Schubert  or32-*-elf)
11735796c8dcSSimon Schubert    targ_defvec=bfd_elf32_or32_big_vec
11745796c8dcSSimon Schubert    ;;
11755796c8dcSSimon Schubert
11765796c8dcSSimon Schubert  pdp11-*-*)
11775796c8dcSSimon Schubert    targ_defvec=pdp11_aout_vec
11785796c8dcSSimon Schubert    targ_underscore=yes
11795796c8dcSSimon Schubert    ;;
11805796c8dcSSimon Schubert
11815796c8dcSSimon Schubert  pj-*-*)
11825796c8dcSSimon Schubert    targ_defvec=bfd_elf32_pj_vec
11835796c8dcSSimon Schubert    targ_selvecs="bfd_elf32_pj_vec bfd_elf32_pjl_vec"
11845796c8dcSSimon Schubert    ;;
11855796c8dcSSimon Schubert
11865796c8dcSSimon Schubert  pjl-*-*)
11875796c8dcSSimon Schubert    targ_defvec=bfd_elf32_pjl_vec
11885796c8dcSSimon Schubert    targ_selvecs="bfd_elf32_pjl_vec bfd_elf32_pj_vec bfd_elf32_i386_vec"
11895796c8dcSSimon Schubert    ;;
11905796c8dcSSimon Schubert
1191c50c785cSJohn Marino  powerpc-*-aix5.[01] | rs6000-*-aix5.[01])
11925796c8dcSSimon Schubert    targ_defvec=rs6000coff_vec
11935796c8dcSSimon Schubert    targ_selvecs="aix5coff64_vec"
11945796c8dcSSimon Schubert    want64=true
11955796c8dcSSimon Schubert    ;;
11965796c8dcSSimon Schubert#ifdef BFD64
1197c50c785cSJohn Marino  powerpc64-*-aix5.[01] | rs6000-*-aix5.[01])
11985796c8dcSSimon Schubert    targ_defvec=aix5coff64_vec
11995796c8dcSSimon Schubert    targ_selvecs="rs6000coff_vec"
12005796c8dcSSimon Schubert    want64=true
12015796c8dcSSimon Schubert    ;;
12025796c8dcSSimon Schubert#endif
1203c50c785cSJohn Marino  powerpc-*-aix[5-9]* | rs6000-*-aix[5-9]*)
12045796c8dcSSimon Schubert    targ_cflags=-DAIX_WEAK_SUPPORT
12055796c8dcSSimon Schubert    targ_defvec=rs6000coff_vec
12065796c8dcSSimon Schubert    targ_selvecs="aix5coff64_vec"
12075796c8dcSSimon Schubert    want64=true
12085796c8dcSSimon Schubert    ;;
12095796c8dcSSimon Schubert#ifdef BFD64
1210c50c785cSJohn Marino  powerpc64-*-aix[5-9]* | rs6000-*-aix[5-9]*)
12115796c8dcSSimon Schubert    targ_cflags=-DAIX_WEAK_SUPPORT
12125796c8dcSSimon Schubert    targ_defvec=aix5coff64_vec
12135796c8dcSSimon Schubert    targ_selvecs="rs6000coff_vec"
12145796c8dcSSimon Schubert    want64=true
12155796c8dcSSimon Schubert    ;;
12165796c8dcSSimon Schubert#endif
12175796c8dcSSimon Schubert
12185796c8dcSSimon Schubert  powerpc-*-aix* | powerpc-*-beos* | rs6000-*-*)
12195796c8dcSSimon Schubert    targ_defvec=rs6000coff_vec
12205796c8dcSSimon Schubert    targ64_selvecs=rs6000coff64_vec
12215796c8dcSSimon Schubert    case "${targ}" in
12225796c8dcSSimon Schubert	*-*-aix4.[3456789]* | *-*-aix[56789]*)
12235796c8dcSSimon Schubert	want64=true;;
12245796c8dcSSimon Schubert	*)
12255796c8dcSSimon Schubert	targ_cflags=-DSMALL_ARCHIVE;;
12265796c8dcSSimon Schubert    esac
12275796c8dcSSimon Schubert    ;;
12285796c8dcSSimon Schubert#ifdef BFD64
12295796c8dcSSimon Schubert  powerpc64-*-aix*)
12305796c8dcSSimon Schubert    targ_defvec=rs6000coff64_vec
12315796c8dcSSimon Schubert    targ_selvecs=rs6000coff_vec
12325796c8dcSSimon Schubert    want64=true
12335796c8dcSSimon Schubert    ;;
1234a45ae5f8SJohn Marino  powerpc64-*-freebsd*)
1235a45ae5f8SJohn Marino    targ_defvec=bfd_elf64_powerpc_freebsd_vec
1236a45ae5f8SJohn Marino    targ_selvecs="bfd_elf64_powerpc_vec bfd_elf32_powerpc_vec bfd_elf32_powerpc_freebsd_vec bfd_elf32_powerpcle_vec rs6000coff_vec rs6000coff64_vec aix5coff64_vec"
1237a45ae5f8SJohn Marino    want64=true
1238a45ae5f8SJohn Marino    ;;
12395796c8dcSSimon Schubert  powerpc64-*-elf* | powerpc-*-elf64* | powerpc64-*-linux* | \
12405796c8dcSSimon Schubert  powerpc64-*-*bsd*)
12415796c8dcSSimon Schubert    targ_defvec=bfd_elf64_powerpc_vec
1242c50c785cSJohn Marino    targ_selvecs="bfd_elf64_powerpcle_vec bfd_elf32_powerpc_vec bfd_elf32_powerpcle_vec rs6000coff_vec rs6000coff64_vec aix5coff64_vec"
12435796c8dcSSimon Schubert    want64=true
12445796c8dcSSimon Schubert    ;;
12455796c8dcSSimon Schubert  powerpc64le-*-elf* | powerpcle-*-elf64*)
12465796c8dcSSimon Schubert    targ_defvec=bfd_elf64_powerpcle_vec
1247c50c785cSJohn Marino    targ_selvecs="bfd_elf64_powerpc_vec bfd_elf32_powerpcle_vec bfd_elf32_powerpc_vec rs6000coff_vec rs6000coff64_vec aix5coff64_vec"
12485796c8dcSSimon Schubert    want64=true
12495796c8dcSSimon Schubert    ;;
12505796c8dcSSimon Schubert#endif
1251a45ae5f8SJohn Marino  powerpc-*-*freebsd*)
1252a45ae5f8SJohn Marino    targ_defvec=bfd_elf32_powerpc_freebsd_vec
1253a45ae5f8SJohn Marino    targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec bfd_elf32_powerpcle_vec ppcboot_vec"
1254a45ae5f8SJohn Marino    targ64_selvecs="bfd_elf64_powerpc_vec bfd_elf64_powerpcle_vec bfd_elf64_powerpc_freebsd_vec"
1255a45ae5f8SJohn Marino    ;;
12565796c8dcSSimon Schubert  powerpc-*-*bsd* | powerpc-*-elf* | powerpc-*-sysv4* | powerpc-*-eabi* | \
12575796c8dcSSimon Schubert  powerpc-*-solaris2* | powerpc-*-linux-* | powerpc-*-rtems* | \
12585796c8dcSSimon Schubert  powerpc-*-chorus*)
12595796c8dcSSimon Schubert    targ_defvec=bfd_elf32_powerpc_vec
12605796c8dcSSimon Schubert    targ_selvecs="rs6000coff_vec bfd_elf32_powerpcle_vec ppcboot_vec"
12615796c8dcSSimon Schubert    targ64_selvecs="bfd_elf64_powerpc_vec bfd_elf64_powerpcle_vec"
12625796c8dcSSimon Schubert    ;;
12635796c8dcSSimon Schubert  powerpc-*-kaos*)
12645796c8dcSSimon Schubert    targ_defvec=bfd_elf32_powerpc_vec
12655796c8dcSSimon Schubert    targ_selvecs="bfd_elf32_powerpcle_vec ppcboot_vec"
12665796c8dcSSimon Schubert    targ64_selvecs="bfd_elf64_powerpc_vec bfd_elf64_powerpcle_vec"
12675796c8dcSSimon Schubert    ;;
12685796c8dcSSimon Schubert  powerpc-*-darwin* | powerpc-*-macos10* | powerpc-*-rhapsody*)
12695796c8dcSSimon Schubert    targ_defvec=mach_o_be_vec
12705796c8dcSSimon Schubert    targ_selvecs="mach_o_be_vec mach_o_le_vec mach_o_fat_vec pef_vec pef_xlib_vec sym_vec"
1271cf7f2e2dSJohn Marino    targ_archs="$targ_archs bfd_i386_arch"
12725796c8dcSSimon Schubert    ;;
12735796c8dcSSimon Schubert  powerpc-*-macos*)
12745796c8dcSSimon Schubert    targ_defvec=pmac_xcoff_vec
12755796c8dcSSimon Schubert    ;;
12765796c8dcSSimon Schubert  powerpc-*-lynxos*)
12775796c8dcSSimon Schubert    targ_defvec=bfd_elf32_powerpc_vec
12785796c8dcSSimon Schubert    targ_selvecs="rs6000coff_vec"
12795796c8dcSSimon Schubert    targ_cflags=-DSMALL_ARCHIVE
12805796c8dcSSimon Schubert    ;;
12815796c8dcSSimon Schubert  powerpc-*-netware*)
12825796c8dcSSimon Schubert    targ_defvec=bfd_elf32_powerpc_vec
12835796c8dcSSimon Schubert    targ_selvecs="nlm32_powerpc_vec rs6000coff_vec"
12845796c8dcSSimon Schubert    ;;
12855796c8dcSSimon Schubert  powerpc-*-nto*)
12865796c8dcSSimon Schubert    targ_defvec=bfd_elf32_powerpc_vec
12875796c8dcSSimon Schubert    targ_selvecs="rs6000coff_vec bfd_elf32_powerpcle_vec ppcboot_vec"
12885796c8dcSSimon Schubert    ;;
12895796c8dcSSimon Schubert  powerpc-*-vxworks* | powerpc-*-windiss*)
12905796c8dcSSimon Schubert    targ_defvec=bfd_elf32_powerpc_vxworks_vec
12915796c8dcSSimon Schubert    targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec bfd_elf32_powerpcle_vec ppcboot_vec"
12925796c8dcSSimon Schubert    targ64_selvecs="bfd_elf64_powerpc_vec bfd_elf64_powerpcle_vec"
12935796c8dcSSimon Schubert    ;;
12945796c8dcSSimon Schubert  powerpcle-*-nto*)
12955796c8dcSSimon Schubert    targ_defvec=bfd_elf32_powerpcle_vec
12965796c8dcSSimon Schubert    targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec"
12975796c8dcSSimon Schubert    ;;
12985796c8dcSSimon Schubert  powerpcle-*-elf* | powerpcle-*-sysv4* | powerpcle-*-eabi* | \
12995796c8dcSSimon Schubert  powerpcle-*-solaris2* | powerpcle-*-linux-* | powerpcle-*-vxworks*)
13005796c8dcSSimon Schubert    targ_defvec=bfd_elf32_powerpcle_vec
13015796c8dcSSimon Schubert    targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec"
13025796c8dcSSimon Schubert    targ64_selvecs="bfd_elf64_powerpc_vec bfd_elf64_powerpcle_vec"
13035796c8dcSSimon Schubert    ;;
13045796c8dcSSimon Schubert  powerpcle-*-pe | powerpcle-*-winnt* | powerpcle-*-cygwin*)
13055796c8dcSSimon Schubert    targ_defvec=bfd_powerpcle_pe_vec
13065796c8dcSSimon Schubert    targ_selvecs="bfd_powerpcle_pei_vec bfd_powerpc_pei_vec bfd_powerpcle_pe_vec bfd_powerpc_pe_vec"
13075796c8dcSSimon Schubert    ;;
13085796c8dcSSimon Schubert
1309a45ae5f8SJohn Marino  rl78-*-elf)
1310a45ae5f8SJohn Marino    targ_defvec=bfd_elf32_rl78_vec
1311a45ae5f8SJohn Marino    ;;
1312a45ae5f8SJohn Marino
1313cf7f2e2dSJohn Marino  rx-*-elf)
1314cf7f2e2dSJohn Marino    targ_defvec=bfd_elf32_rx_le_vec
1315a45ae5f8SJohn Marino    targ_selvecs="bfd_elf32_rx_be_vec bfd_elf32_rx_le_vec bfd_elf32_rx_be_ns_vec"
1316cf7f2e2dSJohn Marino    ;;
1317cf7f2e2dSJohn Marino
13185796c8dcSSimon Schubert  s390-*-linux*)
13195796c8dcSSimon Schubert    targ_defvec=bfd_elf32_s390_vec
13205796c8dcSSimon Schubert    targ64_selvecs=bfd_elf64_s390_vec
13215796c8dcSSimon Schubert    want64=true
13225796c8dcSSimon Schubert    ;;
13235796c8dcSSimon Schubert#ifdef BFD64
13245796c8dcSSimon Schubert  s390x-*-linux*)
13255796c8dcSSimon Schubert    targ_defvec=bfd_elf64_s390_vec
13265796c8dcSSimon Schubert    targ_selvecs=bfd_elf32_s390_vec
13275796c8dcSSimon Schubert    want64=true
13285796c8dcSSimon Schubert    ;;
13295796c8dcSSimon Schubert  s390x-*-tpf*)
13305796c8dcSSimon Schubert    targ_defvec=bfd_elf64_s390_vec
13315796c8dcSSimon Schubert    want64=true
13325796c8dcSSimon Schubert    ;;
13335796c8dcSSimon Schubert
13345796c8dcSSimon Schubert  score*-*-elf*)
13355796c8dcSSimon Schubert    targ_defvec=bfd_elf32_bigscore_vec
13365796c8dcSSimon Schubert    targ_selvecs=bfd_elf32_littlescore_vec
13375796c8dcSSimon Schubert    ;;
13385796c8dcSSimon Schubert
13395796c8dcSSimon Schubert  sh64l*-*-elf*)
13405796c8dcSSimon Schubert    targ_defvec=bfd_elf32_sh64l_vec
13415796c8dcSSimon Schubert    targ_selvecs="bfd_elf32_sh64_vec bfd_elf64_sh64l_vec bfd_elf64_sh64_vec bfd_elf32_shl_vec bfd_elf32_sh_vec"
13425796c8dcSSimon Schubert    targ_underscore=yes
13435796c8dcSSimon Schubert    want64=true
13445796c8dcSSimon Schubert    ;;
13455796c8dcSSimon Schubert  sh64-*-elf*)
13465796c8dcSSimon Schubert    targ_defvec=bfd_elf32_sh64_vec
13475796c8dcSSimon Schubert    targ_selvecs="bfd_elf32_sh64l_vec bfd_elf64_sh64_vec bfd_elf64_sh64l_vec bfd_elf32_sh_vec bfd_elf32_shl_vec"
13485796c8dcSSimon Schubert    targ_underscore=yes
13495796c8dcSSimon Schubert    want64=true
13505796c8dcSSimon Schubert    ;;
13515796c8dcSSimon Schubert  sh64eb-*-linux*)
13525796c8dcSSimon Schubert    targ_defvec=bfd_elf32_sh64blin_vec
13535796c8dcSSimon Schubert    targ_selvecs="bfd_elf32_sh64lin_vec bfd_elf64_sh64blin_vec bfd_elf64_sh64lin_vec bfd_elf32_shblin_vec bfd_elf32_shlin_vec"
13545796c8dcSSimon Schubert    want64=true
13555796c8dcSSimon Schubert    ;;
13565796c8dcSSimon Schubert  sh64-*-linux*)
13575796c8dcSSimon Schubert    targ_defvec=bfd_elf32_sh64lin_vec
13585796c8dcSSimon Schubert    targ_selvecs="bfd_elf32_sh64blin_vec bfd_elf64_sh64lin_vec bfd_elf64_sh64blin_vec bfd_elf32_shlin_vec bfd_elf32_shblin_vec"
13595796c8dcSSimon Schubert    want64=true
13605796c8dcSSimon Schubert    ;;
13615796c8dcSSimon Schubert  sh-*-linux*)
13625796c8dcSSimon Schubert    targ_defvec=bfd_elf32_shblin_vec
13635796c8dcSSimon Schubert    targ_selvecs="bfd_elf32_shlin_vec bfd_elf32_sh64lin_vec bfd_elf32_sh64blin_vec bfd_elf64_sh64lin_vec bfd_elf64_sh64blin_vec"
13645796c8dcSSimon Schubert    want64=true
13655796c8dcSSimon Schubert    ;;
13665796c8dcSSimon Schubert#endif /* BFD64 */
13675796c8dcSSimon Schubert
13685796c8dcSSimon Schubert  sh*eb-*-linux*)
13695796c8dcSSimon Schubert    targ_defvec=bfd_elf32_shblin_vec
13705796c8dcSSimon Schubert    targ_selvecs=bfd_elf32_shlin_vec
13715796c8dcSSimon Schubert    ;;
13725796c8dcSSimon Schubert  sh*-*-linux*)
13735796c8dcSSimon Schubert    targ_defvec=bfd_elf32_shlin_vec
13745796c8dcSSimon Schubert    targ_selvecs=bfd_elf32_shblin_vec
13755796c8dcSSimon Schubert    ;;
13765796c8dcSSimon Schubert
13775796c8dcSSimon Schubert  sh-*-uclinux* | sh[12]-*-uclinux*)
13785796c8dcSSimon Schubert    targ_defvec=bfd_elf32_sh_vec
1379cf7f2e2dSJohn Marino    targ_selvecs="bfd_elf32_shl_vec bfd_elf32_shblin_vec bfd_elf32_shlin_vec bfd_elf32_shfd_vec bfd_elf32_shbfd_vec"
13805796c8dcSSimon Schubert#ifdef BFD64
13815796c8dcSSimon Schubert    targ_selvecs="${targ_selvecs} bfd_elf32_sh64lin_vec bfd_elf32_sh64blin_vec bfd_elf64_sh64lin_vec bfd_elf64_sh64blin_vec"
13825796c8dcSSimon Schubert#endif
13835796c8dcSSimon Schubert    ;;
13845796c8dcSSimon Schubert
13855796c8dcSSimon Schubert#ifdef BFD64
13865796c8dcSSimon Schubert  sh5le-*-netbsd*)
13875796c8dcSSimon Schubert    targ_defvec=bfd_elf32_sh64lnbsd_vec
13885796c8dcSSimon Schubert    targ_selvecs="bfd_elf32_sh64nbsd_vec bfd_elf64_sh64lnbsd_vec bfd_elf64_sh64nbsd_vec bfd_elf32_shnbsd_vec bfd_elf32_shlnbsd_vec"
13895796c8dcSSimon Schubert    want64=true
13905796c8dcSSimon Schubert    ;;
13915796c8dcSSimon Schubert  sh5-*-netbsd*)
13925796c8dcSSimon Schubert    targ_defvec=bfd_elf32_sh64nbsd_vec
13935796c8dcSSimon Schubert    targ_selvecs="bfd_elf32_sh64lnbsd_vec bfd_elf64_sh64lnbsd_vec bfd_elf64_sh64nbsd_vec bfd_elf32_shnbsd_vec bfd_elf32_shlnbsd_vec"
13945796c8dcSSimon Schubert    want64=true
13955796c8dcSSimon Schubert    ;;
13965796c8dcSSimon Schubert
13975796c8dcSSimon Schubert  sh64le-*-netbsd*)
13985796c8dcSSimon Schubert    targ_defvec=bfd_elf64_sh64lnbsd_vec
13995796c8dcSSimon Schubert    targ_selvecs="bfd_elf64_sh64nbsd_vec bfd_elf32_sh64lnbsd_vec bfd_elf32_sh64nbsd_vec bfd_elf32_shnbsd_vec bfd_elf32_shlnbsd_vec"
14005796c8dcSSimon Schubert    want64=true
14015796c8dcSSimon Schubert    ;;
14025796c8dcSSimon Schubert  sh64-*-netbsd*)
14035796c8dcSSimon Schubert    targ_defvec=bfd_elf64_sh64nbsd_vec
14045796c8dcSSimon Schubert    targ_selvecs="bfd_elf64_sh64lnbsd_vec bfd_elf32_sh64lnbsd_vec bfd_elf32_sh64nbsd_vec bfd_elf32_shnbsd_vec bfd_elf32_shlnbsd_vec"
14055796c8dcSSimon Schubert    want64=true
14065796c8dcSSimon Schubert    ;;
14075796c8dcSSimon Schubert
14085796c8dcSSimon Schubert  sh*l*-*-netbsdelf*)
14095796c8dcSSimon Schubert    targ_defvec=bfd_elf32_shlnbsd_vec
14105796c8dcSSimon Schubert    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"
14115796c8dcSSimon Schubert    want64=true
14125796c8dcSSimon Schubert    ;;
14135796c8dcSSimon Schubert  sh-*-netbsdelf*)
14145796c8dcSSimon Schubert    targ_defvec=bfd_elf32_shnbsd_vec
14155796c8dcSSimon Schubert    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"
14165796c8dcSSimon Schubert    want64=true
14175796c8dcSSimon Schubert    ;;
14185796c8dcSSimon Schubert#endif
14195796c8dcSSimon Schubert
14205796c8dcSSimon Schubert  sh*-*-netbsdelf*)
14215796c8dcSSimon Schubert    targ_defvec=bfd_elf32_shnbsd_vec
14225796c8dcSSimon Schubert    targ_selvecs="bfd_elf32_shlnbsd_vec shcoff_vec shlcoff_vec"
14235796c8dcSSimon Schubert    ;;
14245796c8dcSSimon Schubert  sh*-*-symbianelf*)
14255796c8dcSSimon Schubert    targ_defvec=bfd_elf32_shl_symbian_vec
14265796c8dcSSimon Schubert    targ_selvecs="shlcoff_vec shlcoff_small_vec"
14275796c8dcSSimon Schubert    targ_underscore=yes
14285796c8dcSSimon Schubert    ;;
14295796c8dcSSimon Schubert
14305796c8dcSSimon Schubert#ifdef BFD64
14315796c8dcSSimon Schubert  shl*-*-elf* | sh[1234]l*-*-elf* | sh3el*-*-elf* | shl*-*-kaos*)
14325796c8dcSSimon Schubert    targ_defvec=bfd_elf32_shl_vec
14335796c8dcSSimon Schubert    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"
14345796c8dcSSimon Schubert    targ_underscore=yes
14355796c8dcSSimon Schubert    want64=true
14365796c8dcSSimon Schubert    ;;
14375796c8dcSSimon Schubert#endif
14385796c8dcSSimon Schubert
14395796c8dcSSimon Schubert  sh-*-rtemscoff*)
14405796c8dcSSimon Schubert    targ_defvec=shcoff_vec
14415796c8dcSSimon Schubert    targ_selvecs="shcoff_vec shlcoff_vec shcoff_small_vec shlcoff_small_vec"
14425796c8dcSSimon Schubert    targ_underscore=yes
14435796c8dcSSimon Schubert    ;;
14445796c8dcSSimon Schubert
14455796c8dcSSimon Schubert#ifdef BFD64
14465796c8dcSSimon Schubert  sh-*-elf* | sh[1234]*-elf* | sh-*-rtems* | sh-*-kaos*)
14475796c8dcSSimon Schubert    targ_defvec=bfd_elf32_sh_vec
14485796c8dcSSimon Schubert    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"
14495796c8dcSSimon Schubert    targ_underscore=yes
14505796c8dcSSimon Schubert    want64=true
14515796c8dcSSimon Schubert    ;;
14525796c8dcSSimon Schubert#endif
14535796c8dcSSimon Schubert
14545796c8dcSSimon Schubert  sh-*-nto*)
14555796c8dcSSimon Schubert    targ_defvec=bfd_elf32_sh_vec
14565796c8dcSSimon Schubert    targ_selvecs="bfd_elf32_shl_vec shcoff_vec shlcoff_vec shcoff_small_vec shlcoff_small_vec"
14575796c8dcSSimon Schubert    targ_underscore=yes
14585796c8dcSSimon Schubert    ;;
14595796c8dcSSimon Schubert  sh*-*-openbsd*)
14605796c8dcSSimon Schubert    targ_defvec=bfd_elf32_shlnbsd_vec
14615796c8dcSSimon Schubert    targ_selvecs="bfd_elf32_shnbsd_vec shcoff_vec shlcoff_vec"
14625796c8dcSSimon Schubert    ;;
14635796c8dcSSimon Schubert  sh-*-pe)
14645796c8dcSSimon Schubert    targ_defvec=shlpe_vec
14655796c8dcSSimon Schubert    targ_selvecs="shlpe_vec shlpei_vec"
14665796c8dcSSimon Schubert    targ_underscore=yes
14675796c8dcSSimon Schubert    ;;
14685796c8dcSSimon Schubert  sh-*-vxworks)
14695796c8dcSSimon Schubert    targ_defvec=bfd_elf32_shvxworks_vec
14705796c8dcSSimon Schubert    targ_selvecs="bfd_elf32_shlvxworks_vec"
14715796c8dcSSimon Schubert    # FIXME None of the following are actually used on this target, but
14725796c8dcSSimon Schubert    # they're necessary for coff-sh.c (which is unconditionally used) to be
14735796c8dcSSimon Schubert    # compiled correctly.
14745796c8dcSSimon Schubert    targ_selvecs="$targ_selvecs shcoff_vec shlcoff_vec shcoff_small_vec shlcoff_small_vec"
14755796c8dcSSimon Schubert    targ_underscore=yes
14765796c8dcSSimon Schubert    ;;
14775796c8dcSSimon Schubert  sh-*-*)
14785796c8dcSSimon Schubert    targ_defvec=shcoff_vec
14795796c8dcSSimon Schubert    targ_selvecs="shcoff_vec shlcoff_vec shcoff_small_vec shlcoff_small_vec"
14805796c8dcSSimon Schubert    targ_underscore=yes
14815796c8dcSSimon Schubert    ;;
14825796c8dcSSimon Schubert
14835796c8dcSSimon Schubert  sparclet-*-aout*)
14845796c8dcSSimon Schubert    targ_defvec=sunos_big_vec
14855796c8dcSSimon Schubert    targ_selvecs=sparcle_aout_vec
14865796c8dcSSimon Schubert    targ_underscore=yes
14875796c8dcSSimon Schubert    ;;
14885796c8dcSSimon Schubert  sparc86x-*-aout*)
14895796c8dcSSimon Schubert    targ_defvec=sunos_big_vec
14905796c8dcSSimon Schubert    targ_underscore=yes
14915796c8dcSSimon Schubert    ;;
14925796c8dcSSimon Schubert  sparclite-*-elf* | sparc86x-*-elf*)
14935796c8dcSSimon Schubert    targ_defvec=bfd_elf32_sparc_vec
14945796c8dcSSimon Schubert    ;;
14955796c8dcSSimon Schubert  sparc*-*-chorus*)
14965796c8dcSSimon Schubert    targ_defvec=bfd_elf32_sparc_vec
14975796c8dcSSimon Schubert    ;;
14985796c8dcSSimon Schubert  sparc-*-linux*aout*)
14995796c8dcSSimon Schubert    targ_defvec=sparclinux_vec
15005796c8dcSSimon Schubert    targ_selvecs="bfd_elf32_sparc_vec sunos_big_vec"
15015796c8dcSSimon Schubert    targ_underscore=yes
15025796c8dcSSimon Schubert    ;;
15035796c8dcSSimon Schubert  sparc-*-linux-* | sparcv*-*-linux-*)
15045796c8dcSSimon Schubert    targ_defvec=bfd_elf32_sparc_vec
15055796c8dcSSimon Schubert    targ_selvecs="sparclinux_vec bfd_elf64_sparc_vec sunos_big_vec"
15065796c8dcSSimon Schubert    ;;
15075796c8dcSSimon Schubert  sparc-*-netbsdelf*)
15085796c8dcSSimon Schubert    targ_defvec=bfd_elf32_sparc_vec
15095796c8dcSSimon Schubert    targ_selvecs=sparcnetbsd_vec
15105796c8dcSSimon Schubert    ;;
15115796c8dcSSimon Schubert  sparc-*-netbsdaout* | sparc-*-netbsd*)
15125796c8dcSSimon Schubert    targ_defvec=sparcnetbsd_vec
15135796c8dcSSimon Schubert    targ_selvecs=bfd_elf32_sparc_vec
15145796c8dcSSimon Schubert    targ_underscore=yes
15155796c8dcSSimon Schubert    ;;
15165796c8dcSSimon Schubert  sparc-*-openbsd[0-2].* | sparc-*-openbsd3.[0-1])
15175796c8dcSSimon Schubert    targ_defvec=sparcnetbsd_vec
15185796c8dcSSimon Schubert    targ_underscore=yes
15195796c8dcSSimon Schubert    ;;
15205796c8dcSSimon Schubert  sparc-*-openbsd*)
15215796c8dcSSimon Schubert    targ_defvec=bfd_elf32_sparc_vec
15225796c8dcSSimon Schubert    targ_selvecs=sparcnetbsd_vec
15235796c8dcSSimon Schubert    ;;
1524c50c785cSJohn Marino  sparc-*-elf*)
15255796c8dcSSimon Schubert    targ_defvec=bfd_elf32_sparc_vec
15265796c8dcSSimon Schubert    targ_selvecs=sunos_big_vec
15275796c8dcSSimon Schubert    ;;
1528c50c785cSJohn Marino  sparc-*-solaris2.[0-6] | sparc-*-solaris2.[0-6].*)
1529c50c785cSJohn Marino    targ_defvec=bfd_elf32_sparc_sol2_vec
1530c50c785cSJohn Marino    targ_selvecs=sunos_big_vec
1531c50c785cSJohn Marino    ;;
15325796c8dcSSimon Schubert#ifdef BFD64
15335796c8dcSSimon Schubert  sparc-*-solaris2* | sparcv9-*-solaris2* | sparc64-*-solaris2*)
1534c50c785cSJohn Marino    targ_defvec=bfd_elf32_sparc_sol2_vec
1535c50c785cSJohn Marino    targ_selvecs="bfd_elf64_sparc_sol2_vec sunos_big_vec"
15365796c8dcSSimon Schubert    want64=true
15375796c8dcSSimon Schubert    ;;
15385796c8dcSSimon Schubert#endif
15395796c8dcSSimon Schubert  sparc-*-sysv4*)
15405796c8dcSSimon Schubert    targ_defvec=bfd_elf32_sparc_vec
15415796c8dcSSimon Schubert    ;;
15425796c8dcSSimon Schubert  sparc-*-vxworks*)
15435796c8dcSSimon Schubert    targ_defvec=bfd_elf32_sparc_vxworks_vec
15445796c8dcSSimon Schubert    targ_selvecs="bfd_elf32_sparc_vec sunos_big_vec"
15455796c8dcSSimon Schubert    ;;
15465796c8dcSSimon Schubert  sparc-*-netware*)
15475796c8dcSSimon Schubert    targ_defvec=bfd_elf32_sparc_vec
15485796c8dcSSimon Schubert    targ_selvecs="nlm32_sparc_vec sunos_big_vec"
15495796c8dcSSimon Schubert    ;;
15505796c8dcSSimon Schubert#ifdef BFD64
15515796c8dcSSimon Schubert  sparc64-*-aout*)
15525796c8dcSSimon Schubert    targ_defvec=sunos_big_vec
15535796c8dcSSimon Schubert    targ_underscore=yes
15545796c8dcSSimon Schubert    want64=true
15555796c8dcSSimon Schubert    ;;
15565796c8dcSSimon Schubert  sparc64*-*-linux-*)
15575796c8dcSSimon Schubert    targ_defvec=bfd_elf64_sparc_vec
15585796c8dcSSimon Schubert    targ_selvecs="bfd_elf32_sparc_vec sparclinux_vec sunos_big_vec"
15595796c8dcSSimon Schubert    want64=true
15605796c8dcSSimon Schubert    ;;
1561c50c785cSJohn Marino  sparc64-*-elf* | sparc64-*-rtems* )
15625796c8dcSSimon Schubert    targ_defvec=bfd_elf64_sparc_vec
15635796c8dcSSimon Schubert    targ_selvecs=bfd_elf32_sparc_vec
15645796c8dcSSimon Schubert    want64=true
15655796c8dcSSimon Schubert    ;;
15665796c8dcSSimon Schubert#endif /* BFD64 */
15675796c8dcSSimon Schubert  sparc*-*-coff*)
15685796c8dcSSimon Schubert    targ_defvec=sparccoff_vec
15695796c8dcSSimon Schubert    ;;
1570c50c785cSJohn Marino  sparc-*-rtems*)
15715796c8dcSSimon Schubert    targ_defvec=bfd_elf32_sparc_vec
15725796c8dcSSimon Schubert    targ_selvecs="sunos_big_vec sparccoff_vec"
15735796c8dcSSimon Schubert    ;;
15745796c8dcSSimon Schubert  sparc*-*-*)
15755796c8dcSSimon Schubert    targ_defvec=sunos_big_vec
15765796c8dcSSimon Schubert    targ_underscore=yes
15775796c8dcSSimon Schubert    ;;
15785796c8dcSSimon Schubert
15795796c8dcSSimon Schubert  spu-*-elf)
15805796c8dcSSimon Schubert    targ_defvec=bfd_elf32_spu_vec
15815796c8dcSSimon Schubert    want64=true
15825796c8dcSSimon Schubert    ;;
15835796c8dcSSimon Schubert
15845796c8dcSSimon Schubert#if HAVE_host_aout_vec
15855796c8dcSSimon Schubert  tahoe-*-*)
15865796c8dcSSimon Schubert    targ_defvec=host_aout_vec
15875796c8dcSSimon Schubert    targ_underscore=yes
15885796c8dcSSimon Schubert    ;;
15895796c8dcSSimon Schubert#endif
15905796c8dcSSimon Schubert
1591a45ae5f8SJohn Marino  tic6x-*-elf)
1592a45ae5f8SJohn Marino    targ_defvec=bfd_elf32_tic6x_elf_le_vec
1593a45ae5f8SJohn Marino    targ_selvecs="bfd_elf32_tic6x_elf_be_vec bfd_elf32_tic6x_le_vec bfd_elf32_tic6x_be_vec"
1594a45ae5f8SJohn Marino    ;;
1595a45ae5f8SJohn Marino
1596a45ae5f8SJohn Marino  tic6x-*-uclinux)
1597a45ae5f8SJohn Marino    targ_defvec=bfd_elf32_tic6x_linux_le_vec
1598a45ae5f8SJohn Marino    targ_selvecs="bfd_elf32_tic6x_linux_be_vec bfd_elf32_tic6x_le_vec bfd_elf32_tic6x_be_vec"
1599cf7f2e2dSJohn Marino    ;;
1600cf7f2e2dSJohn Marino
16015796c8dcSSimon Schubert  tic80*-*-*)
16025796c8dcSSimon Schubert    targ_defvec=tic80coff_vec
16035796c8dcSSimon Schubert    targ_underscore=yes
16045796c8dcSSimon Schubert    ;;
16055796c8dcSSimon Schubert
1606a45ae5f8SJohn Marino#ifdef BFD64
1607a45ae5f8SJohn Marino  tilegx-*-*)
1608*ef5ccd6cSJohn Marino    targ_defvec=bfd_elf64_tilegx_le_vec
1609*ef5ccd6cSJohn Marino    targ_selvecs="bfd_elf64_tilegx_be_vec bfd_elf32_tilegx_be_vec bfd_elf32_tilegx_le_vec"
1610*ef5ccd6cSJohn Marino    ;;
1611*ef5ccd6cSJohn Marino  tilegxbe-*-*)
1612*ef5ccd6cSJohn Marino    targ_defvec=bfd_elf64_tilegx_be_vec
1613*ef5ccd6cSJohn Marino    targ_selvecs="bfd_elf64_tilegx_le_vec bfd_elf32_tilegx_be_vec bfd_elf32_tilegx_le_vec"
1614a45ae5f8SJohn Marino    ;;
1615a45ae5f8SJohn Marino#endif
1616a45ae5f8SJohn Marino
1617a45ae5f8SJohn Marino  tilepro-*-*)
1618a45ae5f8SJohn Marino    targ_defvec=bfd_elf32_tilepro_vec
1619a45ae5f8SJohn Marino    ;;
1620a45ae5f8SJohn Marino
1621c50c785cSJohn Marino  v850*-*-*)
16225796c8dcSSimon Schubert    targ_defvec=bfd_elf32_v850_vec
1623*ef5ccd6cSJohn Marino    targ_selvecs="bfd_elf32_v850_rh850_vec"
16245796c8dcSSimon Schubert    ;;
16255796c8dcSSimon Schubert
16265796c8dcSSimon Schubert  vax-*-netbsdelf*)
16275796c8dcSSimon Schubert    targ_defvec=bfd_elf32_vax_vec
16285796c8dcSSimon Schubert    targ_selvecs="vaxnetbsd_vec vax1knetbsd_vec"
16295796c8dcSSimon Schubert    ;;
16305796c8dcSSimon Schubert
16315796c8dcSSimon Schubert  vax-*-netbsdaout* | vax-*-netbsd*)
16325796c8dcSSimon Schubert    targ_defvec=vaxnetbsd_vec
16335796c8dcSSimon Schubert    targ_selvecs="bfd_elf32_vax_vec vax1knetbsd_vec"
16345796c8dcSSimon Schubert    targ_underscore=yes
16355796c8dcSSimon Schubert    ;;
16365796c8dcSSimon Schubert
16375796c8dcSSimon Schubert  vax-*-bsd* | vax-*-ultrix*)
16385796c8dcSSimon Schubert    targ_defvec=vaxbsd_vec
16395796c8dcSSimon Schubert    targ_underscore=yes
16405796c8dcSSimon Schubert    ;;
16415796c8dcSSimon Schubert
16425796c8dcSSimon Schubert  vax-*-openbsd*)
16435796c8dcSSimon Schubert    targ_defvec=vaxnetbsd_vec
16445796c8dcSSimon Schubert    targ_underscore=yes
16455796c8dcSSimon Schubert    ;;
16465796c8dcSSimon Schubert
16475796c8dcSSimon Schubert  vax-*-linux-*)
16485796c8dcSSimon Schubert    targ_defvec=bfd_elf32_vax_vec
16495796c8dcSSimon Schubert    ;;
16505796c8dcSSimon Schubert
16515796c8dcSSimon Schubert  we32k-*-*)
16525796c8dcSSimon Schubert    targ_defvec=we32kcoff_vec
16535796c8dcSSimon Schubert    ;;
16545796c8dcSSimon Schubert
16555796c8dcSSimon Schubert  w65-*-*)
16565796c8dcSSimon Schubert    targ_defvec=w65_vec
16575796c8dcSSimon Schubert    ;;
16585796c8dcSSimon Schubert
1659*ef5ccd6cSJohn Marino  xgate-*-*)
1660*ef5ccd6cSJohn Marino    targ_defvec=bfd_elf32_xgate_vec
1661*ef5ccd6cSJohn Marino    targ_selvecs="bfd_elf32_xgate_vec"
1662*ef5ccd6cSJohn Marino    ;;
1663*ef5ccd6cSJohn Marino
16645796c8dcSSimon Schubert  xstormy16-*-elf)
16655796c8dcSSimon Schubert    targ_defvec=bfd_elf32_xstormy16_vec
16665796c8dcSSimon Schubert    ;;
16675796c8dcSSimon Schubert
16685796c8dcSSimon Schubert  xtensa*-*-*)
16695796c8dcSSimon Schubert    targ_defvec=bfd_elf32_xtensa_le_vec
16705796c8dcSSimon Schubert    targ_selvecs=bfd_elf32_xtensa_be_vec
16715796c8dcSSimon Schubert    ;;
16725796c8dcSSimon Schubert xc16x-*-elf)
16735796c8dcSSimon Schubert    targ_defvec=bfd_elf32_xc16x_vec
16745796c8dcSSimon Schubert    ;;
16755796c8dcSSimon Schubert
16765796c8dcSSimon Schubert  z80-*-*)
16775796c8dcSSimon Schubert    targ_defvec=z80coff_vec
16785796c8dcSSimon Schubert    targ_underscore=no
16795796c8dcSSimon Schubert    ;;
16805796c8dcSSimon Schubert
16815796c8dcSSimon Schubert  z8k*-*-*)
16825796c8dcSSimon Schubert    targ_defvec=z8kcoff_vec
16835796c8dcSSimon Schubert    targ_underscore=yes
16845796c8dcSSimon Schubert    ;;
16855796c8dcSSimon Schubert
16865796c8dcSSimon Schubert  *-*-ieee*)
16875796c8dcSSimon Schubert    targ_defvec=ieee_vec
16885796c8dcSSimon Schubert    ;;
16895796c8dcSSimon Schubert
16905796c8dcSSimon Schubert  *-adobe-*)
16915796c8dcSSimon Schubert    targ_defvec=a_out_adobe_vec
16925796c8dcSSimon Schubert    targ_underscore=yes
16935796c8dcSSimon Schubert    ;;
16945796c8dcSSimon Schubert
16955796c8dcSSimon Schubert  *-sony-*)
16965796c8dcSSimon Schubert    targ_defvec=newsos3_vec
16975796c8dcSSimon Schubert    targ_underscore=yes
16985796c8dcSSimon Schubert    ;;
16995796c8dcSSimon Schubert
17005796c8dcSSimon Schubert  *-tandem-*)
17015796c8dcSSimon Schubert    targ_defvec=m68kcoff_vec
17025796c8dcSSimon Schubert    targ_selvecs=ieee_vec
17035796c8dcSSimon Schubert    ;;
17045796c8dcSSimon Schubert# END OF targmatch.h
17055796c8dcSSimon Schubert  *)
17065796c8dcSSimon Schubert    echo 1>&2 "*** BFD does not support target ${targ}."
17075796c8dcSSimon Schubert    echo 1>&2 "*** Look in bfd/config.bfd for supported targets."
17085796c8dcSSimon Schubert    exit 1
17095796c8dcSSimon Schubert    ;;
17105796c8dcSSimon Schubertesac
17115796c8dcSSimon Schubert
17125796c8dcSSimon Schubertcase "${host64}${want64}" in
17135796c8dcSSimon Schubert  *true*)
17145796c8dcSSimon Schubert    targ_selvecs="${targ_selvecs} ${targ64_selvecs}"
17155796c8dcSSimon Schubert    ;;
17165796c8dcSSimon Schubertesac
17175796c8dcSSimon Schubert
17185796c8dcSSimon Schubert# If we support any ELF target, then automatically add support for the
17195796c8dcSSimon Schubert# generic ELF targets.  This permits an objdump with some ELF support
17205796c8dcSSimon Schubert# to be used on an arbitrary ELF file for anything other than
17215796c8dcSSimon Schubert# relocation information.
17225796c8dcSSimon Schubertcase "${targ_defvec} ${targ_selvecs}" in
17235796c8dcSSimon Schubert  *bfd_elf64* | *bfd_elf32_n*mips*)
17245796c8dcSSimon Schubert    targ_selvecs="${targ_selvecs} bfd_elf64_little_generic_vec bfd_elf64_big_generic_vec bfd_elf32_little_generic_vec bfd_elf32_big_generic_vec"
17255796c8dcSSimon Schubert    ;;
17265796c8dcSSimon Schubert  *bfd_elf32*)
17275796c8dcSSimon Schubert    targ_selvecs="${targ_selvecs} bfd_elf32_little_generic_vec bfd_elf32_big_generic_vec"
17285796c8dcSSimon Schubert    ;;
17295796c8dcSSimon Schubertesac
17305796c8dcSSimon Schubert
17315796c8dcSSimon Schubert# If we support Intel L1OM target, then add support for bfd_l1om_arch.
17325796c8dcSSimon Schubertcase "${targ_defvec} ${targ_selvecs}" in
17335796c8dcSSimon Schubert  *bfd_elf64_l1om_vec*)
17345796c8dcSSimon Schubert    targ_archs="$targ_archs bfd_l1om_arch"
17355796c8dcSSimon Schubert    ;;
17365796c8dcSSimon Schubertesac
1737a45ae5f8SJohn Marino
1738a45ae5f8SJohn Marino# If we support Intel K1OM target, then add support for bfd_k1om_arch.
1739a45ae5f8SJohn Marinocase "${targ_defvec} ${targ_selvecs}" in
1740a45ae5f8SJohn Marino  *bfd_elf64_k1om_vec*)
1741a45ae5f8SJohn Marino    targ_archs="$targ_archs bfd_k1om_arch"
1742a45ae5f8SJohn Marino    ;;
1743a45ae5f8SJohn Marinoesac
1744