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