xref: /dflybsd-src/contrib/binutils-2.27/bfd/config.bfd (revision 14cfea9901210cefd3a1d65dc15887461b194bde)
1a9fa9459Szrj# config.bfd
2a9fa9459Szrj#
3a9fa9459Szrj#   Copyright (C) 2012-2016 Free Software Foundation, Inc.
4a9fa9459Szrj#
5a9fa9459Szrj# This file is free software; you can redistribute it and/or modify
6a9fa9459Szrj# it under the terms of the GNU General Public License as published by
7a9fa9459Szrj# the Free Software Foundation; either version 3 of the License, or
8a9fa9459Szrj# (at your option) any later version.
9a9fa9459Szrj#
10a9fa9459Szrj# This program is distributed in the hope that it will be useful,
11a9fa9459Szrj# but WITHOUT ANY WARRANTY; without even the implied warranty of
12a9fa9459Szrj# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13a9fa9459Szrj# GNU General Public License for more details.
14a9fa9459Szrj#
15a9fa9459Szrj# You should have received a copy of the GNU General Public License
16a9fa9459Szrj# along with this program; see the file COPYING3.  If not see
17a9fa9459Szrj# <http://www.gnu.org/licenses/>.
18a9fa9459Szrj#
19a9fa9459Szrj# Convert a canonical host type into a BFD host type.
20a9fa9459Szrj# Set shell variable targ to canonical target name, and run
21a9fa9459Szrj# using ``. config.bfd''.
22a9fa9459Szrj# Sets the following shell variables:
23a9fa9459Szrj#  targ_defvec		Default vector for this target
24a9fa9459Szrj#  targ_selvecs		Vectors to build for this target
25a9fa9459Szrj#  targ64_selvecs	Vectors to build if --enable-64-bit-bfd is given
26a9fa9459Szrj#			or if host is 64 bit.
27a9fa9459Szrj#  targ_archs		Architectures for this target
28a9fa9459Szrj#  targ_cflags		$(CFLAGS) for this target (FIXME: pretty bogus)
29a9fa9459Szrj#  targ_underscore	Whether underscores are used: yes or no
30a9fa9459Szrj
31a9fa9459Szrj# Part of this file is processed by targmatch.sed to generate the
32a9fa9459Szrj# targmatch.h file.  The #ifdef and #endif lines that appear below are
33a9fa9459Szrj# copied directly into targmatch.h.
34a9fa9459Szrj
35a9fa9459Szrj# The binutils c++filt program wants to know whether underscores are
36a9fa9459Szrj# stripped or not.  That is why we set targ_underscore.  c++filt uses
37a9fa9459Szrj# this information to choose a default.  This information is
38a9fa9459Szrj# duplicated in the symbol_leading_char field of the BFD target
39a9fa9459Szrj# vector, but c++filt does not deal with object files and is not
40a9fa9459Szrj# linked against libbfd.a.  It is not terribly important that c++filt
41a9fa9459Szrj# get this right; it is just convenient.
42a9fa9459Szrj
43a9fa9459Szrjtarg_defvec=
44a9fa9459Szrjtarg_selvecs=
45a9fa9459Szrjtarg64_selvecs=
46a9fa9459Szrjtarg_cflags=
47a9fa9459Szrjtarg_underscore=no
48a9fa9459Szrj
49a9fa9459Szrj# Catch obsolete configurations.
50a9fa9459Szrjcase $targ in
51a9fa9459Szrj openrisc-*-* | or32-*-*)
52a9fa9459Szrj    echo "*** Configuration $targ is obsolete." >&2
53a9fa9459Szrj    echo "*** Use or1k-*-elf or or1k-*-linux as the target instead" >&2
54a9fa9459Szrj    exit 1
55a9fa9459Szrj    ;;
56a9fa9459Szrj i370-* | \
57a9fa9459Szrj sh5*-*-* | sh64*-*-* | \
58a9fa9459Szrj null)
59a9fa9459Szrj    if test "x$enable_obsolete" != xyes; then
60a9fa9459Szrj      echo "*** Configuration $targ is obsolete." >&2
61a9fa9459Szrj      echo "*** Specify --enable-obsolete to build it anyway." >&2
62a9fa9459Szrj      echo "*** Support will be REMOVED in the next major release of BINUTILS," >&2
63a9fa9459Szrj      echo "*** unless a maintainer comes forward." >&2
64a9fa9459Szrj      exit 1
65a9fa9459Szrj    fi;;
66a9fa9459Szrjesac
67a9fa9459Szrj
68a9fa9459Szrjcase $targ in
69a9fa9459Szrj *-go32-rtems* | \
70a9fa9459Szrj a29k-* | \
71a9fa9459Szrj arm-*-oabi | \
72a9fa9459Szrj hppa*-*-rtems* | \
73a9fa9459Szrj i960-*-rtems* | \
74a9fa9459Szrj i[3-7]86*-*-rtemscoff* | \
75a9fa9459Szrj m68*-*-lynxos* | \
76a9fa9459Szrj m68*-*-rtemscoff* | \
77a9fa9459Szrj m68*-apollo-* | \
78a9fa9459Szrj m68*-apple-aux* | \
79a9fa9459Szrj m68*-bull-sysv* | \
80a9fa9459Szrj maxq-*-coff | \
81a9fa9459Szrj mips*el-*-rtems* | \
82a9fa9459Szrj powerpcle-*-rtems* | \
83a9fa9459Szrj sparc*-*-rtemsaout* | \
84a9fa9459Szrj sparc-*-lynxos* | \
85a9fa9459Szrj vax-*-vms* | \
86a9fa9459Szrj null)
87a9fa9459Szrj    echo "*** Configuration $targ is obsolete." >&2
88a9fa9459Szrj    echo "*** Support has been REMOVED." >&2
89a9fa9459Szrj    exit 1
90a9fa9459Szrj    ;;
91a9fa9459Szrjesac
92a9fa9459Szrj
93a9fa9459Szrjtarg_cpu=`echo $targ | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
94a9fa9459Szrjcase "${targ_cpu}" in
95a9fa9459Szrjaarch64*)	 targ_archs="bfd_aarch64_arch bfd_arm_arch";;
96a9fa9459Szrjalpha*)		 targ_archs=bfd_alpha_arch ;;
97a9fa9459Szrjam33_2.0*)	 targ_archs=bfd_mn10300_arch ;;
98a9fa9459Szrjarc*)		 targ_archs=bfd_arc_arch ;;
99a9fa9459Szrjarm*)		 targ_archs=bfd_arm_arch ;;
100a9fa9459Szrjbfin*)		 targ_archs=bfd_bfin_arch ;;
101a9fa9459Szrjc30*)		 targ_archs=bfd_tic30_arch ;;
102a9fa9459Szrjc4x*)		 targ_archs=bfd_tic4x_arch ;;
103a9fa9459Szrjc54x*)		 targ_archs=bfd_tic54x_arch ;;
104a9fa9459Szrjcr16*)		 targ_archs=bfd_cr16_arch ;;
105a9fa9459Szrjcrisv32)	 targ_archs=bfd_cris_arch ;;
106a9fa9459Szrjcrx*)		 targ_archs=bfd_crx_arch ;;
107a9fa9459Szrjdlx*)		 targ_archs=bfd_dlx_arch ;;
108a9fa9459Szrjfido*)		 targ_archs=bfd_m68k_arch ;;
109a9fa9459Szrjhppa*)		 targ_archs=bfd_hppa_arch ;;
110a9fa9459Szrji[3-7]86)	 targ_archs=bfd_i386_arch ;;
111a9fa9459Szrji370)		 targ_archs=bfd_i370_arch ;;
112a9fa9459Szrjlm32)	         targ_archs=bfd_lm32_arch ;;
113a9fa9459Szrjm6811*|m68hc11*) targ_archs="bfd_m68hc11_arch bfd_m68hc12_arch bfd_m9s12x_arch bfd_m9s12xg_arch" ;;
114a9fa9459Szrjm6812*|m68hc12*) targ_archs="bfd_m68hc12_arch bfd_m68hc11_arch bfd_m9s12x_arch bfd_m9s12xg_arch" ;;
115a9fa9459Szrjm68*)		 targ_archs=bfd_m68k_arch ;;
116a9fa9459Szrjm88*)		 targ_archs=bfd_m88k_arch ;;
117a9fa9459Szrjmicroblaze*)	 targ_archs=bfd_microblaze_arch ;;
118a9fa9459Szrjmips*)		 targ_archs=bfd_mips_arch ;;
119a9fa9459Szrjnds32*)		 targ_archs=bfd_nds32_arch ;;
120a9fa9459Szrjnios2*)          targ_archs=bfd_nios2_arch ;;
121a9fa9459Szrjor1k*|or1knd*)	 targ_archs=bfd_or1k_arch ;;
122a9fa9459Szrjpdp11*)		 targ_archs=bfd_pdp11_arch ;;
123a9fa9459Szrjpj*)		 targ_archs="bfd_pj_arch bfd_i386_arch";;
124a9fa9459Szrjpowerpc*)	 targ_archs="bfd_rs6000_arch bfd_powerpc_arch" ;;
125a9fa9459Szrjrs6000)		 targ_archs="bfd_rs6000_arch bfd_powerpc_arch" ;;
126a9fa9459Szrjs390*)		 targ_archs=bfd_s390_arch ;;
127a9fa9459Szrjsh*)		 targ_archs=bfd_sh_arch ;;
128a9fa9459Szrjsparc*)		 targ_archs=bfd_sparc_arch ;;
129a9fa9459Szrjspu*)            targ_archs=bfd_spu_arch ;;
130a9fa9459Szrjtilegx*)	 targ_archs=bfd_tilegx_arch ;;
131a9fa9459Szrjtilepro*)	 targ_archs=bfd_tilepro_arch ;;
132a9fa9459Szrjv850*)		 targ_archs="bfd_v850_arch bfd_v850_rh850_arch" ;;
133a9fa9459Szrjvisium*)	 targ_archs=bfd_visium_arch ;;
134a9fa9459Szrjx86_64*)	 targ_archs=bfd_i386_arch ;;
135a9fa9459Szrjxtensa*)	 targ_archs=bfd_xtensa_arch ;;
136a9fa9459Szrjxgate)		 targ_archs=bfd_xgate_arch ;;
137a9fa9459Szrjz80|r800)	 targ_archs=bfd_z80_arch ;;
138a9fa9459Szrjz8k*)		 targ_archs=bfd_z8k_arch ;;
139a9fa9459Szrj*)		 targ_archs=bfd_${targ_cpu}_arch ;;
140a9fa9459Szrjesac
141a9fa9459Szrj
142a9fa9459Szrj
143a9fa9459Szrj# WHEN ADDING ENTRIES TO THIS MATRIX:
144a9fa9459Szrj#  Make sure that the left side always has two dashes.  Otherwise you
145a9fa9459Szrj#  can get spurious matches.  Even for unambiguous cases, do this as a
146a9fa9459Szrj#  convention, else the table becomes a real mess to understand and maintain.
147a9fa9459Szrj#
148a9fa9459Szrj#  Keep obsolete entries above the START comment, to keep them out of
149a9fa9459Szrj#  targmatch.h.
150a9fa9459Szrj
151a9fa9459Szrjcase "${targ}" in
152a9fa9459Szrj  mips*-dec-bsd*)
153a9fa9459Szrj    echo "This target is obsolete and has been removed."
154a9fa9459Szrj    exit 1
155a9fa9459Szrj    ;;
156a9fa9459Szrj
157a9fa9459Szrj  mips*-*-mach3*)
158a9fa9459Szrj    echo "This target is obsolete and has been removed."
159a9fa9459Szrj    exit 1
160a9fa9459Szrj    ;;
161a9fa9459Szrj
162a9fa9459Szrj  mips*-*-pe*)
163a9fa9459Szrj    echo "This target is obsolete and has been removed."
164a9fa9459Szrj    exit 1
165a9fa9459Szrj    ;;
166a9fa9459Szrj
167a9fa9459Szrj  plugin)
168a9fa9459Szrj    targ_defvec=plugin_vec
169a9fa9459Szrj    targ_selvecs="plugin_vec"
170a9fa9459Szrj    ;;
171a9fa9459Szrj
172a9fa9459Szrj# START OF targmatch.h
173a9fa9459Szrj#ifdef BFD64
174a9fa9459Szrj  aarch64-*-darwin*)
175a9fa9459Szrj    targ_defvec=aarch64_mach_o_vec
176a9fa9459Szrj    targ_selvecs="arm_mach_o_vec mach_o_le_vec mach_o_be_vec mach_o_fat_vec"
177a9fa9459Szrj    targ_archs="$targ_archs bfd_i386_arch bfd_powerpc_arch bfd_rs6000_arch"
178a9fa9459Szrj    want64=true
179a9fa9459Szrj    ;;
180a9fa9459Szrj  aarch64-*-elf | aarch64-*-rtems*)
181a9fa9459Szrj    targ_defvec=aarch64_elf64_le_vec
182a9fa9459Szrj    targ_selvecs="aarch64_elf64_be_vec aarch64_elf32_le_vec aarch64_elf32_be_vec arm_elf32_le_vec arm_elf32_be_vec"
183a9fa9459Szrj    want64=true
184a9fa9459Szrj    ;;
185a9fa9459Szrj  aarch64_be-*-elf)
186a9fa9459Szrj    targ_defvec=aarch64_elf64_be_vec
187a9fa9459Szrj    targ_selvecs="aarch64_elf64_le_vec aarch64_elf32_le_vec aarch64_elf32_be_vec arm_elf32_be_vec arm_elf32_le_vec"
188a9fa9459Szrj    want64=true
189a9fa9459Szrj    ;;
190a9fa9459Szrj  aarch64-*-freebsd*)
191a9fa9459Szrj    targ_defvec=aarch64_elf64_le_vec
192a9fa9459Szrj    targ_selvecs="aarch64_elf64_be_vec arm_elf32_le_vec arm_elf32_be_vec"
193a9fa9459Szrj    want64=true
194a9fa9459Szrj    ;;
195a9fa9459Szrj  aarch64-*-cloudabi*)
196a9fa9459Szrj    targ_defvec=aarch64_elf64_le_cloudabi_vec
197a9fa9459Szrj    targ_selvecs=aarch64_elf64_be_cloudabi_vec
198a9fa9459Szrj    want64=true
199a9fa9459Szrj    ;;
200a9fa9459Szrj  aarch64-*-linux*)
201a9fa9459Szrj    targ_defvec=aarch64_elf64_le_vec
202a9fa9459Szrj    targ_selvecs="aarch64_elf64_be_vec aarch64_elf32_le_vec aarch64_elf32_be_vec arm_elf32_le_vec arm_elf32_be_vec"
203a9fa9459Szrj    want64=true
204a9fa9459Szrj    ;;
205a9fa9459Szrj  aarch64_be-*-linux*)
206a9fa9459Szrj    targ_defvec=aarch64_elf64_be_vec
207a9fa9459Szrj    targ_selvecs="aarch64_elf64_le_vec aarch64_elf32_le_vec aarch64_elf32_be_vec arm_elf32_be_vec arm_elf32_le_vec"
208a9fa9459Szrj    want64=true
209a9fa9459Szrj    ;;
210a9fa9459Szrj  alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu)
211a9fa9459Szrj    targ_defvec=alpha_elf64_fbsd_vec
212a9fa9459Szrj    targ_selvecs="alpha_elf64_vec alpha_ecoff_le_vec"
213a9fa9459Szrj    want64=true
214a9fa9459Szrj    # FreeBSD <= 4.0 supports only the old nonstandard way of ABI labelling.
215a9fa9459Szrj    case "${targ}" in
216a9fa9459Szrj      alpha*-*-freebsd3* | alpha*-*-freebsd4 | alpha*-*-freebsd4.0*)
217a9fa9459Szrj	targ_cflags=-DOLD_FREEBSD_ABI_LABEL ;;
218a9fa9459Szrj    esac
219a9fa9459Szrj    ;;
220a9fa9459Szrj  alpha*-*-netbsd* | alpha*-*-openbsd*)
221a9fa9459Szrj    targ_defvec=alpha_elf64_vec
222a9fa9459Szrj    targ_selvecs=alpha_ecoff_le_vec
223a9fa9459Szrj    want64=true
224a9fa9459Szrj    ;;
225a9fa9459Szrj  alpha*-*-netware*)
226a9fa9459Szrj    targ_defvec=alpha_ecoff_le_vec
227a9fa9459Szrj    targ_selvecs=alpha_nlm32_vec
228a9fa9459Szrj    want64=true
229a9fa9459Szrj    ;;
230a9fa9459Szrj  alpha*-*-linux*ecoff*)
231a9fa9459Szrj    targ_defvec=alpha_ecoff_le_vec
232a9fa9459Szrj    targ_selvecs=alpha_elf64_vec
233a9fa9459Szrj    want64=true
234a9fa9459Szrj    ;;
235a9fa9459Szrj  alpha*-*-linux-* | alpha*-*-elf*)
236a9fa9459Szrj    targ_defvec=alpha_elf64_vec
237a9fa9459Szrj    targ_selvecs=alpha_ecoff_le_vec
238a9fa9459Szrj    want64=true
239a9fa9459Szrj    ;;
240a9fa9459Szrj  alpha*-*-*vms*)
241a9fa9459Szrj    targ_defvec=alpha_vms_vec
242a9fa9459Szrj    targ_selvecs=alpha_vms_lib_txt_vec
243a9fa9459Szrj    want64=true
244a9fa9459Szrj    ;;
245a9fa9459Szrj  alpha*-*-*)
246a9fa9459Szrj    targ_defvec=alpha_ecoff_le_vec
247a9fa9459Szrj    want64=true
248a9fa9459Szrj    ;;
249a9fa9459Szrj  ia64*-*-freebsd* | ia64*-*-netbsd* | ia64*-*-linux-* | ia64*-*-elf* | ia64*-*-kfreebsd*-gnu)
250a9fa9459Szrj    targ_defvec=ia64_elf64_le_vec
251a9fa9459Szrj    targ_selvecs="ia64_elf64_be_vec ia64_pei_vec"
252a9fa9459Szrj    want64=true
253a9fa9459Szrj    ;;
254a9fa9459Szrj  ia64*-*-hpux*)
255a9fa9459Szrj    targ_defvec=ia64_elf32_hpux_be_vec
256a9fa9459Szrj    targ_selvecs="ia64_elf64_hpux_be_vec"
257a9fa9459Szrj    want64=true
258a9fa9459Szrj    ;;
259a9fa9459Szrj  ia64*-*-*vms*)
260a9fa9459Szrj    targ_defvec=ia64_elf64_vms_vec
261a9fa9459Szrj    targ_selvecs=alpha_vms_lib_txt_vec
262a9fa9459Szrj    want64=true
263a9fa9459Szrj    ;;
264a9fa9459Szrj  sparc64-*-freebsd* | sparc64-*-kfreebsd*-gnu)
265a9fa9459Szrj    targ_defvec=sparc_elf64_fbsd_vec
266a9fa9459Szrj    targ_selvecs="sparc_elf64_vec sparc_elf32_vec sparc_aout_sunos_be_vec"
267a9fa9459Szrj    ;;
268a9fa9459Szrj  sparc64-*-netbsd* | sparc64-*-openbsd*)
269a9fa9459Szrj    targ_defvec=sparc_elf64_vec
270a9fa9459Szrj    targ_selvecs="sparc_elf32_vec sparc_aout_sunos_be_vec"
271a9fa9459Szrj    want64=true
272a9fa9459Szrj    ;;
273a9fa9459Szrj#endif /* BFD64 */
274a9fa9459Szrj
275a9fa9459Szrj  am33_2.0-*-linux*)
276a9fa9459Szrj    targ_defvec=am33_elf32_linux_vec
277a9fa9459Szrj    ;;
278a9fa9459Szrj
279a9fa9459Szrj  arc*-*-elf* | arc*-*-linux*)
280a9fa9459Szrj    targ_defvec=arc_elf32_le_vec
281a9fa9459Szrj    targ_selvecs=arc_elf32_be_vec
282a9fa9459Szrj    ;;
283a9fa9459Szrj
284a9fa9459Szrj  arm-*-darwin*)
285a9fa9459Szrj    targ_defvec=arm_mach_o_vec
286a9fa9459Szrj    targ_selvecs="mach_o_le_vec mach_o_be_vec mach_o_fat_vec"
287a9fa9459Szrj    targ_archs="$targ_archs bfd_i386_arch bfd_powerpc_arch bfd_rs6000_arch"
288a9fa9459Szrj    ;;
289a9fa9459Szrj  arm-*-nacl*)
290a9fa9459Szrj    targ_defvec=arm_elf32_nacl_le_vec
291a9fa9459Szrj    targ_selvecs="arm_elf32_nacl_be_vec i386_elf32_nacl_vec"
292a9fa9459Szrj    targ64_selvecs="x86_64_elf32_nacl_vec x86_64_elf64_nacl_vec"
293a9fa9459Szrj    targ_archs="$targ_archs bfd_i386_arch"
294a9fa9459Szrj    ;;
295a9fa9459Szrj  armeb-*-nacl*)
296a9fa9459Szrj    targ_defvec=arm_elf32_nacl_be_vec
297a9fa9459Szrj    targ_selvecs="arm_elf32_nacl_le_vec i386_elf32_nacl_vec"
298a9fa9459Szrj    targ64_selvecs="x86_64_elf32_nacl_vec x86_64_elf64_nacl_vec"
299a9fa9459Szrj    targ_archs="$targ_archs bfd_i386_arch"
300a9fa9459Szrj    ;;
301a9fa9459Szrj  armeb-*-netbsdelf*)
302a9fa9459Szrj    targ_defvec=arm_elf32_be_vec
303a9fa9459Szrj    targ_selvecs="arm_elf32_le_vec arm_aout_nbsd_vec"
304a9fa9459Szrj    ;;
305a9fa9459Szrj  arm-*-netbsdelf*)
306a9fa9459Szrj    targ_defvec=arm_elf32_le_vec
307a9fa9459Szrj    targ_selvecs="arm_elf32_be_vec arm_aout_nbsd_vec"
308a9fa9459Szrj    ;;
309a9fa9459Szrj  arm-*-netbsd* | arm-*-openbsd*)
310a9fa9459Szrj    targ_defvec=arm_aout_nbsd_vec
311a9fa9459Szrj    targ_selvecs="arm_elf32_le_vec arm_elf32_be_vec"
312a9fa9459Szrj    targ_underscore=yes
313a9fa9459Szrj    ;;
314a9fa9459Szrj  arm-*-nto* | nto*arm*)
315a9fa9459Szrj    targ_defvec=arm_elf32_le_vec
316a9fa9459Szrj    targ_selvecs=arm_elf32_be_vec
317a9fa9459Szrj    targ_cflags=-D__QNXTARGET__
318a9fa9459Szrj    ;;
319a9fa9459Szrj  arm-*-riscix*)
320a9fa9459Szrj    targ_defvec=arm_aout_riscix_vec
321a9fa9459Szrj    ;;
322a9fa9459Szrj  arm-epoc-pe*)
323a9fa9459Szrj    targ_defvec=arm_pe_epoc_le_vec
324a9fa9459Szrj    targ_selvecs="arm_pe_epoc_le_vec arm_pe_epoc_be_vec arm_pei_epoc_le_vec arm_pei_epoc_be_vec"
325a9fa9459Szrj    targ_underscore=no
326a9fa9459Szrj    targ_cflags=-DARM_COFF_BUGFIX
327a9fa9459Szrj    ;;
328a9fa9459Szrj  arm-wince-pe | arm-*-wince | arm*-*-mingw32ce* | arm*-*-cegcc*)
329a9fa9459Szrj    targ_defvec=arm_pe_wince_le_vec
330a9fa9459Szrj    targ_selvecs="arm_pe_wince_le_vec arm_pe_wince_be_vec arm_pei_wince_le_vec arm_pei_wince_be_vec"
331a9fa9459Szrj    targ_underscore=no
332a9fa9459Szrj    targ_cflags="-DARM_WINCE -DARM_COFF_BUGFIX"
333a9fa9459Szrj    ;;
334a9fa9459Szrj  arm-*-pe*)
335a9fa9459Szrj    targ_defvec=arm_pe_le_vec
336a9fa9459Szrj    targ_selvecs="arm_pe_le_vec arm_pe_be_vec arm_pei_le_vec arm_pei_be_vec"
337a9fa9459Szrj    targ_underscore=yes
338a9fa9459Szrj    ;;
339a9fa9459Szrj  arm-*-aout | armel-*-aout)
340a9fa9459Szrj    targ_defvec=arm_aout_le_vec
341a9fa9459Szrj    targ_selvecs=arm_aout_be_vec
342a9fa9459Szrj    ;;
343a9fa9459Szrj  armeb-*-aout)
344a9fa9459Szrj    targ_defvec=arm_aout_be_vec
345a9fa9459Szrj    targ_selvecs=arm_aout_le_vec
346a9fa9459Szrj    ;;
347a9fa9459Szrj  arm-*-coff)
348a9fa9459Szrj    targ_defvec=arm_coff_le_vec
349a9fa9459Szrj    targ_selvecs=arm_coff_be_vec
350a9fa9459Szrj    targ_underscore=yes
351a9fa9459Szrj    ;;
352a9fa9459Szrj  arm-*-phoenix*)
353a9fa9459Szrj    targ_defvec=arm_elf32_le_vec
354a9fa9459Szrj    targ_selvecs=arm_elf32_be_vec
355a9fa9459Szrj    ;;
356a9fa9459Szrj  arm-*-rtems*)
357a9fa9459Szrj    targ_defvec=arm_elf32_le_vec
358a9fa9459Szrj    targ_selvecs=arm_elf32_be_vec
359a9fa9459Szrj    ;;
360a9fa9459Szrj  armeb-*-elf | arm*b-*-freebsd* | arm*b-*-linux-* | armeb-*-eabi*)
361a9fa9459Szrj    targ_defvec=arm_elf32_be_vec
362a9fa9459Szrj    targ_selvecs=arm_elf32_le_vec
363a9fa9459Szrj    ;;
364a9fa9459Szrj  arm-*-kaos*)
365a9fa9459Szrj    targ_defvec=arm_elf32_le_vec
366a9fa9459Szrj    targ_selvecs=arm_elf32_be_vec
367a9fa9459Szrj    ;;
368a9fa9459Szrj  arm-*-elf | arm*-*-freebsd* | arm*-*-linux-* | arm*-*-conix* | \
369a9fa9459Szrj  arm*-*-uclinux* | arm-*-kfreebsd*-gnu | \
370a9fa9459Szrj  arm*-*-eabi* )
371a9fa9459Szrj    targ_defvec=arm_elf32_le_vec
372a9fa9459Szrj    targ_selvecs=arm_elf32_be_vec
373a9fa9459Szrj    ;;
374a9fa9459Szrj  arm*-*-vxworks | arm*-*-windiss)
375a9fa9459Szrj    targ_defvec=arm_elf32_vxworks_le_vec
376a9fa9459Szrj    targ_selvecs=arm_elf32_vxworks_be_vec
377a9fa9459Szrj    ;;
378a9fa9459Szrj  arm*-*-symbianelf*)
379a9fa9459Szrj    targ_defvec=arm_elf32_symbian_le_vec
380a9fa9459Szrj    targ_selvecs=arm_elf32_symbian_be_vec
381a9fa9459Szrj    ;;
382a9fa9459Szrj  arm9e-*-elf)
383a9fa9459Szrj    targ_defvec=arm_elf32_le_vec
384a9fa9459Szrj    targ_selvecs=arm_elf32_be_vec
385a9fa9459Szrj    ;;
386a9fa9459Szrj
387a9fa9459Szrj  avr-*-*)
388a9fa9459Szrj    targ_defvec=avr_elf32_vec
389a9fa9459Szrj    ;;
390a9fa9459Szrj
391a9fa9459Szrj  bfin-*-*)
392a9fa9459Szrj    targ_defvec=bfin_elf32_vec
393a9fa9459Szrj    targ_selvecs=bfin_elf32_fdpic_vec
394a9fa9459Szrj    targ_underscore=yes
395a9fa9459Szrj    ;;
396a9fa9459Szrj
397a9fa9459Szrj  c30-*-*aout* | tic30-*-*aout*)
398a9fa9459Szrj    targ_defvec=tic30_aout_vec
399a9fa9459Szrj    ;;
400a9fa9459Szrj  c30-*-*coff* | tic30-*-*coff*)
401a9fa9459Szrj    targ_defvec=tic30_coff_vec
402a9fa9459Szrj    ;;
403a9fa9459Szrj
404a9fa9459Szrj  c4x-*-*coff* | tic4x-*-*coff* | tic4x-*-rtems*)
405a9fa9459Szrj    targ_defvec=tic4x_coff1_vec
406a9fa9459Szrj    targ_selvecs="tic4x_coff1_beh_vec tic4x_coff2_vec tic4x_coff2_beh_vec tic4x_coff0_vec tic4x_coff0_beh_vec"
407a9fa9459Szrj    targ_underscore=yes
408a9fa9459Szrj    ;;
409a9fa9459Szrj
410a9fa9459Szrj  c54x*-*-*coff* | tic54x-*-*coff*)
411a9fa9459Szrj    targ_defvec=tic54x_coff1_vec
412a9fa9459Szrj    targ_selvecs="tic54x_coff1_beh_vec tic54x_coff2_vec tic54x_coff2_beh_vec tic54x_coff0_vec tic54x_coff0_beh_vec"
413a9fa9459Szrj    targ_underscore=yes
414a9fa9459Szrj    ;;
415a9fa9459Szrj
416a9fa9459Szrj  cr16-*-elf* | cr16*-*-uclinux*)
417a9fa9459Szrj    targ_defvec=cr16_elf32_vec
418a9fa9459Szrj    targ_underscore=yes
419a9fa9459Szrj    ;;
420a9fa9459Szrj
421a9fa9459Szrj  cr16c-*-elf*)
422a9fa9459Szrj    targ_defvec=cr16c_elf32_vec
423a9fa9459Szrj    targ_underscore=yes
424a9fa9459Szrj    ;;
425a9fa9459Szrj
426a9fa9459Szrj  cris-*-* | crisv32-*-*)
427a9fa9459Szrj    targ_defvec=cris_aout_vec
428a9fa9459Szrj    targ_selvecs="cris_elf32_us_vec cris_elf32_vec ieee_vec"
429a9fa9459Szrj    targ_underscore=yes # Note: not true for cris_elf32_vec.
430a9fa9459Szrj    ;;
431a9fa9459Szrj
432a9fa9459Szrj  crx-*-elf*)
433a9fa9459Szrj    targ_defvec=crx_elf32_vec
434a9fa9459Szrj    targ_underscore=yes
435a9fa9459Szrj    ;;
436a9fa9459Szrj
437a9fa9459Szrj  d10v-*-*)
438a9fa9459Szrj    targ_defvec=d10v_elf32_vec
439a9fa9459Szrj    ;;
440a9fa9459Szrj
441a9fa9459Szrj  dlx-*-elf*)
442a9fa9459Szrj    targ_defvec=dlx_elf32_be_vec
443a9fa9459Szrj    targ_selvecs="dlx_elf32_be_vec"
444a9fa9459Szrj    ;;
445a9fa9459Szrj
446a9fa9459Szrj  d30v-*-*)
447a9fa9459Szrj    targ_defvec=d30v_elf32_vec
448a9fa9459Szrj    ;;
449a9fa9459Szrj
450a9fa9459Szrj  epiphany-*-elf)
451a9fa9459Szrj    targ_defvec=epiphany_elf32_vec
452a9fa9459Szrj    ;;
453a9fa9459Szrj
454a9fa9459Szrj  fido-*-elf* )
455a9fa9459Szrj    targ_defvec=m68k_elf32_vec
456a9fa9459Szrj    targ_selvecs="m68k_coff_vec ieee_vec"
457a9fa9459Szrj    ;;
458a9fa9459Szrj
459a9fa9459Szrj  fr30-*-elf)
460a9fa9459Szrj    targ_defvec=fr30_elf32_vec
461a9fa9459Szrj    ;;
462a9fa9459Szrj
463a9fa9459Szrj  frv-*-elf)
464a9fa9459Szrj    targ_defvec=frv_elf32_vec
465a9fa9459Szrj    targ_selvecs=frv_elf32_fdpic_vec
466a9fa9459Szrj    ;;
467a9fa9459Szrj
468a9fa9459Szrj  frv-*-*linux*)
469a9fa9459Szrj    targ_defvec=frv_elf32_fdpic_vec
470a9fa9459Szrj    targ_selvecs=frv_elf32_vec
471a9fa9459Szrj    ;;
472a9fa9459Szrj
473a9fa9459Szrj  moxie-*-elf | moxie-*-rtems* | moxie-*-uclinux)
474a9fa9459Szrj    targ_defvec=moxie_elf32_be_vec
475a9fa9459Szrj    targ_selvecs=moxie_elf32_le_vec
476a9fa9459Szrj    ;;
477a9fa9459Szrj
478a9fa9459Szrj  moxie-*-moxiebox*)
479a9fa9459Szrj    targ_defvec=moxie_elf32_le_vec
480a9fa9459Szrj    ;;
481a9fa9459Szrj
482a9fa9459Szrj  h8300*-*-rtemscoff*)
483a9fa9459Szrj    targ_defvec=h8300_coff_vec
484a9fa9459Szrj    targ_underscore=yes
485a9fa9459Szrj    ;;
486a9fa9459Szrj
487a9fa9459Szrj  h8300*-*-elf | h8300*-*-rtems*)
488a9fa9459Szrj    targ_defvec=h8300_elf32_vec
489a9fa9459Szrj    targ_underscore=yes
490a9fa9459Szrj    ;;
491a9fa9459Szrj
492a9fa9459Szrj  h8300*-*-linux*)
493a9fa9459Szrj    targ_defvec=h8300_elf32_linux_vec
494a9fa9459Szrj    ;;
495a9fa9459Szrj
496a9fa9459Szrj  h8300*-*-*)
497a9fa9459Szrj    targ_defvec=h8300_coff_vec
498a9fa9459Szrj    targ_underscore=yes
499a9fa9459Szrj    ;;
500a9fa9459Szrj
501a9fa9459Szrj  h8500-*-*)
502a9fa9459Szrj    targ_defvec=h8500_coff_vec
503a9fa9459Szrj    targ_underscore=yes
504a9fa9459Szrj    ;;
505a9fa9459Szrj
506a9fa9459Szrj#ifdef BFD64
507a9fa9459Szrj  hppa*64*-*-linux-*)
508a9fa9459Szrj    targ_defvec=hppa_elf64_linux_vec
509a9fa9459Szrj    targ_selvecs=hppa_elf64_vec
510a9fa9459Szrj    want64=true
511a9fa9459Szrj    ;;
512a9fa9459Szrj  hppa*64*-*-hpux11*)
513a9fa9459Szrj    targ_defvec=hppa_elf64_vec
514a9fa9459Szrj    targ_selvecs=hppa_elf64_linux_vec
515a9fa9459Szrj    targ_cflags=-DHPUX_LARGE_AR_IDS
516a9fa9459Szrj    want64=true
517a9fa9459Szrj    ;;
518a9fa9459Szrj#endif
519a9fa9459Szrj
520a9fa9459Szrj  hppa*-*-linux-*)
521a9fa9459Szrj    targ_defvec=hppa_elf32_linux_vec
522a9fa9459Szrj    targ_selvecs=hppa_elf32_vec
523a9fa9459Szrj    ;;
524a9fa9459Szrj  hppa*-*-netbsd*)
525a9fa9459Szrj    targ_defvec=hppa_elf32_nbsd_vec
526a9fa9459Szrj    targ_selvecs="hppa_elf32_vec hppa_elf32_linux_vec"
527a9fa9459Szrj    ;;
528a9fa9459Szrj  hppa*-*-*elf* | hppa*-*-lites* | hppa*-*-sysv4* | hppa*-*-openbsd*)
529a9fa9459Szrj    targ_defvec=hppa_elf32_vec
530a9fa9459Szrj    targ_selvecs=hppa_elf32_linux_vec
531a9fa9459Szrj    ;;
532a9fa9459Szrj
533a9fa9459Szrj  hppa*-*-bsd*)
534a9fa9459Szrj    targ_defvec=hppa_som_vec
535a9fa9459Szrj    targ_selvecs=hppa_elf32_vec
536a9fa9459Szrj    ;;
537a9fa9459Szrj  hppa*-*-hpux* | hppa*-*-hiux* | hppa*-*-mpeix*)
538a9fa9459Szrj    targ_defvec=hppa_som_vec
539a9fa9459Szrj    ;;
540a9fa9459Szrj  hppa*-*-osf*)
541a9fa9459Szrj    targ_defvec=hppa_som_vec
542a9fa9459Szrj    targ_selvecs=hppa_elf32_vec
543a9fa9459Szrj    ;;
544a9fa9459Szrj
545a9fa9459Szrj  i370-*-*)
546a9fa9459Szrj    targ_defvec=i370_elf32_vec
547a9fa9459Szrj    targ_selvecs="i370_elf32_vec"
548a9fa9459Szrj    ;;
549a9fa9459Szrj
550a9fa9459Szrj  i[3-7]86-*-sco3.2v5*coff)
551a9fa9459Szrj    targ_defvec=i386_coff_vec
552a9fa9459Szrj    targ_selvecs=i386_elf32_vec
553a9fa9459Szrj    ;;
554a9fa9459Szrj  i[3-7]86-*-sysv4* | i[3-7]86-*-unixware* | \
555a9fa9459Szrj  i[3-7]86-*-elf* | i[3-7]86-*-sco3.2v5* | \
556a9fa9459Szrj  i[3-7]86-*-dgux* | i[3-7]86-*-sysv5*)
557a9fa9459Szrj    targ_defvec=i386_elf32_vec
558a9fa9459Szrj    targ_selvecs="iamcu_elf32_vec i386_coff_vec"
559a9fa9459Szrj    ;;
560a9fa9459Szrj  i[3-7]86-*-solaris2*)
561a9fa9459Szrj    targ_defvec=i386_elf32_sol2_vec
562a9fa9459Szrj    targ_selvecs="iamcu_elf32_vec i386_coff_vec i386_pei_vec"
563a9fa9459Szrj    targ64_selvecs="x86_64_elf64_sol2_vec l1om_elf64_vec k1om_elf64_vec x86_64_pei_vec"
564a9fa9459Szrj    want64=true
565a9fa9459Szrj    ;;
566a9fa9459Szrj#ifdef BFD64
567a9fa9459Szrj  x86_64-*-solaris2*)
568a9fa9459Szrj    targ_defvec=i386_elf32_sol2_vec
569a9fa9459Szrj    targ_selvecs="x86_64_elf64_sol2_vec l1om_elf64_vec k1om_elf64_vec iamcu_elf32_vec i386_coff_vec i386_pei_vec x86_64_pei_vec"
570a9fa9459Szrj    want64=true
571a9fa9459Szrj    ;;
572a9fa9459Szrj#endif
573a9fa9459Szrj  i[3-7]86-*-kaos*)
574a9fa9459Szrj    targ_defvec=i386_elf32_vec
575a9fa9459Szrj    targ_selvecs=i386_elf32_vec
576a9fa9459Szrj    ;;
577a9fa9459Szrj  i[3-7]86-*-nto*)
578a9fa9459Szrj    targ_defvec=i386_elf32_vec
579a9fa9459Szrj    targ_selvecs="iamcu_elf32_vec i386_coff_vec"
580a9fa9459Szrj    ;;
581a9fa9459Szrj  i[3-7]86-*-aros*)
582a9fa9459Szrj    targ_defvec=i386_elf32_vec
583a9fa9459Szrj    targ_selvecs=iamcu_elf32_vec
584a9fa9459Szrj    ;;
585a9fa9459Szrj  i[3-7]86-*-chorus*)
586a9fa9459Szrj    targ_defvec=i386_elf32_vec
587a9fa9459Szrj    targ_selvecs=iamcu_elf32_vec
588a9fa9459Szrj    ;;
589a9fa9459Szrj  i[3-7]86-*-dicos*)
590a9fa9459Szrj    targ_defvec=i386_elf32_vec
591a9fa9459Szrj    targ_selvecs=iamcu_elf32_vec
592a9fa9459Szrj    targ64_selvecs="x86_64_elf64_vec l1om_elf64_vec k1om_elf64_vec"
593a9fa9459Szrj    ;;
594a9fa9459Szrj  *-*-msdosdjgpp* | *-*-go32* )
595a9fa9459Szrj    targ_defvec=i386_coff_go32_vec
596a9fa9459Szrj    targ_selvecs="i386_coff_go32stubbed_vec i386_aout_vec"
597a9fa9459Szrj    ;;
598a9fa9459Szrj  i[3-7]86-*-sysv* | i[3-7]86-*-isc* | i[3-7]86-*-sco* | i[3-7]86-*-coff | \
599a9fa9459Szrj  i[3-7]86-*-aix*)
600a9fa9459Szrj    targ_defvec=i386_coff_vec
601a9fa9459Szrj    ;;
602a9fa9459Szrj  i[3-7]86-*-rtems*)
603a9fa9459Szrj    targ_defvec=i386_elf32_vec
604a9fa9459Szrj    targ_selvecs="iamcu_elf32_vec i386_coff_vec i386_aout_vec"
605a9fa9459Szrj    ;;
606a9fa9459Szrj  i[3-7]86-*-darwin* | i[3-7]86-*-macos10* | i[3-7]86-*-rhapsody*)
607a9fa9459Szrj    targ_defvec=i386_mach_o_vec
608a9fa9459Szrj    targ_selvecs="mach_o_le_vec mach_o_be_vec mach_o_fat_vec pef_vec pef_xlib_vec sym_vec"
609a9fa9459Szrj    targ64_selvecs=x86_64_mach_o_vec
610a9fa9459Szrj    targ_archs="$targ_archs bfd_powerpc_arch bfd_rs6000_arch"
611a9fa9459Szrj    ;;
612a9fa9459Szrj  i[3-7]86-sequent-bsd*)
613a9fa9459Szrj    targ_defvec=i386_aout_dynix_vec
614a9fa9459Szrj    targ_underscore=yes
615a9fa9459Szrj    ;;
616a9fa9459Szrj  i[3-7]86-*-bsd*)
617a9fa9459Szrj    targ_defvec=i386_aout_bsd_vec
618a9fa9459Szrj    targ_underscore=yes
619a9fa9459Szrj    ;;
620a9fa9459Szrj  i[3-7]86-*-dragonfly*)
621a9fa9459Szrj    targ_defvec=i386_elf32_vec
622a9fa9459Szrj    targ_selvecs=iamcu_elf32_vec
623a9fa9459Szrj    targ64_selvecs="x86_64_elf64_vec l1om_elf64_vec k1om_elf64_vec"
624a9fa9459Szrj    ;;
625a9fa9459Szrj  i[3-7]86-*-freebsdaout* | i[3-7]86-*-freebsd[12].* | \
626a9fa9459Szrj  i[3-7]86-*-freebsd[12])
627a9fa9459Szrj    targ_defvec=i386_aout_fbsd_vec
628a9fa9459Szrj    targ_selvecs=i386_aout_bsd_vec
629a9fa9459Szrj    targ_underscore=yes
630a9fa9459Szrj    ;;
631a9fa9459Szrj  i[3-7]86-*-freebsd* | i[3-7]86-*-kfreebsd*-gnu)
632a9fa9459Szrj    targ_defvec=i386_elf32_fbsd_vec
633a9fa9459Szrj    targ_selvecs="i386_elf32_vec iamcu_elf32_vec i386_pei_vec i386_coff_vec"
634a9fa9459Szrj    targ64_selvecs="x86_64_elf64_fbsd_vec x86_64_elf64_vec x86_64_pei_vec l1om_elf64_vec l1om_elf64_fbsd_vec k1om_elf64_vec k1om_elf64_fbsd_vec"
635a9fa9459Szrj    # FreeBSD <= 4.0 supports only the old nonstandard way of ABI labelling.
636a9fa9459Szrj    case "${targ}" in
637a9fa9459Szrj      i[3-7]86-*-freebsd3* | i[3-7]86-*-freebsd4 | i[3-7]86-*-freebsd4.0*)
638a9fa9459Szrj	targ_cflags=-DOLD_FREEBSD_ABI_LABEL ;;
639a9fa9459Szrj    esac
640a9fa9459Szrj    ;;
641a9fa9459Szrj  i[3-7]86-*-netbsdelf* | i[3-7]86-*-netbsd*-gnu* | i[3-7]86-*-knetbsd*-gnu)
642a9fa9459Szrj    targ_defvec=i386_elf32_vec
643a9fa9459Szrj    targ_selvecs="i386_aout_nbsd_vec iamcu_elf32_vec"
644a9fa9459Szrj    targ64_selvecs="x86_64_elf64_vec l1om_elf64_vec k1om_elf64_vec"
645a9fa9459Szrj    ;;
646a9fa9459Szrj  i[3-7]86-*-netbsdpe*)
647a9fa9459Szrj    targ_defvec=i386_pe_vec
648a9fa9459Szrj    targ_selvecs="i386_pe_vec i386_pei_vec i386_elf32_vec iamcu_elf32_vec"
649a9fa9459Szrj    ;;
650a9fa9459Szrj  i[3-7]86-*-netbsdaout* | i[3-7]86-*-netbsd* | \
651a9fa9459Szrj  i[3-7]86-*-openbsd[0-2].* | i[3-7]86-*-openbsd3.[0-3])
652a9fa9459Szrj    targ_defvec=i386_aout_nbsd_vec
653a9fa9459Szrj    targ_selvecs="i386_elf32_vec iamcu_elf32_vec i386_aout_bsd_vec"
654a9fa9459Szrj    targ_underscore=yes
655a9fa9459Szrj    ;;
656a9fa9459Szrj  i[3-7]86-*-openbsd*)
657a9fa9459Szrj    targ_defvec=i386_elf32_vec
658a9fa9459Szrj    targ_selvecs="iamcu_elf32_vec i386_aout_nbsd_vec"
659a9fa9459Szrj    ;;
660a9fa9459Szrj  i[3-7]86-*-netware*)
661a9fa9459Szrj    targ_defvec=i386_elf32_vec
662a9fa9459Szrj    targ_selvecs="iamcu_elf32_vec i386_nlm32_vec i386_coff_vec i386_aout_vec"
663a9fa9459Szrj    ;;
664a9fa9459Szrj  i[3-7]86-*-linux*aout*)
665a9fa9459Szrj    targ_defvec=i386_aout_linux_vec
666a9fa9459Szrj    targ_selvecs="i386_elf32_vec iamcu_elf32_vec"
667a9fa9459Szrj    targ_underscore=yes
668a9fa9459Szrj    ;;
669a9fa9459Szrj  i[3-7]86-*-linux-*)
670a9fa9459Szrj    targ_defvec=i386_elf32_vec
671a9fa9459Szrj    targ_selvecs="iamcu_elf32_vec i386_aout_linux_vec i386_pei_vec"
672a9fa9459Szrj    targ64_selvecs="x86_64_elf64_vec x86_64_elf32_vec x86_64_pei_vec l1om_elf64_vec k1om_elf64_vec"
673a9fa9459Szrj    ;;
674a9fa9459Szrj  i[3-7]86-*-nacl*)
675a9fa9459Szrj    targ_defvec=i386_elf32_nacl_vec
676a9fa9459Szrj    targ_selvecs="arm_elf32_nacl_be_vec arm_elf32_nacl_le_vec"
677a9fa9459Szrj    targ64_selvecs="x86_64_elf64_nacl_vec x86_64_elf32_nacl_vec"
678a9fa9459Szrj    targ_archs="$targ_archs bfd_arm_arch"
679a9fa9459Szrj    ;;
680a9fa9459Szrj#ifdef BFD64
681a9fa9459Szrj  x86_64-*-cloudabi*)
682a9fa9459Szrj    targ_defvec=x86_64_elf64_cloudabi_vec
683a9fa9459Szrj    want64=true
684a9fa9459Szrj    ;;
685a9fa9459Szrj  x86_64-*-darwin*)
686a9fa9459Szrj    targ_defvec=x86_64_mach_o_vec
687a9fa9459Szrj    targ_selvecs="i386_mach_o_vec mach_o_le_vec mach_o_be_vec mach_o_fat_vec pef_vec pef_xlib_vec sym_vec"
688a9fa9459Szrj    targ_archs="$targ_archs bfd_powerpc_arch bfd_rs6000_arch"
689a9fa9459Szrj    want64=true
690a9fa9459Szrj    ;;
691a9fa9459Szrj  x86_64-*-dicos*)
692a9fa9459Szrj    targ_defvec=x86_64_elf64_vec
693a9fa9459Szrj    targ_selvecs="i386_elf32_vec iamcu_elf32_vec l1om_elf64_vec k1om_elf64_vec"
694a9fa9459Szrj    want64=true
695a9fa9459Szrj    ;;
696a9fa9459Szrj  x86_64-*-elf* | x86_64-*-rtems*)
697a9fa9459Szrj    targ_defvec=x86_64_elf64_vec
698a9fa9459Szrj    targ_selvecs="i386_elf32_vec iamcu_elf32_vec x86_64_elf32_vec l1om_elf64_vec k1om_elf64_vec"
699a9fa9459Szrj    want64=true
700a9fa9459Szrj    ;;
701a9fa9459Szrj  x86_64-*-dragonfly*)
702a9fa9459Szrj    targ_defvec=x86_64_elf64_vec
703*14cfea99Szrj    targ_selvecs="i386_elf32_vec iamcu_elf32_vec l1om_elf64_vec k1om_elf64_vec x86_64_pei_vec"
704a9fa9459Szrj    want64=true
705a9fa9459Szrj    ;;
706a9fa9459Szrj  x86_64-*-freebsd* | x86_64-*-kfreebsd*-gnu)
707a9fa9459Szrj    targ_defvec=x86_64_elf64_fbsd_vec
708a9fa9459Szrj    targ_selvecs="i386_elf32_fbsd_vec iamcu_elf32_vec i386_coff_vec i386_pei_vec x86_64_pei_vec i386_elf32_vec x86_64_elf64_vec l1om_elf64_vec l1om_elf64_fbsd_vec k1om_elf64_vec k1om_elf64_fbsd_vec"
709a9fa9459Szrj    want64=true
710a9fa9459Szrj    ;;
711a9fa9459Szrj  x86_64-*-netbsd* | x86_64-*-openbsd*)
712a9fa9459Szrj    targ_defvec=x86_64_elf64_vec
713a9fa9459Szrj    targ_selvecs="i386_elf32_vec iamcu_elf32_vec i386_aout_nbsd_vec i386_coff_vec i386_pei_vec x86_64_pei_vec l1om_elf64_vec k1om_elf64_vec"
714a9fa9459Szrj    want64=true
715a9fa9459Szrj    ;;
716a9fa9459Szrj  x86_64-*-linux-*)
717a9fa9459Szrj    targ_defvec=x86_64_elf64_vec
718a9fa9459Szrj    targ_selvecs="i386_elf32_vec iamcu_elf32_vec x86_64_elf32_vec i386_aout_linux_vec i386_pei_vec x86_64_pei_vec l1om_elf64_vec k1om_elf64_vec"
719a9fa9459Szrj    want64=true
720a9fa9459Szrj    ;;
721a9fa9459Szrj  x86_64-*-nacl*)
722a9fa9459Szrj    targ_defvec=x86_64_elf32_nacl_vec
723a9fa9459Szrj    targ_selvecs="i386_elf32_nacl_vec x86_64_elf64_nacl_vec arm_elf32_nacl_be_vec arm_elf32_nacl_le_vec"
724a9fa9459Szrj    targ_archs="$targ_archs bfd_arm_arch"
725a9fa9459Szrj    want64=true
726a9fa9459Szrj    ;;
727a9fa9459Szrj  x86_64-*-mingw* | x86_64-*-pe | x86_64-*-pep | x86_64-*-cygwin)
728a9fa9459Szrj    targ_defvec=x86_64_pe_vec
729a9fa9459Szrj    targ_selvecs="x86_64_pe_vec x86_64_pei_vec x86_64_pe_be_vec x86_64_elf64_vec l1om_elf64_vec k1om_elf64_vec i386_pe_vec i386_pei_vec i386_elf32_vec iamcu_elf32_vec"
730a9fa9459Szrj    want64=true
731a9fa9459Szrj    targ_underscore=no
732a9fa9459Szrj    ;;
733a9fa9459Szrj  x86_64-*-rdos*)
734a9fa9459Szrj    targ_defvec=x86_64_elf64_vec
735a9fa9459Szrj    want64=true
736a9fa9459Szrj    ;;
737a9fa9459Szrj#endif
738a9fa9459Szrj  i[3-7]86-*-lynxos*)
739a9fa9459Szrj    targ_defvec=i386_elf32_vec
740a9fa9459Szrj    targ_selvecs="iamcu_elf32_vec i386_coff_lynx_vec i386_aout_lynx_vec"
741a9fa9459Szrj    ;;
742a9fa9459Szrj  i[3-7]86-*-gnu*)
743a9fa9459Szrj    targ_defvec=i386_elf32_vec
744a9fa9459Szrj    targ_selvecs=iamcu_elf32_vec
745a9fa9459Szrj    ;;
746a9fa9459Szrj  i[3-7]86-*-mach* | i[3-7]86-*-osf1mk*)
747a9fa9459Szrj    targ_defvec=i386_aout_mach3_vec
748a9fa9459Szrj    targ_cflags=-DSTAT_FOR_EXEC
749a9fa9459Szrj    targ_underscore=yes
750a9fa9459Szrj    ;;
751a9fa9459Szrj  i[3-7]86-*-os9k)
752a9fa9459Szrj    targ_defvec=i386_aout_os9k_vec
753a9fa9459Szrj    ;;
754a9fa9459Szrj  i[3-7]86-*-msdos*)
755a9fa9459Szrj    targ_defvec=i386_aout_vec
756a9fa9459Szrj    targ_selvecs=i386_msdos_vec
757a9fa9459Szrj    ;;
758a9fa9459Szrj  i[3-7]86-*-moss*)
759a9fa9459Szrj    targ_defvec=i386_elf32_vec
760a9fa9459Szrj    targ_selvecs="iamcu_elf32_vec i386_msdos_vec i386_aout_vec"
761a9fa9459Szrj    ;;
762a9fa9459Szrj  i[3-7]86-*-beospe*)
763a9fa9459Szrj    targ_defvec=i386_pe_vec
764a9fa9459Szrj    targ_selvecs="i386_pe_vec i386_pei_vec"
765a9fa9459Szrj    ;;
766a9fa9459Szrj  i[3-7]86-*-beoself* | i[3-7]86-*-beos*)
767a9fa9459Szrj    targ_defvec=i386_elf32_vec
768a9fa9459Szrj    targ_selvecs="iamcu_elf32_vec i386_pe_vec i386_pei_vec"
769a9fa9459Szrj    ;;
770a9fa9459Szrj  i[3-7]86-*-interix*)
771a9fa9459Szrj    targ_defvec=i386_pei_vec
772a9fa9459Szrj    targ_selvecs="i386_pe_vec"
773a9fa9459Szrj    # FIXME: This should eventually be checked at runtime.
774a9fa9459Szrj    targ_cflags=-DSTRICT_PE_FORMAT
775a9fa9459Szrj    ;;
776a9fa9459Szrj  i[3-7]86-*-rdos*)
777a9fa9459Szrj    targ_defvec=i386_elf32_vec
778a9fa9459Szrj    targ_selvecs="iamcu_elf32_vec i386_coff_vec"
779a9fa9459Szrj    ;;
780a9fa9459Szrj  i[3-7]86-*-mingw32* | i[3-7]86-*-cygwin* | i[3-7]86-*-winnt | i[3-7]86-*-pe)
781a9fa9459Szrj    targ_defvec=i386_pe_vec
782a9fa9459Szrj    targ_selvecs="i386_pe_vec i386_pei_vec i386_elf32_vec iamcu_elf32_vec"
783a9fa9459Szrj    targ_underscore=yes
784a9fa9459Szrj    ;;
785a9fa9459Szrj  i[3-7]86-none-*)
786a9fa9459Szrj    targ_defvec=i386_coff_vec
787a9fa9459Szrj    ;;
788a9fa9459Szrj  i[3-7]86-*-aout* | i[3-7]86*-*-vsta*)
789a9fa9459Szrj    targ_defvec=i386_aout_vec
790a9fa9459Szrj    ;;
791a9fa9459Szrj  i[3-7]86-*-vxworks*)
792a9fa9459Szrj    targ_defvec=i386_elf32_vxworks_vec
793a9fa9459Szrj    targ_underscore=yes
794a9fa9459Szrj    ;;
795a9fa9459Szrj  i[3-7]86-*-chaos)
796a9fa9459Szrj    targ_defvec=i386_elf32_vec
797a9fa9459Szrj    targ_selfvecs="iamcu_elf32_vec i386chaos_vec"
798a9fa9459Szrj    ;;
799a9fa9459Szrj
800a9fa9459Szrj  i860-*-mach3* | i860-*-osf1* | i860-*-coff*)
801a9fa9459Szrj    targ_defvec=i860_coff_vec
802a9fa9459Szrj    ;;
803a9fa9459Szrj  i860-stardent-sysv4* | i860-stardent-elf*)
804a9fa9459Szrj    targ_defvec=i860_elf32_le_vec
805a9fa9459Szrj    targ_selvecs="i860_elf32_vec i860_elf32_le_vec"
806a9fa9459Szrj    ;;
807a9fa9459Szrj  i860-*-sysv4* | i860-*-elf*)
808a9fa9459Szrj    targ_defvec=i860_elf32_vec
809a9fa9459Szrj    ;;
810a9fa9459Szrj
811a9fa9459Szrj  i960-*-vxworks4* | i960-*-vxworks5.0)
812a9fa9459Szrj    targ_defvec=bout_le_vec
813a9fa9459Szrj    targ_selvecs="bout_be_vec icoff_le_vec icoff_be_vec ieee_vec"
814a9fa9459Szrj    targ_underscore=yes
815a9fa9459Szrj    ;;
816a9fa9459Szrj  i960-*-vxworks5.* | i960-*-coff* | i960-*-sysv*)
817a9fa9459Szrj    targ_defvec=icoff_le_vec
818a9fa9459Szrj    targ_selvecs="icoff_be_vec bout_le_vec bout_be_vec ieee_vec"
819a9fa9459Szrj    targ_underscore=yes
820a9fa9459Szrj    ;;
821a9fa9459Szrj  i960-*-vxworks* | i960-*-aout* | i960-*-bout* | i960-*-nindy*)
822a9fa9459Szrj    targ_defvec=bout_le_vec
823a9fa9459Szrj    targ_selvecs="bout_be_vec icoff_le_vec icoff_be_vec ieee_vec"
824a9fa9459Szrj    targ_underscore=yes
825a9fa9459Szrj    ;;
826a9fa9459Szrj  i960-*-elf*)
827a9fa9459Szrj    targ_defvec=i960_elf32_vec
828a9fa9459Szrj    targ_selvecs="icoff_le_vec icoff_be_vec"
829a9fa9459Szrj    ;;
830a9fa9459Szrj
831a9fa9459Szrj  ip2k-*-elf)
832a9fa9459Szrj    targ_defvec=ip2k_elf32_vec
833a9fa9459Szrj    ;;
834a9fa9459Szrj
835a9fa9459Szrj  iq2000-*-elf)
836a9fa9459Szrj    targ_defvec=iq2000_elf32_vec
837a9fa9459Szrj    ;;
838a9fa9459Szrj
839a9fa9459Szrj  lm32-*-elf | lm32-*-rtems*)
840a9fa9459Szrj    targ_defvec=lm32_elf32_vec
841a9fa9459Szrj    targ_selvecs=lm32_elf32_fdpic_vec
842a9fa9459Szrj    ;;
843a9fa9459Szrj
844a9fa9459Szrj  lm32-*-*linux*)
845a9fa9459Szrj    targ_defvec=lm32_elf32_fdpic_vec
846a9fa9459Szrj    targ_selvecs=lm32_elf32_vec
847a9fa9459Szrj    ;;
848a9fa9459Szrj
849a9fa9459Szrj  m32c-*-elf | m32c-*-rtems*)
850a9fa9459Szrj    targ_defvec=m32c_elf32_vec
851a9fa9459Szrj    ;;
852a9fa9459Szrj
853a9fa9459Szrj  m32r*le-*-linux*)
854a9fa9459Szrj    targ_defvec=m32r_elf32_linux_le_vec
855a9fa9459Szrj    targ_selvecs="m32r_elf32_linux_vec  m32r_elf32_linux_le_vec"
856a9fa9459Szrj    ;;
857a9fa9459Szrj  m32r*-*-linux*)
858a9fa9459Szrj    targ_defvec=m32r_elf32_linux_vec
859a9fa9459Szrj    targ_selvecs="m32r_elf32_linux_vec  m32r_elf32_linux_le_vec"
860a9fa9459Szrj    ;;
861a9fa9459Szrj  m32r*le-*-*)
862a9fa9459Szrj    targ_defvec=m32r_elf32_le_vec
863a9fa9459Szrj    targ_selvecs="m32r_elf32_vec m32r_elf32_le_vec"
864a9fa9459Szrj    ;;
865a9fa9459Szrj  m32r-*-*)
866a9fa9459Szrj    targ_defvec=m32r_elf32_vec
867a9fa9459Szrj    ;;
868a9fa9459Szrj
869a9fa9459Szrj  m68hc11-*-* | m6811-*-*)
870a9fa9459Szrj    targ_defvec=m68hc11_elf32_vec
871a9fa9459Szrj    targ_selvecs="m68hc11_elf32_vec m68hc12_elf32_vec"
872a9fa9459Szrj    ;;
873a9fa9459Szrj  m68hc12-*-* | m6812-*-*)
874a9fa9459Szrj    targ_defvec=m68hc12_elf32_vec
875a9fa9459Szrj    targ_selvecs="m68hc11_elf32_vec m68hc12_elf32_vec"
876a9fa9459Szrj    ;;
877a9fa9459Szrj
878a9fa9459Szrj  m68*-motorola-sysv*)
879a9fa9459Szrj    targ_defvec=m68k_coff_sysv_vec
880a9fa9459Szrj    ;;
881a9fa9459Szrj  m68*-hp-bsd*)
882a9fa9459Szrj    targ_defvec=m68k_aout_hp300bsd_vec
883a9fa9459Szrj    targ_underscore=yes
884a9fa9459Szrj    ;;
885a9fa9459Szrj  m68*-*-aout*)
886a9fa9459Szrj    targ_defvec=aout0_be_vec
887a9fa9459Szrj    # We include core_cisco_be_vec here, rather than making a separate cisco
888a9fa9459Szrj    # configuration, so that cisco-core.c gets routinely tested at
889a9fa9459Szrj    # least for compilation.
890a9fa9459Szrj    targ_selvecs="core_cisco_be_vec ieee_vec"
891a9fa9459Szrj    targ_underscore=yes
892a9fa9459Szrj    ;;
893a9fa9459Szrj  m68*-*-elf* | m68*-*-sysv4* | m68*-*-uclinux*)
894a9fa9459Szrj    targ_defvec=m68k_elf32_vec
895a9fa9459Szrj    targ_selvecs="m68k_coff_vec ieee_vec"
896a9fa9459Szrj    ;;
897a9fa9459Szrj  m68*-*-rtems*)
898a9fa9459Szrj    targ_defvec=m68k_elf32_vec
899a9fa9459Szrj    targ_selvecs="m68k_coff_vec m68k_versados_vec ieee_vec aout0_be_vec"
900a9fa9459Szrj    ;;
901a9fa9459Szrj  m68*-*-coff* | m68*-*-sysv*)
902a9fa9459Szrj    targ_defvec=m68k_coff_vec
903a9fa9459Szrj    targ_selvecs="m68k_coff_vec m68k_versados_vec ieee_vec"
904a9fa9459Szrj    ;;
905a9fa9459Szrj  m68*-*-hpux*)
906a9fa9459Szrj    targ_defvec=m68k_aout_hp300hpux_vec
907a9fa9459Szrj    targ_underscore=yes
908a9fa9459Szrj    ;;
909a9fa9459Szrj  m68*-*-linux*aout*)
910a9fa9459Szrj    targ_defvec=m68k_aout_linux_vec
911a9fa9459Szrj    targ_selvecs=m68k_elf32_vec
912a9fa9459Szrj    targ_underscore=yes
913a9fa9459Szrj    ;;
914a9fa9459Szrj  m68*-*-linux-*)
915a9fa9459Szrj    targ_defvec=m68k_elf32_vec
916a9fa9459Szrj    targ_selvecs=m68k_aout_linux_vec
917a9fa9459Szrj    ;;
918a9fa9459Szrj  m68*-*-gnu*)
919a9fa9459Szrj    targ_defvec=m68k_elf32_vec
920a9fa9459Szrj    # targ_selvecs=m68kmach3_vec
921a9fa9459Szrj    # targ_cflags=-DSTAT_FOR_EXEC
922a9fa9459Szrj    ;;
923a9fa9459Szrj  m68*-hp*-netbsd*)
924a9fa9459Szrj    targ_defvec=m68k_aout_4knbsd_vec
925a9fa9459Szrj    targ_selvecs="m68k_aout_nbsd_vec m68k_aout_hp300bsd_vec sparc_aout_sunos_be_vec"
926a9fa9459Szrj    targ_underscore=yes
927a9fa9459Szrj    ;;
928a9fa9459Szrj  m68*-*-netbsdelf*)
929a9fa9459Szrj    targ_defvec=m68k_elf32_vec
930a9fa9459Szrj    targ_selvecs="m68k_aout_nbsd_vec m68k_aout_4knbsd_vec m68k_aout_hp300bsd_vec sparc_aout_sunos_be_vec"
931a9fa9459Szrj    ;;
932a9fa9459Szrj  m68*-*-netbsdaout* | m68*-*-netbsd*)
933a9fa9459Szrj    targ_defvec=m68k_aout_nbsd_vec
934a9fa9459Szrj    targ_selvecs="m68k_aout_4knbsd_vec m68k_elf32_vec m68k_aout_hp300bsd_vec sparc_aout_sunos_be_vec"
935a9fa9459Szrj    targ_underscore=yes
936a9fa9459Szrj    ;;
937a9fa9459Szrj  m68*-*-openbsd*)
938a9fa9459Szrj    targ_defvec=m68k_aout_nbsd_vec
939a9fa9459Szrj    targ_selvecs="m68k_aout_4knbsd_vec m68k_aout_hp300bsd_vec sparc_aout_sunos_be_vec"
940a9fa9459Szrj    targ_underscore=yes
941a9fa9459Szrj    ;;
942a9fa9459Szrj  m68*-*-sunos* | m68*-*-os68k* | m68*-*-vxworks* | m68*-netx-* | \
943a9fa9459Szrj  m68*-*-bsd* | m68*-*-vsta*)
944a9fa9459Szrj    targ_defvec=sparc_aout_sunos_be_vec
945a9fa9459Szrj    targ_underscore=yes
946a9fa9459Szrj    ;;
947a9fa9459Szrj  m68*-ericsson-*)
948a9fa9459Szrj    targ_defvec=sparc_aout_sunos_be_vec
949a9fa9459Szrj    targ_selvecs="m68k_coff_vec m68k_versados_vec tekhex_vec"
950a9fa9459Szrj    targ_underscore=yes
951a9fa9459Szrj    ;;
952a9fa9459Szrj  m68*-cbm-*)
953a9fa9459Szrj    targ_defvec=m68k_elf32_vec
954a9fa9459Szrj    targ_selvecs=m68k_coff_vec
955a9fa9459Szrj    ;;
956a9fa9459Szrj  m68*-*-psos*)
957a9fa9459Szrj    targ_defvec=m68k_elf32_vec
958a9fa9459Szrj    targ_selvecs=ieee_vec
959a9fa9459Szrj    targ_underscore=yes
960a9fa9459Szrj    ;;
961a9fa9459Szrj
962a9fa9459Szrj  m88*-harris-cxux* | m88*-*-dgux* | m88*-*-sysv4*)
963a9fa9459Szrj    targ_defvec=m88k_elf32_vec
964a9fa9459Szrj    targ_selvecs=m88k_coff_bcs_vec
965a9fa9459Szrj    ;;
966a9fa9459Szrj  m88*-*-mach3*)
967a9fa9459Szrj    targ_defvec=m88k_aout_mach3_vec
968a9fa9459Szrj    targ_cflags=-DSTAT_FOR_EXEC
969a9fa9459Szrj    ;;
970a9fa9459Szrj  m88*-*-openbsd*)
971a9fa9459Szrj   targ_defvec=m88k_aout_obsd_vec
972a9fa9459Szrj   targ_underscore=yes
973a9fa9459Szrj   ;;
974a9fa9459Szrj  m88*-*-*)
975a9fa9459Szrj    targ_defvec=m88k_coff_bcs_vec
976a9fa9459Szrj    targ_underscore=yes
977a9fa9459Szrj    ;;
978a9fa9459Szrj
979a9fa9459Szrj  mcore-*-elf)
980a9fa9459Szrj    targ_defvec=mcore_elf32_be_vec
981a9fa9459Szrj    targ_selvecs="mcore_elf32_be_vec mcore_elf32_le_vec"
982a9fa9459Szrj    ;;
983a9fa9459Szrj  mcore-*-pe)
984a9fa9459Szrj    targ_defvec=mcore_pe_be_vec
985a9fa9459Szrj    targ_selvecs="mcore_pe_be_vec mcore_pe_le_vec mcore_pei_be_vec mcore_pei_le_vec"
986a9fa9459Szrj    ;;
987a9fa9459Szrj
988a9fa9459Szrj  mep-*-elf)
989a9fa9459Szrj    targ_defvec=mep_elf32_vec
990a9fa9459Szrj    targ_selvecs=mep_elf32_le_vec
991a9fa9459Szrj    ;;
992a9fa9459Szrj
993a9fa9459Szrj  metag-*-*)
994a9fa9459Szrj    targ_defvec=metag_elf32_vec
995a9fa9459Szrj    targ_underscore=yes
996a9fa9459Szrj    ;;
997a9fa9459Szrj
998a9fa9459Szrj  microblazeel*-*)
999a9fa9459Szrj    targ_defvec=microblaze_elf32_le_vec
1000a9fa9459Szrj    targ_selvecs=microblaze_elf32_vec
1001a9fa9459Szrj    ;;
1002a9fa9459Szrj
1003a9fa9459Szrj  microblaze*-*)
1004a9fa9459Szrj    targ_defvec=microblaze_elf32_vec
1005a9fa9459Szrj    targ_selvecs=microblaze_elf32_le_vec
1006a9fa9459Szrj    ;;
1007a9fa9459Szrj
1008a9fa9459Szrj  mips*-big-*)
1009a9fa9459Szrj    targ_defvec=mips_ecoff_be_vec
1010a9fa9459Szrj    targ_selvecs=mips_ecoff_le_vec
1011a9fa9459Szrj    ;;
1012a9fa9459Szrj#ifdef BFD64
1013a9fa9459Szrj  mips*el-*-netbsd*)
1014a9fa9459Szrj    targ_defvec=mips_elf32_trad_le_vec
1015a9fa9459Szrj    targ_selvecs="mips_elf32_trad_be_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec mips_ecoff_le_vec mips_ecoff_be_vec"
1016a9fa9459Szrj    ;;
1017a9fa9459Szrj  mips*-*-netbsd*)
1018a9fa9459Szrj    targ_defvec=mips_elf32_trad_be_vec
1019a9fa9459Szrj    targ_selvecs="mips_elf32_trad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec mips_ecoff_be_vec mips_ecoff_le_vec"
1020a9fa9459Szrj    ;;
1021a9fa9459Szrj#endif
1022a9fa9459Szrj  mips*-dec-* | mips*el-*-ecoff*)
1023a9fa9459Szrj    targ_defvec=mips_ecoff_le_vec
1024a9fa9459Szrj    targ_selvecs=mips_ecoff_be_vec
1025a9fa9459Szrj    ;;
1026a9fa9459Szrj  mips*-*-ecoff*)
1027a9fa9459Szrj    targ_defvec=mips_ecoff_be_vec
1028a9fa9459Szrj    targ_selvecs=mips_ecoff_le_vec
1029a9fa9459Szrj    ;;
1030a9fa9459Szrj#ifdef BFD64
1031a9fa9459Szrj  mips*-*-irix6*)
1032a9fa9459Szrj    targ_defvec=mips_elf32_n_be_vec
1033a9fa9459Szrj    targ_selvecs="mips_elf32_n_le_vec mips_elf32_be_vec mips_elf32_le_vec mips_elf64_be_vec mips_elf64_le_vec"
1034a9fa9459Szrj    ;;
1035a9fa9459Szrj  mips64*-ps2-elf*)
1036a9fa9459Szrj    targ_defvec=mips_elf32_n_le_vec
1037a9fa9459Szrj    targ_selvecs="mips_elf32_n_le_vec mips_elf32_n_be_vec mips_elf32_be_vec mips_elf32_le_vec mips_elf64_be_vec mips_elf64_le_vec"
1038a9fa9459Szrj    ;;
1039a9fa9459Szrj  mips*-ps2-elf*)
1040a9fa9459Szrj    targ_defvec=mips_elf32_le_vec
1041a9fa9459Szrj    targ_selvecs="mips_elf32_be_vec mips_elf32_le_vec mips_elf64_be_vec mips_elf64_le_vec"
1042a9fa9459Szrj    ;;
1043a9fa9459Szrj  mips*-*-irix5*)
1044a9fa9459Szrj    targ_defvec=mips_elf32_be_vec
1045a9fa9459Szrj    targ_selvecs="mips_elf32_le_vec mips_ecoff_be_vec mips_ecoff_le_vec"
1046a9fa9459Szrj    ;;
1047a9fa9459Szrj#endif
1048a9fa9459Szrj  mips*-sgi-* | mips*-*-bsd*)
1049a9fa9459Szrj    targ_defvec=mips_ecoff_be_vec
1050a9fa9459Szrj    targ_selvecs=mips_ecoff_le_vec
1051a9fa9459Szrj    ;;
1052a9fa9459Szrj  mips*-*-lnews*)
1053a9fa9459Szrj    targ_defvec=mips_ecoff_bele_vec
1054a9fa9459Szrj    targ_selvecs="mips_ecoff_le_vec mips_ecoff_be_vec"
1055a9fa9459Szrj    ;;
1056a9fa9459Szrj#ifdef BFD64
1057a9fa9459Szrj  mips*-*-sysv4*)
1058a9fa9459Szrj    targ_defvec=mips_elf32_trad_be_vec
1059a9fa9459Szrj    targ_selvecs="mips_elf32_trad_le_vec mips_ecoff_be_vec mips_ecoff_le_vec"
1060a9fa9459Szrj    ;;
1061a9fa9459Szrj#endif
1062a9fa9459Szrj  mips*-*-sysv* | mips*-*-riscos*)
1063a9fa9459Szrj    targ_defvec=mips_ecoff_be_vec
1064a9fa9459Szrj    targ_selvecs=mips_ecoff_le_vec
1065a9fa9459Szrj    ;;
1066a9fa9459Szrj#ifdef BFD64
1067a9fa9459Szrj  mips*el-*-vxworks*)
1068a9fa9459Szrj    targ_defvec=mips_elf32_vxworks_le_vec
1069a9fa9459Szrj    targ_selvecs="mips_elf32_le_vec mips_elf32_vxworks_be_vec mips_elf32_be_vec mips_elf64_be_vec mips_elf64_le_vec"
1070a9fa9459Szrj    ;;
1071a9fa9459Szrj  mips*-*-vxworks*)
1072a9fa9459Szrj    targ_defvec=mips_elf32_vxworks_be_vec
1073a9fa9459Szrj    targ_selvecs="mips_elf32_be_vec mips_elf32_vxworks_le_vec mips_elf32_be_vec mips_elf64_be_vec mips_elf64_le_vec"
1074a9fa9459Szrj    ;;
1075a9fa9459Szrj  mips*el-sde-elf*)
1076a9fa9459Szrj    targ_defvec=mips_elf32_trad_le_vec
1077a9fa9459Szrj    targ_selvecs="mips_elf32_trad_be_vec mips_elf32_ntrad_be_vec mips_elf32_ntrad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec"
1078a9fa9459Szrj    ;;
1079a9fa9459Szrj  mips*-sde-elf* | mips*-mti-elf* | mips*-img-elf*)
1080a9fa9459Szrj    targ_defvec=mips_elf32_trad_be_vec
1081a9fa9459Szrj    targ_selvecs="mips_elf32_trad_le_vec mips_elf32_ntrad_be_vec mips_elf32_ntrad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec"
1082a9fa9459Szrj    ;;
1083a9fa9459Szrj  mips*el-*-elf* | mips*-*-chorus*)
1084a9fa9459Szrj    targ_defvec=mips_elf32_le_vec
1085a9fa9459Szrj    targ_selvecs="mips_elf32_be_vec mips_elf64_be_vec mips_elf64_le_vec"
1086a9fa9459Szrj    ;;
1087a9fa9459Szrj  mips*-*-elf* | mips*-*-rtems* | mips*-*-windiss | mips*-*-none)
1088a9fa9459Szrj    targ_defvec=mips_elf32_be_vec
1089a9fa9459Szrj    targ_selvecs="mips_elf32_le_vec mips_elf64_be_vec mips_elf64_le_vec"
1090a9fa9459Szrj    ;;
1091a9fa9459Szrj  mips64*-*-openbsd*)
1092a9fa9459Szrj    targ_defvec=mips_elf64_trad_be_vec
1093a9fa9459Szrj    targ_selvecs="mips_elf32_ntrad_le_vec mips_elf32_ntrad_be_vec mips_elf32_trad_le_vec mips_elf32_trad_be_vec mips_elf64_trad_le_vec"
1094a9fa9459Szrj    ;;
1095a9fa9459Szrj  mips*el-*-openbsd*)
1096a9fa9459Szrj    targ_defvec=mips_elf32_le_vec
1097a9fa9459Szrj    targ_selvecs="mips_elf32_be_vec mips_elf64_be_vec mips_elf64_le_vec mips_ecoff_le_vec mips_ecoff_be_vec"
1098a9fa9459Szrj    ;;
1099a9fa9459Szrj  mips*-*-openbsd*)
1100a9fa9459Szrj    targ_defvec=mips_elf32_be_vec
1101a9fa9459Szrj    targ_selvecs="mips_elf32_le_vec mips_elf64_be_vec mips_elf64_le_vec mips_ecoff_be_vec mips_ecoff_le_vec"
1102a9fa9459Szrj    ;;
1103a9fa9459Szrj  mips64*el-*-linux*)
1104a9fa9459Szrj    targ_defvec=mips_elf32_ntrad_le_vec
1105a9fa9459Szrj    targ_selvecs="mips_elf32_ntrad_be_vec mips_elf32_trad_le_vec mips_elf32_trad_be_vec mips_elf64_trad_le_vec mips_elf64_trad_be_vec"
1106a9fa9459Szrj    ;;
1107a9fa9459Szrj  mips64*-*-linux*)
1108a9fa9459Szrj    targ_defvec=mips_elf32_ntrad_be_vec
1109a9fa9459Szrj    targ_selvecs="mips_elf32_ntrad_le_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec"
1110a9fa9459Szrj    ;;
1111a9fa9459Szrj  mips*el-*-linux*)
1112a9fa9459Szrj    targ_defvec=mips_elf32_trad_le_vec
1113a9fa9459Szrj    targ_selvecs="mips_elf32_trad_be_vec mips_ecoff_le_vec mips_ecoff_be_vec mips_elf32_ntrad_le_vec mips_elf64_trad_le_vec mips_elf32_ntrad_be_vec mips_elf64_trad_be_vec"
1114a9fa9459Szrj    ;;
1115a9fa9459Szrj  mips*-*-linux*)
1116a9fa9459Szrj    targ_defvec=mips_elf32_trad_be_vec
1117a9fa9459Szrj    targ_selvecs="mips_elf32_trad_le_vec mips_ecoff_be_vec mips_ecoff_le_vec mips_elf32_ntrad_be_vec mips_elf64_trad_be_vec mips_elf32_ntrad_le_vec mips_elf64_trad_le_vec"
1118a9fa9459Szrj    ;;
1119a9fa9459Szrj  mips64*el-*-freebsd* | mips64*el-*-kfreebsd*-gnu)
1120a9fa9459Szrj    # FreeBSD vectors
1121a9fa9459Szrj    targ_defvec=mips_elf32_ntradfbsd_le_vec
1122a9fa9459Szrj    targ_selvecs="mips_elf32_ntradfbsd_be_vec mips_elf32_tradfbsd_le_vec mips_elf32_tradfbsd_be_vec mips_elf64_tradfbsd_le_vec mips_elf64_tradfbsd_be_vec"
1123a9fa9459Szrj    # Generic vectors
1124a9fa9459Szrj    targ_selvecs="${targ_selvecs} mips_elf32_ntrad_le_vec mips_elf32_ntrad_be_vec mips_elf32_trad_le_vec mips_elf32_trad_be_vec mips_elf64_trad_le_vec mips_elf64_trad_be_vec"
1125a9fa9459Szrj    ;;
1126a9fa9459Szrj  mips64*-*-freebsd* | mips64*-*-kfreebsd*-gnu)
1127a9fa9459Szrj    # FreeBSD vectors
1128a9fa9459Szrj    targ_defvec=mips_elf32_ntradfbsd_be_vec
1129a9fa9459Szrj    targ_selvecs="mips_elf32_ntradfbsd_le_vec mips_elf32_tradfbsd_be_vec mips_elf32_tradfbsd_le_vec mips_elf64_tradfbsd_be_vec mips_elf64_tradfbsd_le_vec"
1130a9fa9459Szrj    # Generic vectors
1131a9fa9459Szrj    targ_selvecs="${targ_selvecs} mips_elf32_ntrad_be_vec mips_elf32_ntrad_le_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec"
1132a9fa9459Szrj    ;;
1133a9fa9459Szrj  mips*el-*-freebsd* | mips*el-*-kfreebsd*-gnu)
1134a9fa9459Szrj    # FreeBSD vectors
1135a9fa9459Szrj    targ_defvec=mips_elf32_tradfbsd_le_vec
1136a9fa9459Szrj    targ_selvecs="mips_elf32_tradfbsd_be_vec mips_elf32_ntradfbsd_le_vec mips_elf64_tradfbsd_le_vec mips_elf32_ntradfbsd_be_vec mips_elf64_tradfbsd_be_vec"
1137a9fa9459Szrj    # Generic vectors
1138a9fa9459Szrj    targ_selvecs="${targ_selvecs} mips_elf32_trad_le_vec mips_elf32_trad_be_vec mips_elf32_ntrad_le_vec mips_elf64_trad_le_vec mips_elf32_ntrad_be_vec mips_elf64_trad_be_vec"
1139a9fa9459Szrj    ;;
1140a9fa9459Szrj  mips*-*-freebsd* | mips*-*-kfreebsd*-gnu)
1141a9fa9459Szrj    # FreeBSD vectors
1142a9fa9459Szrj    targ_defvec=mips_elf32_tradfbsd_be_vec
1143a9fa9459Szrj    targ_selvecs="mips_elf32_tradfbsd_le_vec mips_elf32_ntradfbsd_be_vec mips_elf64_tradfbsd_be_vec mips_elf32_ntradfbsd_le_vec mips_elf64_tradfbsd_le_vec"
1144a9fa9459Szrj    # Generic vectors
1145a9fa9459Szrj    targ_selvecs="${targ_selvecs} mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf32_ntrad_be_vec mips_elf64_trad_be_vec mips_elf32_ntrad_le_vec mips_elf64_trad_le_vec"
1146a9fa9459Szrj    ;;
1147a9fa9459Szrj  mmix-*-*)
1148a9fa9459Szrj    targ_defvec=mmix_elf64_vec
1149a9fa9459Szrj    targ_selvecs=mmix_mmo_vec
1150a9fa9459Szrj    want64=true
1151a9fa9459Szrj    ;;
1152a9fa9459Szrj#endif
1153a9fa9459Szrj  mn10200-*-*)
1154a9fa9459Szrj    targ_defvec=mn10200_elf32_vec
1155a9fa9459Szrj    ;;
1156a9fa9459Szrj
1157a9fa9459Szrj  mn10300-*-*)
1158a9fa9459Szrj    targ_defvec=mn10300_elf32_vec
1159a9fa9459Szrj    targ_underscore=yes
1160a9fa9459Szrj    ;;
1161a9fa9459Szrj
1162a9fa9459Szrj  mt-*-elf)
1163a9fa9459Szrj    targ_defvec=mt_elf32_vec
1164a9fa9459Szrj    ;;
1165a9fa9459Szrj
1166a9fa9459Szrj  msp430-*-*)
1167a9fa9459Szrj    targ_defvec=msp430_elf32_vec
1168a9fa9459Szrj    targ_selvecs=msp430_elf32_ti_vec
1169a9fa9459Szrj    ;;
1170a9fa9459Szrj
1171a9fa9459Szrj  nds32*le-*-linux*)
1172a9fa9459Szrj    targ_defvec=nds32_elf32_linux_le_vec
1173a9fa9459Szrj    targ_selvecs=nds32_elf32_linux_be_vec
1174a9fa9459Szrj    ;;
1175a9fa9459Szrj
1176a9fa9459Szrj  nds32*be-*-linux*)
1177a9fa9459Szrj    targ_defvec=nds32_elf32_linux_be_vec
1178a9fa9459Szrj    targ_selvecs=nds32_elf32_linux_le_vec
1179a9fa9459Szrj    ;;
1180a9fa9459Szrj
1181a9fa9459Szrj  nds32*le-*-*)
1182a9fa9459Szrj    targ_defvec=nds32_elf32_le_vec
1183a9fa9459Szrj    targ_selvecs=nds32_elf32_be_vec
1184a9fa9459Szrj    ;;
1185a9fa9459Szrj
1186a9fa9459Szrj  nds32*be-*-*)
1187a9fa9459Szrj    targ_defvec=nds32_elf32_be_vec
1188a9fa9459Szrj    targ_selvecs=nds32_elf32_le_vec
1189a9fa9459Szrj    ;;
1190a9fa9459Szrj
1191a9fa9459Szrj  ns32k-pc532-mach* | ns32k-pc532-ux*)
1192a9fa9459Szrj    targ_defvec=ns32k_aout_pc532mach_vec
1193a9fa9459Szrj    targ_underscore=yes
1194a9fa9459Szrj    ;;
1195a9fa9459Szrj  ns32k-*-netbsd* | ns32k-*-lites* | ns32k-*-openbsd*)
1196a9fa9459Szrj    targ_defvec=ns32k_aout_pc532nbsd_vec
1197a9fa9459Szrj    targ_underscore=yes
1198a9fa9459Szrj    ;;
1199a9fa9459Szrj
1200a9fa9459Szrj  nios2eb-*-*)
1201a9fa9459Szrj    targ_defvec=nios2_elf32_be_vec
1202a9fa9459Szrj    targ_selvecs=nios2_elf32_le_vec
1203a9fa9459Szrj    ;;
1204a9fa9459Szrj
1205a9fa9459Szrj  nios2el-*-*)
1206a9fa9459Szrj    targ_defvec=nios2_elf32_le_vec
1207a9fa9459Szrj    targ_selvecs=nios2_elf32_be_vec
1208a9fa9459Szrj    ;;
1209a9fa9459Szrj
1210a9fa9459Szrj  nios2-*-*)
1211a9fa9459Szrj    targ_defvec=nios2_elf32_le_vec
1212a9fa9459Szrj    targ_selvecs=nios2_elf32_be_vec
1213a9fa9459Szrj    ;;
1214a9fa9459Szrj
1215a9fa9459Szrj  or1k-*-elf | or1k-*-linux* | or1k-*-rtems*)
1216a9fa9459Szrj    targ_defvec=or1k_elf32_vec
1217a9fa9459Szrj    ;;
1218a9fa9459Szrj
1219a9fa9459Szrj  or1knd-*-elf | or1knd-*-linux* | or1knd-*-rtems*)
1220a9fa9459Szrj    targ_defvec=or1k_elf32_vec
1221a9fa9459Szrj    ;;
1222a9fa9459Szrj
1223a9fa9459Szrj  pdp11-*-*)
1224a9fa9459Szrj    targ_defvec=pdp11_aout_vec
1225a9fa9459Szrj    targ_underscore=yes
1226a9fa9459Szrj    ;;
1227a9fa9459Szrj
1228a9fa9459Szrj  pj-*-*)
1229a9fa9459Szrj    targ_defvec=pj_elf32_vec
1230a9fa9459Szrj    targ_selvecs="pj_elf32_vec pj_elf32_le_vec"
1231a9fa9459Szrj    ;;
1232a9fa9459Szrj
1233a9fa9459Szrj  pjl-*-*)
1234a9fa9459Szrj    targ_defvec=pj_elf32_le_vec
1235a9fa9459Szrj    targ_selvecs="pj_elf32_le_vec pj_elf32_vec i386_elf32_vec iamcu_elf32_vec"
1236a9fa9459Szrj    ;;
1237a9fa9459Szrj
1238a9fa9459Szrj  powerpc-*-aix5.[01] | rs6000-*-aix5.[01])
1239a9fa9459Szrj    targ_defvec=rs6000_xcoff_vec
1240a9fa9459Szrj    targ_selvecs="rs6000_xcoff64_aix_vec"
1241a9fa9459Szrj    want64=true
1242a9fa9459Szrj    ;;
1243a9fa9459Szrj#ifdef BFD64
1244a9fa9459Szrj  powerpc64-*-aix5.[01] | rs6000-*-aix5.[01])
1245a9fa9459Szrj    targ_defvec=rs6000_xcoff64_aix_vec
1246a9fa9459Szrj    targ_selvecs="rs6000_xcoff_vec"
1247a9fa9459Szrj    want64=true
1248a9fa9459Szrj    ;;
1249a9fa9459Szrj#endif
1250a9fa9459Szrj  powerpc-*-aix[5-9]* | rs6000-*-aix[5-9]*)
1251a9fa9459Szrj    targ_cflags=-DAIX_WEAK_SUPPORT
1252a9fa9459Szrj    targ_defvec=rs6000_xcoff_vec
1253a9fa9459Szrj    targ_selvecs="rs6000_xcoff64_aix_vec"
1254a9fa9459Szrj    want64=true
1255a9fa9459Szrj    ;;
1256a9fa9459Szrj#ifdef BFD64
1257a9fa9459Szrj  powerpc64-*-aix[5-9]* | rs6000-*-aix[5-9]*)
1258a9fa9459Szrj    targ_cflags=-DAIX_WEAK_SUPPORT
1259a9fa9459Szrj    targ_defvec=rs6000_xcoff64_aix_vec
1260a9fa9459Szrj    targ_selvecs="rs6000_xcoff_vec"
1261a9fa9459Szrj    want64=true
1262a9fa9459Szrj    ;;
1263a9fa9459Szrj#endif
1264a9fa9459Szrj
1265a9fa9459Szrj  powerpc-*-aix* | powerpc-*-beos* | rs6000-*-*)
1266a9fa9459Szrj    targ_defvec=rs6000_xcoff_vec
1267a9fa9459Szrj    targ64_selvecs=rs6000_xcoff64_vec
1268a9fa9459Szrj    case "${targ}" in
1269a9fa9459Szrj	*-*-aix4.[3456789]* | *-*-aix[56789]*)
1270a9fa9459Szrj	want64=true;;
1271a9fa9459Szrj	*)
1272a9fa9459Szrj	targ_cflags=-DSMALL_ARCHIVE;;
1273a9fa9459Szrj    esac
1274a9fa9459Szrj    ;;
1275a9fa9459Szrj#ifdef BFD64
1276a9fa9459Szrj  powerpc64-*-aix*)
1277a9fa9459Szrj    targ_defvec=rs6000_xcoff64_vec
1278a9fa9459Szrj    targ_selvecs=rs6000_xcoff_vec
1279a9fa9459Szrj    want64=true
1280a9fa9459Szrj    ;;
1281a9fa9459Szrj  powerpc64-*-freebsd*)
1282a9fa9459Szrj    targ_defvec=powerpc_elf64_fbsd_vec
1283a9fa9459Szrj    targ_selvecs="powerpc_elf64_vec powerpc_elf32_vec powerpc_elf32_fbsd_vec powerpc_elf32_le_vec rs6000_xcoff_vec rs6000_xcoff64_vec rs6000_xcoff64_aix_vec"
1284a9fa9459Szrj    want64=true
1285a9fa9459Szrj    ;;
1286a9fa9459Szrj  powerpc64-*-elf* | powerpc-*-elf64* | powerpc64-*-linux* | \
1287a9fa9459Szrj  powerpc64-*-*bsd*)
1288a9fa9459Szrj    targ_defvec=powerpc_elf64_vec
1289a9fa9459Szrj    targ_selvecs="powerpc_elf64_le_vec powerpc_elf32_vec powerpc_elf32_le_vec rs6000_xcoff_vec rs6000_xcoff64_vec rs6000_xcoff64_aix_vec"
1290a9fa9459Szrj    want64=true
1291a9fa9459Szrj    ;;
1292a9fa9459Szrj  powerpc64le-*-elf* | powerpcle-*-elf64* | powerpc64le-*-linux* | \
1293a9fa9459Szrj  powerpc64le-*-*bsd*)
1294a9fa9459Szrj    targ_defvec=powerpc_elf64_le_vec
1295a9fa9459Szrj    targ_selvecs="powerpc_elf64_vec powerpc_elf32_le_vec powerpc_elf32_vec rs6000_xcoff_vec rs6000_xcoff64_vec rs6000_xcoff64_aix_vec"
1296a9fa9459Szrj    want64=true
1297a9fa9459Szrj    ;;
1298a9fa9459Szrj#endif
1299a9fa9459Szrj  powerpc-*-*freebsd*)
1300a9fa9459Szrj    targ_defvec=powerpc_elf32_fbsd_vec
1301a9fa9459Szrj    targ_selvecs="rs6000_xcoff_vec powerpc_elf32_vec powerpc_elf32_le_vec powerpc_boot_vec"
1302a9fa9459Szrj    targ64_selvecs="powerpc_elf64_vec powerpc_elf64_le_vec powerpc_elf64_fbsd_vec"
1303a9fa9459Szrj    ;;
1304a9fa9459Szrj  powerpc-*-*bsd* | powerpc-*-elf* | powerpc-*-sysv4* | powerpc-*-eabi* | \
1305a9fa9459Szrj  powerpc-*-solaris2* | powerpc-*-linux-* | powerpc-*-rtems* | \
1306a9fa9459Szrj  powerpc-*-chorus*)
1307a9fa9459Szrj    targ_defvec=powerpc_elf32_vec
1308a9fa9459Szrj    targ_selvecs="rs6000_xcoff_vec powerpc_elf32_le_vec powerpc_boot_vec"
1309a9fa9459Szrj    targ64_selvecs="powerpc_elf64_vec powerpc_elf64_le_vec"
1310a9fa9459Szrj    ;;
1311a9fa9459Szrj  powerpc-*-kaos*)
1312a9fa9459Szrj    targ_defvec=powerpc_elf32_vec
1313a9fa9459Szrj    targ_selvecs="powerpc_elf32_le_vec powerpc_boot_vec"
1314a9fa9459Szrj    targ64_selvecs="powerpc_elf64_vec powerpc_elf64_le_vec"
1315a9fa9459Szrj    ;;
1316a9fa9459Szrj  powerpc-*-darwin* | powerpc-*-macos10* | powerpc-*-rhapsody*)
1317a9fa9459Szrj    targ_defvec=mach_o_be_vec
1318a9fa9459Szrj    targ_selvecs="mach_o_be_vec mach_o_le_vec mach_o_fat_vec pef_vec pef_xlib_vec sym_vec"
1319a9fa9459Szrj    targ_archs="$targ_archs bfd_i386_arch"
1320a9fa9459Szrj    ;;
1321a9fa9459Szrj  powerpc-*-macos*)
1322a9fa9459Szrj    targ_defvec=powerpc_xcoff_vec
1323a9fa9459Szrj    ;;
1324a9fa9459Szrj  powerpc-*-lynxos*)
1325a9fa9459Szrj    targ_defvec=powerpc_elf32_vec
1326a9fa9459Szrj    targ_selvecs="rs6000_xcoff_vec"
1327a9fa9459Szrj    targ_cflags=-DSMALL_ARCHIVE
1328a9fa9459Szrj    ;;
1329a9fa9459Szrj  powerpc-*-netware*)
1330a9fa9459Szrj    targ_defvec=powerpc_elf32_vec
1331a9fa9459Szrj    targ_selvecs="powerpc_nlm32_vec rs6000_xcoff_vec"
1332a9fa9459Szrj    ;;
1333a9fa9459Szrj  powerpc-*-nto*)
1334a9fa9459Szrj    targ_defvec=powerpc_elf32_vec
1335a9fa9459Szrj    targ_selvecs="rs6000_xcoff_vec powerpc_elf32_le_vec powerpc_boot_vec"
1336a9fa9459Szrj    ;;
1337a9fa9459Szrj  powerpc-*-vxworks* | powerpc-*-windiss*)
1338a9fa9459Szrj    targ_defvec=powerpc_elf32_vxworks_vec
1339a9fa9459Szrj    targ_selvecs="rs6000_xcoff_vec powerpc_elf32_vec powerpc_elf32_le_vec powerpc_boot_vec"
1340a9fa9459Szrj    targ64_selvecs="powerpc_elf64_vec powerpc_elf64_le_vec"
1341a9fa9459Szrj    ;;
1342a9fa9459Szrj  powerpcle-*-nto*)
1343a9fa9459Szrj    targ_defvec=powerpc_elf32_le_vec
1344a9fa9459Szrj    targ_selvecs="rs6000_xcoff_vec powerpc_elf32_vec powerpc_boot_vec"
1345a9fa9459Szrj    ;;
1346a9fa9459Szrj  powerpcle-*-elf* | powerpcle-*-sysv4* | powerpcle-*-eabi* | \
1347a9fa9459Szrj  powerpcle-*-solaris2* | powerpcle-*-linux-* | powerpcle-*-vxworks*)
1348a9fa9459Szrj    targ_defvec=powerpc_elf32_le_vec
1349a9fa9459Szrj    targ_selvecs="rs6000_xcoff_vec powerpc_elf32_vec powerpc_boot_vec"
1350a9fa9459Szrj    targ64_selvecs="powerpc_elf64_vec powerpc_elf64_le_vec"
1351a9fa9459Szrj    ;;
1352a9fa9459Szrj  powerpcle-*-pe | powerpcle-*-winnt* | powerpcle-*-cygwin*)
1353a9fa9459Szrj    targ_defvec=powerpc_pe_le_vec
1354a9fa9459Szrj    targ_selvecs="powerpc_pei_le_vec powerpc_pei_vec powerpc_pe_le_vec powerpc_pe_vec"
1355a9fa9459Szrj    ;;
1356a9fa9459Szrj
1357a9fa9459Szrj  rl78-*-elf)
1358a9fa9459Szrj    targ_defvec=rl78_elf32_vec
1359a9fa9459Szrj    ;;
1360a9fa9459Szrj
1361a9fa9459Szrj  rx-*-elf)
1362a9fa9459Szrj    targ_defvec=rx_elf32_le_vec
1363a9fa9459Szrj    targ_selvecs="rx_elf32_be_vec rx_elf32_le_vec rx_elf32_be_ns_vec"
1364a9fa9459Szrj    ;;
1365a9fa9459Szrj
1366a9fa9459Szrj  s390-*-linux*)
1367a9fa9459Szrj    targ_defvec=s390_elf32_vec
1368a9fa9459Szrj    targ64_selvecs=s390_elf64_vec
1369a9fa9459Szrj    want64=true
1370a9fa9459Szrj    ;;
1371a9fa9459Szrj#ifdef BFD64
1372a9fa9459Szrj  s390x-*-linux*)
1373a9fa9459Szrj    targ_defvec=s390_elf64_vec
1374a9fa9459Szrj    targ_selvecs=s390_elf32_vec
1375a9fa9459Szrj    want64=true
1376a9fa9459Szrj    ;;
1377a9fa9459Szrj  s390x-*-tpf*)
1378a9fa9459Szrj    targ_defvec=s390_elf64_vec
1379a9fa9459Szrj    want64=true
1380a9fa9459Szrj    ;;
1381a9fa9459Szrj
1382a9fa9459Szrj  score*-*-elf*)
1383a9fa9459Szrj    targ_defvec=score_elf32_be_vec
1384a9fa9459Szrj    targ_selvecs=score_elf32_le_vec
1385a9fa9459Szrj    ;;
1386a9fa9459Szrj
1387a9fa9459Szrj  sh64l*-*-elf*)
1388a9fa9459Szrj    targ_defvec=sh64_elf32_le_vec
1389a9fa9459Szrj    targ_selvecs="sh64_elf32_vec sh64_elf64_le_vec sh64_elf64_vec sh_elf32_le_vec sh_elf32_vec"
1390a9fa9459Szrj    targ_underscore=yes
1391a9fa9459Szrj    want64=true
1392a9fa9459Szrj    ;;
1393a9fa9459Szrj  sh64-*-elf*)
1394a9fa9459Szrj    targ_defvec=sh64_elf32_vec
1395a9fa9459Szrj    targ_selvecs="sh64_elf32_le_vec sh64_elf64_vec sh64_elf64_le_vec sh_elf32_vec sh_elf32_le_vec"
1396a9fa9459Szrj    targ_underscore=yes
1397a9fa9459Szrj    want64=true
1398a9fa9459Szrj    ;;
1399a9fa9459Szrj  sh64eb-*-linux*)
1400a9fa9459Szrj    targ_defvec=sh64_elf32_linux_be_vec
1401a9fa9459Szrj    targ_selvecs="sh64_elf32_linux_vec sh64_elf64_linux_be_vec sh64_elf64_linux_vec sh_elf32_linux_be_vec sh_elf32_linux_vec"
1402a9fa9459Szrj    want64=true
1403a9fa9459Szrj    ;;
1404a9fa9459Szrj  sh64-*-linux*)
1405a9fa9459Szrj    targ_defvec=sh64_elf32_linux_vec
1406a9fa9459Szrj    targ_selvecs="sh64_elf32_linux_be_vec sh64_elf64_linux_vec sh64_elf64_linux_be_vec sh_elf32_linux_vec sh_elf32_linux_be_vec"
1407a9fa9459Szrj    want64=true
1408a9fa9459Szrj    ;;
1409a9fa9459Szrj  sh-*-linux*)
1410a9fa9459Szrj    targ_defvec=sh_elf32_linux_be_vec
1411a9fa9459Szrj    targ_selvecs="sh_elf32_linux_vec sh64_elf32_linux_vec sh64_elf32_linux_be_vec sh64_elf64_linux_vec sh64_elf64_linux_be_vec"
1412a9fa9459Szrj    targ_selvecs="${targ_selvecs} sh_elf32_fdpic_le_vec sh_elf32_fdpic_be_vec"
1413a9fa9459Szrj    want64=true
1414a9fa9459Szrj    ;;
1415a9fa9459Szrj#endif /* BFD64 */
1416a9fa9459Szrj
1417a9fa9459Szrj  sh*eb-*-linux*)
1418a9fa9459Szrj    targ_defvec=sh_elf32_linux_be_vec
1419a9fa9459Szrj    targ_selvecs=sh_elf32_linux_vec
1420a9fa9459Szrj    targ_selvecs="${targ_selvecs} sh_elf32_fdpic_le_vec sh_elf32_fdpic_be_vec"
1421a9fa9459Szrj    ;;
1422a9fa9459Szrj  sh*-*-linux*)
1423a9fa9459Szrj    targ_defvec=sh_elf32_linux_vec
1424a9fa9459Szrj    targ_selvecs=sh_elf32_linux_be_vec
1425a9fa9459Szrj    targ_selvecs="${targ_selvecs} sh_elf32_fdpic_le_vec sh_elf32_fdpic_be_vec"
1426a9fa9459Szrj    ;;
1427a9fa9459Szrj
1428a9fa9459Szrj  sh-*-uclinux* | sh[12]-*-uclinux*)
1429a9fa9459Szrj    targ_defvec=sh_elf32_vec
1430a9fa9459Szrj    targ_selvecs="sh_elf32_le_vec sh_elf32_linux_be_vec sh_elf32_linux_vec sh_elf32_fdpic_le_vec sh_elf32_fdpic_be_vec"
1431a9fa9459Szrj#ifdef BFD64
1432a9fa9459Szrj    targ_selvecs="${targ_selvecs} sh64_elf32_linux_vec sh64_elf32_linux_be_vec sh64_elf64_linux_vec sh64_elf64_linux_be_vec"
1433a9fa9459Szrj#endif
1434a9fa9459Szrj    ;;
1435a9fa9459Szrj
1436a9fa9459Szrj#ifdef BFD64
1437a9fa9459Szrj  sh5le-*-netbsd*)
1438a9fa9459Szrj    targ_defvec=sh64_elf32_nbsd_le_vec
1439a9fa9459Szrj    targ_selvecs="sh64_elf32_nbsd_vec sh64_elf64_nbsd_le_vec sh64_elf64_nbsd_vec sh_elf32_nbsd_vec sh_elf32_nbsd_le_vec"
1440a9fa9459Szrj    want64=true
1441a9fa9459Szrj    ;;
1442a9fa9459Szrj  sh5-*-netbsd*)
1443a9fa9459Szrj    targ_defvec=sh64_elf32_nbsd_vec
1444a9fa9459Szrj    targ_selvecs="sh64_elf32_nbsd_le_vec sh64_elf64_nbsd_le_vec sh64_elf64_nbsd_vec sh_elf32_nbsd_vec sh_elf32_nbsd_le_vec"
1445a9fa9459Szrj    want64=true
1446a9fa9459Szrj    ;;
1447a9fa9459Szrj
1448a9fa9459Szrj  sh64le-*-netbsd*)
1449a9fa9459Szrj    targ_defvec=sh64_elf64_nbsd_le_vec
1450a9fa9459Szrj    targ_selvecs="sh64_elf64_nbsd_vec sh64_elf32_nbsd_le_vec sh64_elf32_nbsd_vec sh_elf32_nbsd_vec sh_elf32_nbsd_le_vec"
1451a9fa9459Szrj    want64=true
1452a9fa9459Szrj    ;;
1453a9fa9459Szrj  sh64-*-netbsd*)
1454a9fa9459Szrj    targ_defvec=sh64_elf64_nbsd_vec
1455a9fa9459Szrj    targ_selvecs="sh64_elf64_nbsd_le_vec sh64_elf32_nbsd_le_vec sh64_elf32_nbsd_vec sh_elf32_nbsd_vec sh_elf32_nbsd_le_vec"
1456a9fa9459Szrj    want64=true
1457a9fa9459Szrj    ;;
1458a9fa9459Szrj
1459a9fa9459Szrj  sh*l*-*-netbsdelf*)
1460a9fa9459Szrj    targ_defvec=sh_elf32_nbsd_le_vec
1461a9fa9459Szrj    targ_selvecs="sh_elf32_nbsd_vec sh_coff_vec sh_coff_le_vec sh64_elf32_nbsd_le_vec sh64_elf32_nbsd_vec sh64_elf64_nbsd_le_vec sh64_elf64_nbsd_vec"
1462a9fa9459Szrj    want64=true
1463a9fa9459Szrj    ;;
1464a9fa9459Szrj  sh-*-netbsdelf*)
1465a9fa9459Szrj    targ_defvec=sh_elf32_nbsd_vec
1466a9fa9459Szrj    targ_selvecs="sh_elf32_nbsd_le_vec sh_coff_vec sh_coff_le_vec sh64_elf32_nbsd_le_vec sh64_elf32_nbsd_vec sh64_elf64_nbsd_le_vec sh64_elf64_nbsd_vec"
1467a9fa9459Szrj    want64=true
1468a9fa9459Szrj    ;;
1469a9fa9459Szrj#endif
1470a9fa9459Szrj
1471a9fa9459Szrj  sh*-*-netbsdelf*)
1472a9fa9459Szrj    targ_defvec=sh_elf32_nbsd_vec
1473a9fa9459Szrj    targ_selvecs="sh_elf32_nbsd_le_vec sh_coff_vec sh_coff_le_vec"
1474a9fa9459Szrj    ;;
1475a9fa9459Szrj  sh*-*-symbianelf*)
1476a9fa9459Szrj    targ_defvec=sh_elf32_symbian_le_vec
1477a9fa9459Szrj    targ_selvecs="sh_coff_le_vec sh_coff_small_le_vec"
1478a9fa9459Szrj    targ_underscore=yes
1479a9fa9459Szrj    ;;
1480a9fa9459Szrj
1481a9fa9459Szrj#ifdef BFD64
1482a9fa9459Szrj  shl*-*-elf* | sh[1234]l*-*-elf* | sh3el*-*-elf* | shl*-*-kaos*)
1483a9fa9459Szrj    targ_defvec=sh_elf32_le_vec
1484a9fa9459Szrj    targ_selvecs="sh_elf32_vec sh_coff_le_vec sh_coff_vec sh_coff_small_le_vec sh_coff_small_vec sh64_elf32_vec sh64_elf32_le_vec sh64_elf64_vec sh64_elf64_le_vec"
1485a9fa9459Szrj    targ_underscore=yes
1486a9fa9459Szrj    want64=true
1487a9fa9459Szrj    ;;
1488a9fa9459Szrj#endif
1489a9fa9459Szrj
1490a9fa9459Szrj  sh-*-rtemscoff*)
1491a9fa9459Szrj    targ_defvec=sh_coff_vec
1492a9fa9459Szrj    targ_selvecs="sh_coff_vec sh_coff_le_vec sh_coff_small_vec sh_coff_small_le_vec"
1493a9fa9459Szrj    targ_underscore=yes
1494a9fa9459Szrj    ;;
1495a9fa9459Szrj
1496a9fa9459Szrj#ifdef BFD64
1497a9fa9459Szrj  sh-*-elf* | sh[1234]*-elf* | sh-*-rtems* | sh-*-kaos*)
1498a9fa9459Szrj    targ_defvec=sh_elf32_vec
1499a9fa9459Szrj    targ_selvecs="sh_elf32_le_vec sh_coff_vec sh_coff_le_vec sh_coff_small_vec sh_coff_small_le_vec sh64_elf32_vec sh64_elf32_le_vec sh64_elf64_vec sh64_elf64_le_vec"
1500a9fa9459Szrj    targ_underscore=yes
1501a9fa9459Szrj    want64=true
1502a9fa9459Szrj    ;;
1503a9fa9459Szrj#endif
1504a9fa9459Szrj
1505a9fa9459Szrj  sh-*-nto*)
1506a9fa9459Szrj    targ_defvec=sh_elf32_vec
1507a9fa9459Szrj    targ_selvecs="sh_elf32_le_vec sh_coff_vec sh_coff_le_vec sh_coff_small_vec sh_coff_small_le_vec"
1508a9fa9459Szrj    targ_underscore=yes
1509a9fa9459Szrj    ;;
1510a9fa9459Szrj  sh*-*-openbsd*)
1511a9fa9459Szrj    targ_defvec=sh_elf32_nbsd_le_vec
1512a9fa9459Szrj    targ_selvecs="sh_elf32_nbsd_vec sh_coff_vec sh_coff_le_vec"
1513a9fa9459Szrj    ;;
1514a9fa9459Szrj  sh-*-pe)
1515a9fa9459Szrj    targ_defvec=sh_pe_le_vec
1516a9fa9459Szrj    targ_selvecs="sh_pe_le_vec sh_pei_le_vec"
1517a9fa9459Szrj    targ_underscore=yes
1518a9fa9459Szrj    ;;
1519a9fa9459Szrj  sh-*-vxworks)
1520a9fa9459Szrj    targ_defvec=sh_elf32_vxworks_vec
1521a9fa9459Szrj    targ_selvecs="sh_elf32_vxworks_le_vec"
1522a9fa9459Szrj    # FIXME None of the following are actually used on this target, but
1523a9fa9459Szrj    # they're necessary for coff-sh.c (which is unconditionally used) to be
1524a9fa9459Szrj    # compiled correctly.
1525a9fa9459Szrj    targ_selvecs="$targ_selvecs sh_coff_vec sh_coff_le_vec sh_coff_small_vec sh_coff_small_le_vec"
1526a9fa9459Szrj    targ_underscore=yes
1527a9fa9459Szrj    ;;
1528a9fa9459Szrj  sh-*-*)
1529a9fa9459Szrj    targ_defvec=sh_coff_vec
1530a9fa9459Szrj    targ_selvecs="sh_coff_vec sh_coff_le_vec sh_coff_small_vec sh_coff_small_le_vec"
1531a9fa9459Szrj    targ_underscore=yes
1532a9fa9459Szrj    ;;
1533a9fa9459Szrj
1534a9fa9459Szrj  sparclet-*-aout*)
1535a9fa9459Szrj    targ_defvec=sparc_aout_sunos_be_vec
1536a9fa9459Szrj    targ_selvecs=sparc_aout_le_vec
1537a9fa9459Szrj    targ_underscore=yes
1538a9fa9459Szrj    ;;
1539a9fa9459Szrj  sparc86x-*-aout*)
1540a9fa9459Szrj    targ_defvec=sparc_aout_sunos_be_vec
1541a9fa9459Szrj    targ_underscore=yes
1542a9fa9459Szrj    ;;
1543a9fa9459Szrj  sparclite-*-elf* | sparc86x-*-elf*)
1544a9fa9459Szrj    targ_defvec=sparc_elf32_vec
1545a9fa9459Szrj    ;;
1546a9fa9459Szrj  sparc*-*-chorus*)
1547a9fa9459Szrj    targ_defvec=sparc_elf32_vec
1548a9fa9459Szrj    ;;
1549a9fa9459Szrj  sparc-*-linux*aout*)
1550a9fa9459Szrj    targ_defvec=sparc_aout_linux_vec
1551a9fa9459Szrj    targ_selvecs="sparc_elf32_vec sparc_aout_sunos_be_vec"
1552a9fa9459Szrj    targ_underscore=yes
1553a9fa9459Szrj    ;;
1554a9fa9459Szrj  sparc-*-linux-* | sparcv*-*-linux-*)
1555a9fa9459Szrj    targ_defvec=sparc_elf32_vec
1556a9fa9459Szrj    targ_selvecs="sparc_aout_linux_vec sparc_elf64_vec sparc_aout_sunos_be_vec"
1557a9fa9459Szrj    ;;
1558a9fa9459Szrj  sparc-*-netbsdelf*)
1559a9fa9459Szrj    targ_defvec=sparc_elf32_vec
1560a9fa9459Szrj    targ_selvecs=sparc_aout_nbsd_vec
1561a9fa9459Szrj    ;;
1562a9fa9459Szrj  sparc-*-netbsdaout* | sparc-*-netbsd*)
1563a9fa9459Szrj    targ_defvec=sparc_aout_nbsd_vec
1564a9fa9459Szrj    targ_selvecs=sparc_elf32_vec
1565a9fa9459Szrj    targ_underscore=yes
1566a9fa9459Szrj    ;;
1567a9fa9459Szrj  sparc-*-openbsd[0-2].* | sparc-*-openbsd3.[0-1])
1568a9fa9459Szrj    targ_defvec=sparc_aout_nbsd_vec
1569a9fa9459Szrj    targ_underscore=yes
1570a9fa9459Szrj    ;;
1571a9fa9459Szrj  sparc-*-openbsd*)
1572a9fa9459Szrj    targ_defvec=sparc_elf32_vec
1573a9fa9459Szrj    targ_selvecs=sparc_aout_nbsd_vec
1574a9fa9459Szrj    ;;
1575a9fa9459Szrj  sparc-*-elf*)
1576a9fa9459Szrj    targ_defvec=sparc_elf32_vec
1577a9fa9459Szrj    targ_selvecs=sparc_aout_sunos_be_vec
1578a9fa9459Szrj    ;;
1579a9fa9459Szrj  sparc-*-solaris2.[0-6] | sparc-*-solaris2.[0-6].*)
1580a9fa9459Szrj    targ_defvec=sparc_elf32_sol2_vec
1581a9fa9459Szrj    targ_selvecs=sparc_aout_sunos_be_vec
1582a9fa9459Szrj    ;;
1583a9fa9459Szrj#ifdef BFD64
1584a9fa9459Szrj  sparc-*-solaris2* | sparcv9-*-solaris2* | sparc64-*-solaris2*)
1585a9fa9459Szrj    targ_defvec=sparc_elf32_sol2_vec
1586a9fa9459Szrj    targ_selvecs="sparc_elf64_sol2_vec sparc_aout_sunos_be_vec"
1587a9fa9459Szrj    want64=true
1588a9fa9459Szrj    ;;
1589a9fa9459Szrj#endif
1590a9fa9459Szrj  sparc-*-sysv4*)
1591a9fa9459Szrj    targ_defvec=sparc_elf32_vec
1592a9fa9459Szrj    ;;
1593a9fa9459Szrj  sparc-*-vxworks*)
1594a9fa9459Szrj    targ_defvec=sparc_elf32_vxworks_vec
1595a9fa9459Szrj    targ_selvecs="sparc_elf32_vec sparc_aout_sunos_be_vec"
1596a9fa9459Szrj    ;;
1597a9fa9459Szrj  sparc-*-netware*)
1598a9fa9459Szrj    targ_defvec=sparc_elf32_vec
1599a9fa9459Szrj    targ_selvecs="sparc_nlm32_vec sparc_aout_sunos_be_vec"
1600a9fa9459Szrj    ;;
1601a9fa9459Szrj#ifdef BFD64
1602a9fa9459Szrj  sparc64-*-aout*)
1603a9fa9459Szrj    targ_defvec=sparc_aout_sunos_be_vec
1604a9fa9459Szrj    targ_underscore=yes
1605a9fa9459Szrj    want64=true
1606a9fa9459Szrj    ;;
1607a9fa9459Szrj  sparc64*-*-linux-*)
1608a9fa9459Szrj    targ_defvec=sparc_elf64_vec
1609a9fa9459Szrj    targ_selvecs="sparc_elf32_vec sparc_aout_linux_vec sparc_aout_sunos_be_vec"
1610a9fa9459Szrj    want64=true
1611a9fa9459Szrj    ;;
1612a9fa9459Szrj  sparc64-*-elf* | sparc64-*-rtems* )
1613a9fa9459Szrj    targ_defvec=sparc_elf64_vec
1614a9fa9459Szrj    targ_selvecs=sparc_elf32_vec
1615a9fa9459Szrj    want64=true
1616a9fa9459Szrj    ;;
1617a9fa9459Szrj#endif /* BFD64 */
1618a9fa9459Szrj  sparc*-*-coff*)
1619a9fa9459Szrj    targ_defvec=sparc_coff_vec
1620a9fa9459Szrj    ;;
1621a9fa9459Szrj  sparc-*-rtems*)
1622a9fa9459Szrj    targ_defvec=sparc_elf32_vec
1623a9fa9459Szrj    targ_selvecs="sparc_aout_sunos_be_vec sparc_coff_vec"
1624a9fa9459Szrj    ;;
1625a9fa9459Szrj  sparc*-*-*)
1626a9fa9459Szrj    targ_defvec=sparc_aout_sunos_be_vec
1627a9fa9459Szrj    targ_underscore=yes
1628a9fa9459Szrj    ;;
1629a9fa9459Szrj
1630a9fa9459Szrj  spu-*-elf)
1631a9fa9459Szrj    targ_defvec=spu_elf32_vec
1632a9fa9459Szrj    want64=true
1633a9fa9459Szrj    ;;
1634a9fa9459Szrj
1635a9fa9459Szrj#if HAVE_aout_vec
1636a9fa9459Szrj  tahoe-*-*)
1637a9fa9459Szrj    targ_defvec=aout_vec
1638a9fa9459Szrj    targ_underscore=yes
1639a9fa9459Szrj    ;;
1640a9fa9459Szrj#endif
1641a9fa9459Szrj
1642a9fa9459Szrj  tic6x-*-elf)
1643a9fa9459Szrj    targ_defvec=tic6x_elf32_c6000_le_vec
1644a9fa9459Szrj    targ_selvecs="tic6x_elf32_c6000_be_vec tic6x_elf32_le_vec tic6x_elf32_be_vec"
1645a9fa9459Szrj    ;;
1646a9fa9459Szrj
1647a9fa9459Szrj  tic6x-*-uclinux)
1648a9fa9459Szrj    targ_defvec=tic6x_elf32_linux_le_vec
1649a9fa9459Szrj    targ_selvecs="tic6x_elf32_linux_be_vec tic6x_elf32_le_vec tic6x_elf32_be_vec"
1650a9fa9459Szrj    ;;
1651a9fa9459Szrj
1652a9fa9459Szrj  tic80*-*-*)
1653a9fa9459Szrj    targ_defvec=tic80_coff_vec
1654a9fa9459Szrj    targ_underscore=yes
1655a9fa9459Szrj    ;;
1656a9fa9459Szrj
1657a9fa9459Szrj#ifdef BFD64
1658a9fa9459Szrj  tilegx-*-*)
1659a9fa9459Szrj    targ_defvec=tilegx_elf64_le_vec
1660a9fa9459Szrj    targ_selvecs="tilegx_elf64_be_vec tilegx_elf32_be_vec tilegx_elf32_le_vec"
1661a9fa9459Szrj    ;;
1662a9fa9459Szrj  tilegxbe-*-*)
1663a9fa9459Szrj    targ_defvec=tilegx_elf64_be_vec
1664a9fa9459Szrj    targ_selvecs="tilegx_elf64_le_vec tilegx_elf32_be_vec tilegx_elf32_le_vec"
1665a9fa9459Szrj    ;;
1666a9fa9459Szrj#endif
1667a9fa9459Szrj
1668a9fa9459Szrj  tilepro-*-*)
1669a9fa9459Szrj    targ_defvec=tilepro_elf32_vec
1670a9fa9459Szrj    ;;
1671a9fa9459Szrj
1672a9fa9459Szrj  ft32*-*-*)
1673a9fa9459Szrj    targ_defvec=ft32_elf32_vec
1674a9fa9459Szrj    ;;
1675a9fa9459Szrj
1676a9fa9459Szrj  v850*-*-*)
1677a9fa9459Szrj    targ_defvec=v850_elf32_vec
1678a9fa9459Szrj    targ_selvecs="v800_elf32_vec"
1679a9fa9459Szrj    ;;
1680a9fa9459Szrj
1681a9fa9459Szrj  vax-*-netbsdelf*)
1682a9fa9459Szrj    targ_defvec=vax_elf32_vec
1683a9fa9459Szrj    targ_selvecs="vax_aout_nbsd_vec vax_aout_1knbsd_vec"
1684a9fa9459Szrj    ;;
1685a9fa9459Szrj
1686a9fa9459Szrj  vax-*-netbsdaout* | vax-*-netbsd*)
1687a9fa9459Szrj    targ_defvec=vax_aout_nbsd_vec
1688a9fa9459Szrj    targ_selvecs="vax_elf32_vec vax_aout_1knbsd_vec"
1689a9fa9459Szrj    targ_underscore=yes
1690a9fa9459Szrj    ;;
1691a9fa9459Szrj
1692a9fa9459Szrj  vax-*-bsd* | vax-*-ultrix*)
1693a9fa9459Szrj    targ_defvec=vax_aout_bsd_vec
1694a9fa9459Szrj    targ_underscore=yes
1695a9fa9459Szrj    ;;
1696a9fa9459Szrj
1697a9fa9459Szrj  vax-*-openbsd*)
1698a9fa9459Szrj    targ_defvec=vax_aout_nbsd_vec
1699a9fa9459Szrj    targ_underscore=yes
1700a9fa9459Szrj    ;;
1701a9fa9459Szrj
1702a9fa9459Szrj  vax-*-linux-*)
1703a9fa9459Szrj    targ_defvec=vax_elf32_vec
1704a9fa9459Szrj    ;;
1705a9fa9459Szrj
1706a9fa9459Szrj  visium-*-elf)
1707a9fa9459Szrj    targ_defvec=visium_elf32_vec
1708a9fa9459Szrj    ;;
1709a9fa9459Szrj
1710a9fa9459Szrj  we32k-*-*)
1711a9fa9459Szrj    targ_defvec=we32k_coff_vec
1712a9fa9459Szrj    ;;
1713a9fa9459Szrj
1714a9fa9459Szrj  w65-*-*)
1715a9fa9459Szrj    targ_defvec=w65_coff_vec
1716a9fa9459Szrj    ;;
1717a9fa9459Szrj
1718a9fa9459Szrj  xgate-*-*)
1719a9fa9459Szrj    targ_defvec=xgate_elf32_vec
1720a9fa9459Szrj    targ_selvecs="xgate_elf32_vec"
1721a9fa9459Szrj    ;;
1722a9fa9459Szrj
1723a9fa9459Szrj  xstormy16-*-elf)
1724a9fa9459Szrj    targ_defvec=xstormy16_elf32_vec
1725a9fa9459Szrj    ;;
1726a9fa9459Szrj
1727a9fa9459Szrj  xtensa*-*-*)
1728a9fa9459Szrj    targ_defvec=xtensa_elf32_le_vec
1729a9fa9459Szrj    targ_selvecs=xtensa_elf32_be_vec
1730a9fa9459Szrj    ;;
1731a9fa9459Szrj xc16x-*-elf)
1732a9fa9459Szrj    targ_defvec=xc16x_elf32_vec
1733a9fa9459Szrj    ;;
1734a9fa9459Szrj
1735a9fa9459Szrj  z80-*-*)
1736a9fa9459Szrj    targ_defvec=z80_coff_vec
1737a9fa9459Szrj    targ_underscore=no
1738a9fa9459Szrj    ;;
1739a9fa9459Szrj
1740a9fa9459Szrj  z8k*-*-*)
1741a9fa9459Szrj    targ_defvec=z8k_coff_vec
1742a9fa9459Szrj    targ_underscore=yes
1743a9fa9459Szrj    ;;
1744a9fa9459Szrj
1745a9fa9459Szrj  *-*-ieee*)
1746a9fa9459Szrj    targ_defvec=ieee_vec
1747a9fa9459Szrj    ;;
1748a9fa9459Szrj
1749a9fa9459Szrj  *-adobe-*)
1750a9fa9459Szrj    targ_defvec=aout_adobe_vec
1751a9fa9459Szrj    targ_underscore=yes
1752a9fa9459Szrj    ;;
1753a9fa9459Szrj
1754a9fa9459Szrj  *-sony-*)
1755a9fa9459Szrj    targ_defvec=m68k_aout_newsos3_vec
1756a9fa9459Szrj    targ_underscore=yes
1757a9fa9459Szrj    ;;
1758a9fa9459Szrj
1759a9fa9459Szrj  *-tandem-*)
1760a9fa9459Szrj    targ_defvec=m68k_coff_vec
1761a9fa9459Szrj    targ_selvecs=ieee_vec
1762a9fa9459Szrj    ;;
1763a9fa9459Szrj# END OF targmatch.h
1764a9fa9459Szrj  *)
1765a9fa9459Szrj    echo 1>&2 "*** BFD does not support target ${targ}."
1766a9fa9459Szrj    echo 1>&2 "*** Look in bfd/config.bfd for supported targets."
1767a9fa9459Szrj    exit 1
1768a9fa9459Szrj    ;;
1769a9fa9459Szrjesac
1770a9fa9459Szrj
1771a9fa9459Szrj# All MIPS ELF targets need a 64-bit bfd_vma.
1772a9fa9459Szrjcase "${targ_defvec} ${targ_selvecs}" in
1773a9fa9459Szrj  *mips_elf*)
1774a9fa9459Szrj    want64=true
1775a9fa9459Szrj    ;;
1776a9fa9459Szrjesac
1777a9fa9459Szrj
1778a9fa9459Szrjcase "${host64}${want64}" in
1779a9fa9459Szrj  *true*)
1780a9fa9459Szrj    targ_selvecs="${targ_selvecs} ${targ64_selvecs}"
1781a9fa9459Szrj    ;;
1782a9fa9459Szrjesac
1783a9fa9459Szrj
1784a9fa9459Szrj# If we support any ELF target, then automatically add support for the
1785a9fa9459Szrj# generic ELF targets.  This permits an objdump with some ELF support
1786a9fa9459Szrj# to be used on an arbitrary ELF file for anything other than
1787a9fa9459Szrj# relocation information.
1788a9fa9459Szrjcase "${targ_defvec} ${targ_selvecs}" in
1789a9fa9459Szrj  *elf64* | *mips_elf32_n*)
1790a9fa9459Szrj    targ_selvecs="${targ_selvecs} elf64_le_vec elf64_be_vec elf32_le_vec elf32_be_vec"
1791a9fa9459Szrj    ;;
1792a9fa9459Szrj  *elf32*)
1793a9fa9459Szrj    targ_selvecs="${targ_selvecs} elf32_le_vec elf32_be_vec"
1794a9fa9459Szrj    ;;
1795a9fa9459Szrjesac
1796a9fa9459Szrj
1797a9fa9459Szrj# If we support Intel MCU target, then add support for bfd_iamcu_arch.
1798a9fa9459Szrjcase "${targ_defvec} ${targ_selvecs}" in
1799a9fa9459Szrj  *iamcu_elf32*)
1800a9fa9459Szrj    targ_archs="$targ_archs bfd_iamcu_arch"
1801a9fa9459Szrj    ;;
1802a9fa9459Szrjesac
1803a9fa9459Szrj
1804a9fa9459Szrj# If we support Intel L1OM target, then add support for bfd_l1om_arch.
1805a9fa9459Szrjcase "${targ_defvec} ${targ_selvecs}" in
1806a9fa9459Szrj  *l1om_elf64*)
1807a9fa9459Szrj    targ_archs="$targ_archs bfd_l1om_arch"
1808a9fa9459Szrj    ;;
1809a9fa9459Szrjesac
1810a9fa9459Szrj
1811a9fa9459Szrj# If we support Intel K1OM target, then add support for bfd_k1om_arch.
1812a9fa9459Szrjcase "${targ_defvec} ${targ_selvecs}" in
1813a9fa9459Szrj  *k1om_elf64*)
1814a9fa9459Szrj    targ_archs="$targ_archs bfd_k1om_arch"
1815a9fa9459Szrj    ;;
1816a9fa9459Szrjesac
1817