config.bfd revision 1.1
1# config.bfd
2#
3#   Copyright 2012, 2013 Free Software Foundation
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 null)
52    if test "x$enable_obsolete" != xyes; then
53      echo "*** Configuration $targ is obsolete." >&2
54      echo "*** Specify --enable-obsolete to build it anyway." >&2
55      echo "*** Support will be REMOVED in the next major release of BINUTILS," >&2
56      echo "*** unless a maintainer comes forward." >&2
57      exit 1
58    fi;;
59esac
60
61case $targ in
62 m68*-apple-aux* | \
63 m68*-apollo-* | \
64 m68*-bull-sysv* | \
65 m68*-*-rtemscoff* | \
66 maxq-*-coff | \
67 i960-*-rtems* | \
68 or32-*-rtems* | \
69 m68*-*-lynxos* | \
70 sparc-*-lynxos* | \
71 vax-*-vms* | \
72 arm-*-oabi | \
73 a29k-* | \
74 hppa*-*-rtems* | \
75 *-go32-rtems* | \
76 i[3-7]86*-*-rtemscoff* | \
77 mips*el-*-rtems* | \
78 powerpcle-*-rtems* | \
79 sparc*-*-rtemsaout* | \
80 null)
81    echo "*** Configuration $targ is obsolete." >&2
82    echo "*** Support has been REMOVED." >&2
83    exit 1
84    ;;
85esac
86
87targ_cpu=`echo $targ | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
88case "${targ_cpu}" in
89aarch64*)	 targ_archs="bfd_aarch64_arch bfd_arm_arch";;
90alpha*)		 targ_archs=bfd_alpha_arch ;;
91am34*|am33_2.0*) targ_archs=bfd_mn10300_arch ;;
92arm*)		 targ_archs=bfd_arm_arch ;;
93bfin*)		 targ_archs=bfd_bfin_arch ;;
94c30*)		 targ_archs=bfd_tic30_arch ;;
95c4x*)		 targ_archs=bfd_tic4x_arch ;;
96c54x*)		 targ_archs=bfd_tic54x_arch ;;
97cr16*)		 targ_archs=bfd_cr16_arch ;;
98crisv32)	 targ_archs=bfd_cris_arch ;;
99crx*)		 targ_archs=bfd_crx_arch ;;
100dlx*)		 targ_archs=bfd_dlx_arch ;;
101fido*)		 targ_archs=bfd_m68k_arch ;;
102hppa*)		 targ_archs=bfd_hppa_arch ;;
103i[3-7]86)	 targ_archs=bfd_i386_arch ;;
104i370)		 targ_archs=bfd_i370_arch ;;
105lm32)	         targ_archs=bfd_lm32_arch ;;
106m5200|m5407)	 targ_archs=bfd_m68k_arch ;;
107m6811*|m68hc11*) targ_archs="bfd_m68hc11_arch bfd_m68hc12_arch bfd_m9s12x_arch bfd_m9s12xg_arch" ;;
108m6812*|m68hc12*) targ_archs="bfd_m68hc12_arch bfd_m68hc11_arch bfd_m9s12x_arch bfd_m9s12xg_arch" ;;
109m68*)		 targ_archs=bfd_m68k_arch ;;
110m88*)		 targ_archs=bfd_m88k_arch ;;
111microblaze*)	 targ_archs=bfd_microblaze_arch ;;
112mips*)		 targ_archs=bfd_mips_arch ;;
113nds32*)		 targ_archs=bfd_nds32_arch ;;
114nios2*)          targ_archs=bfd_nios2_arch ;;
115or32*)		 targ_archs=bfd_or32_arch ;;
116pdp11*)		 targ_archs=bfd_pdp11_arch ;;
117pj*)		 targ_archs="bfd_pj_arch bfd_i386_arch";;
118powerpc*)	 targ_archs="bfd_rs6000_arch bfd_powerpc_arch" ;;
119rs6000)		 targ_archs="bfd_rs6000_arch bfd_powerpc_arch" ;;
120s390*)		 targ_archs=bfd_s390_arch ;;
121sh*)		 targ_archs=bfd_sh_arch ;;
122sparc*)		 targ_archs=bfd_sparc_arch ;;
123spu*)            targ_archs=bfd_spu_arch ;;
124tilegx*)	 targ_archs=bfd_tilegx_arch ;;
125tilepro*)	 targ_archs=bfd_tilepro_arch ;;
126v850*)		 targ_archs="bfd_v850_arch bfd_v850_rh850_arch" ;;
127x86_64*)	 targ_archs=bfd_i386_arch ;;
128xtensa*)	 targ_archs=bfd_xtensa_arch ;;
129xgate)		 targ_archs=bfd_xgate_arch ;;
130z80|r800)	 targ_archs=bfd_z80_arch ;;
131z8k*)		 targ_archs=bfd_z8k_arch ;;
132*)		 targ_archs=bfd_${targ_cpu}_arch ;;
133esac
134
135
136# WHEN ADDING ENTRIES TO THIS MATRIX:
137#  Make sure that the left side always has two dashes.  Otherwise you
138#  can get spurious matches.  Even for unambiguous cases, do this as a
139#  convention, else the table becomes a real mess to understand and maintain.
140#
141#  Keep obsolete entries above the START comment, to keep them out of
142#  targmatch.h.
143
144case "${targ}" in
145  mips*-dec-bsd*)
146    echo "This target is obsolete and has been removed."
147    exit 1
148    ;;
149
150  mips*-*-mach3*)
151    echo "This target is obsolete and has been removed."
152    exit 1
153    ;;
154
155  mips*-*-pe*)
156    echo "This target is obsolete and has been removed."
157    exit 1
158    ;;
159
160  plugin)
161    targ_defvec=plugin_vec
162    targ_selvecs="plugin_vec"
163    ;;
164
165# START OF targmatch.h
166#ifdef BFD64
167  aarch64-*-elf)
168    targ_defvec=bfd_elf64_littleaarch64_vec
169    targ_selvecs="bfd_elf64_bigaarch64_vec bfd_elf32_littleaarch64_vec bfd_elf32_bigaarch64_vec bfd_elf32_littlearm_vec bfd_elf32_bigarm_vec"
170    want64=true
171    ;;
172  aarch64_be-*-elf)
173    targ_defvec=bfd_elf64_bigaarch64_vec
174    targ_selvecs="bfd_elf64_littleaarch64_vec bfd_elf32_littleaarch64_vec bfd_elf32_bigaarch64_vec bfd_elf32_bigarm_vec bfd_elf32_littlearm_vec"
175    want64=true
176    ;;
177  aarch64-*-linux*)
178    targ_defvec=bfd_elf64_littleaarch64_vec
179    targ_selvecs="bfd_elf64_bigaarch64_vec bfd_elf32_littleaarch64_vec bfd_elf32_bigaarch64_vec bfd_elf32_littlearm_vec bfd_elf32_bigarm_vec"
180    want64=true
181    ;;
182  aarch64_be-*-linux*)
183    targ_defvec=bfd_elf64_bigaarch64_vec
184    targ_selvecs="bfd_elf64_littleaarch64_vec bfd_elf32_littleaarch64_vec bfd_elf32_bigaarch64_vec bfd_elf32_bigarm_vec bfd_elf32_littlearm_vec"
185    want64=true
186    ;;
187  aarch64-*-netbsd*)
188    targ_defvec=bfd_elf64_littleaarch64_vec
189    targ_selvecs="bfd_elf64_bigaarch64_vec bfd_elf32_littlearm_vec bfd_elf32_bigarm_vec"
190    want64=true
191    ;;
192  aarch64_be-*-netbsd*)
193    targ_defvec=bfd_elf64_bigaarch64_vec
194    targ_selvecs="bfd_elf64_littleaarch64_vec bfd_elf32_bigarm_vec bfd_elf32_littlearm_vec"
195    want64=true
196    ;;
197  alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu)
198    targ_defvec=bfd_elf64_alpha_freebsd_vec
199    targ_selvecs="bfd_elf64_alpha_vec ecoffalpha_little_vec"
200    want64=true
201    # FreeBSD <= 4.0 supports only the old nonstandard way of ABI labelling.
202    case "${targ}" in
203      alpha*-*-freebsd3* | alpha*-*-freebsd4 | alpha*-*-freebsd4.0*)
204	targ_cflags=-DOLD_FREEBSD_ABI_LABEL ;;
205    esac
206    ;;
207  alpha*-*-netbsd* | alpha*-*-openbsd*)
208    targ_defvec=bfd_elf64_alpha_vec
209    targ_selvecs=ecoffalpha_little_vec
210    want64=true
211    ;;
212  alpha*-*-netware*)
213    targ_defvec=ecoffalpha_little_vec
214    targ_selvecs=nlm32_alpha_vec
215    want64=true
216    ;;
217  alpha*-*-linux*ecoff*)
218    targ_defvec=ecoffalpha_little_vec
219    targ_selvecs=bfd_elf64_alpha_vec
220    want64=true
221    ;;
222  alpha*-*-linux-* | alpha*-*-elf*)
223    targ_defvec=bfd_elf64_alpha_vec
224    targ_selvecs=ecoffalpha_little_vec
225    want64=true
226    ;;
227  alpha*-*-*vms*)
228    targ_defvec=vms_alpha_vec
229    targ_selvecs=vms_lib_txt_vec
230    want64=true
231    ;;
232  alpha*-*-*)
233    targ_defvec=ecoffalpha_little_vec
234    want64=true
235    ;;
236  ia64*-*-freebsd* | ia64*-*-netbsd* | ia64*-*-linux-* | ia64*-*-elf* | ia64*-*-kfreebsd*-gnu)
237    targ_defvec=bfd_elf64_ia64_little_vec
238    targ_selvecs="bfd_elf64_ia64_big_vec bfd_pei_ia64_vec"
239    want64=true
240    ;;
241  ia64*-*-hpux*)
242    targ_defvec=bfd_elf32_ia64_hpux_big_vec
243    targ_selvecs="bfd_elf64_ia64_hpux_big_vec"
244    want64=true
245    ;;
246  ia64*-*-*vms*)
247    targ_defvec=bfd_elf64_ia64_vms_vec
248    targ_selvecs=vms_lib_txt_vec
249    want64=true
250    ;;
251  sparc64-*-freebsd* | sparc64-*-kfreebsd*-gnu)
252    targ_defvec=bfd_elf64_sparc_freebsd_vec
253    targ_selvecs="bfd_elf64_sparc_vec bfd_elf32_sparc_vec sunos_big_vec"
254    ;;
255  sparc64-*-netbsd* | sparc64-*-openbsd*)
256    targ_defvec=bfd_elf64_sparc_vec
257    targ_selvecs="bfd_elf32_sparc_vec sunos_big_vec"
258    want64=true
259    ;;
260#endif /* BFD64 */
261
262  am34-*-linux* | am33_2.0-*-linux*)
263    targ_defvec=bfd_elf32_am33lin_vec
264    ;;
265
266  arc-*-elf*)
267    targ_defvec=bfd_elf32_littlearc_vec
268    targ_selvecs=bfd_elf32_bigarc_vec
269    ;;
270
271  arm-*-nacl*)
272    targ_defvec=bfd_elf32_littlearm_nacl_vec
273    targ_selvecs="bfd_elf32_bigarm_nacl_vec bfd_elf32_i386_nacl_vec"
274    targ64_selvecs="bfd_elf32_x86_64_nacl_vec bfd_elf64_x86_64_nacl_vec"
275    targ_archs="$targ_archs bfd_i386_arch"
276    ;;
277  armeb-*-nacl*)
278    targ_defvec=bfd_elf32_bigarm_nacl_vec
279    targ_selvecs="bfd_elf32_littlearm_nacl_vec bfd_elf32_i386_nacl_vec"
280    targ64_selvecs="bfd_elf32_x86_64_nacl_vec bfd_elf64_x86_64_nacl_vec"
281    targ_archs="$targ_archs bfd_i386_arch"
282    ;;
283  armeb-*-netbsdelf*)
284    targ_defvec=bfd_elf32_bigarm_vec
285    targ_selvecs="bfd_elf32_littlearm_vec armnetbsd_vec"
286    ;;
287  arm-*-netbsdelf*)
288    targ_defvec=bfd_elf32_littlearm_vec
289    targ_selvecs="bfd_elf32_bigarm_vec armnetbsd_vec"
290    ;;
291  arm-*-netbsd* | arm-*-openbsd*)
292    targ_defvec=armnetbsd_vec
293    targ_selvecs="bfd_elf32_littlearm_vec bfd_elf32_bigarm_vec"
294    targ_underscore=yes
295    targ_cflags=-D__QNXTARGET__
296    ;;
297  arm-*-nto* | nto*arm*)
298    targ_defvec=bfd_elf32_littlearm_vec
299    targ_selvecs=bfd_elf32_bigarm_vec
300    ;;
301  arm-*-riscix*)
302    targ_defvec=riscix_vec
303    ;;
304  arm-epoc-pe*)
305    targ_defvec=arm_epoc_pe_little_vec
306    targ_selvecs="arm_epoc_pe_little_vec arm_epoc_pe_big_vec arm_epoc_pei_little_vec arm_epoc_pei_big_vec"
307    targ_underscore=no
308    targ_cflags=-DARM_COFF_BUGFIX
309    ;;
310  arm-wince-pe | arm-*-wince | arm*-*-mingw32ce* | arm*-*-cegcc*)
311    targ_defvec=arm_wince_pe_little_vec
312    targ_selvecs="arm_wince_pe_little_vec arm_wince_pe_big_vec arm_wince_pei_little_vec arm_wince_pei_big_vec"
313    targ_underscore=no
314    targ_cflags="-DARM_WINCE -DARM_COFF_BUGFIX"
315    ;;
316  arm-*-pe*)
317    targ_defvec=armpe_little_vec
318    targ_selvecs="armpe_little_vec armpe_big_vec armpei_little_vec armpei_big_vec"
319    targ_underscore=yes
320    ;;
321  arm-*-aout | armel-*-aout)
322    targ_defvec=aout_arm_little_vec
323    targ_selvecs=aout_arm_big_vec
324    ;;
325  armeb-*-aout)
326    targ_defvec=aout_arm_big_vec
327    targ_selvecs=aout_arm_little_vec
328    ;;
329  arm-*-coff)
330    targ_defvec=armcoff_little_vec
331    targ_selvecs=armcoff_big_vec
332    targ_underscore=yes
333    ;;
334  arm-*-rtems*)
335    targ_defvec=bfd_elf32_littlearm_vec
336    targ_selvecs=bfd_elf32_bigarm_vec
337    ;;
338  armeb-*-elf | arm*b-*-linux-*)
339    targ_defvec=bfd_elf32_bigarm_vec
340    targ_selvecs=bfd_elf32_littlearm_vec
341    ;;
342  arm-*-kaos*)
343    targ_defvec=bfd_elf32_littlearm_vec
344    targ_selvecs=bfd_elf32_bigarm_vec
345    ;;
346  arm-*-elf | arm-*-freebsd* | arm*-*-linux-* | arm*-*-conix* | \
347  arm*-*-uclinux* | arm-*-kfreebsd*-gnu | \
348  arm*-*-eabi* )
349    targ_defvec=bfd_elf32_littlearm_vec
350    targ_selvecs=bfd_elf32_bigarm_vec
351    ;;
352  arm*-*-vxworks | arm*-*-windiss)
353    targ_defvec=bfd_elf32_littlearm_vxworks_vec
354    targ_selvecs=bfd_elf32_bigarm_vxworks_vec
355    ;;
356  arm*-*-symbianelf*)
357    targ_defvec=bfd_elf32_littlearm_symbian_vec
358    targ_selvecs=bfd_elf32_bigarm_symbian_vec
359    ;;
360  arm9e-*-elf)
361    targ_defvec=bfd_elf32_littlearm_vec
362    targ_selvecs=bfd_elf32_bigarm_vec
363    ;;
364
365  avr-*-*)
366    targ_defvec=bfd_elf32_avr_vec
367    ;;
368
369  bfin-*-*)
370    targ_defvec=bfd_elf32_bfin_vec
371    targ_selvecs=bfd_elf32_bfinfdpic_vec
372    targ_underscore=yes
373    ;;
374
375  c30-*-*aout* | tic30-*-*aout*)
376    targ_defvec=tic30_aout_vec
377    ;;
378  c30-*-*coff* | tic30-*-*coff*)
379    targ_defvec=tic30_coff_vec
380    ;;
381
382  c4x-*-*coff* | tic4x-*-*coff* | tic4x-*-rtems*)
383    targ_defvec=tic4x_coff1_vec
384    targ_selvecs="tic4x_coff1_beh_vec tic4x_coff2_vec tic4x_coff2_beh_vec tic4x_coff0_vec tic4x_coff0_beh_vec"
385    targ_underscore=yes
386    ;;
387
388  c54x*-*-*coff* | tic54x-*-*coff*)
389    targ_defvec=tic54x_coff1_vec
390    targ_selvecs="tic54x_coff1_beh_vec tic54x_coff2_vec tic54x_coff2_beh_vec tic54x_coff0_vec tic54x_coff0_beh_vec"
391    targ_underscore=yes
392    ;;
393
394  cr16-*-elf* | cr16*-*-uclinux*)
395    targ_defvec=bfd_elf32_cr16_vec
396    targ_underscore=yes
397    ;;
398
399  cr16c-*-elf*)
400    targ_defvec=bfd_elf32_cr16c_vec
401    targ_underscore=yes
402    ;;
403
404  cris-*-* | crisv32-*-*)
405    targ_defvec=cris_aout_vec
406    targ_selvecs="bfd_elf32_us_cris_vec bfd_elf32_cris_vec ieee_vec"
407    targ_underscore=yes # Note: not true for bfd_elf32_cris_vec.
408    ;;
409
410  crx-*-elf*)
411    targ_defvec=bfd_elf32_crx_vec
412    targ_underscore=yes
413    ;;
414
415  d10v-*-*)
416    targ_defvec=bfd_elf32_d10v_vec
417    ;;
418
419  dlx-*-elf*)
420    targ_defvec=bfd_elf32_dlx_big_vec
421    targ_selvecs="bfd_elf32_dlx_big_vec"
422    ;;
423
424  d30v-*-*)
425    targ_defvec=bfd_elf32_d30v_vec
426    ;;
427
428  epiphany-*-elf)
429    targ_defvec=bfd_elf32_epiphany_vec
430    ;;
431
432  fido-*-elf* )
433    targ_defvec=bfd_elf32_m68k_vec
434    targ_selvecs="m68kcoff_vec ieee_vec"
435    ;;
436
437  fr30-*-elf)
438    targ_defvec=bfd_elf32_fr30_vec
439    ;;
440
441  frv-*-elf)
442    targ_defvec=bfd_elf32_frv_vec
443    targ_selvecs=bfd_elf32_frvfdpic_vec
444    ;;
445
446  frv-*-*linux*)
447    targ_defvec=bfd_elf32_frvfdpic_vec
448    targ_selvecs=bfd_elf32_frv_vec
449    ;;
450
451  moxie-*-elf | moxie-*-rtems* | moxie-*-uclinux)
452    targ_defvec=bfd_elf32_bigmoxie_vec
453    targ_selvecs=bfd_elf32_littlemoxie_vec
454    ;;
455
456  h8300*-*-rtemscoff*)
457    targ_defvec=h8300coff_vec
458    targ_underscore=yes
459    ;;
460
461  h8300*-*-elf | h8300*-*-rtems*)
462    targ_defvec=bfd_elf32_h8300_vec
463    targ_underscore=yes
464    ;;
465
466  h8300*-*-*)
467    targ_defvec=h8300coff_vec
468    targ_underscore=yes
469    ;;
470
471  h8500-*-*)
472    targ_defvec=h8500coff_vec
473    targ_underscore=yes
474    ;;
475
476#ifdef BFD64
477  hppa*64*-*-linux-*)
478    targ_defvec=bfd_elf64_hppa_linux_vec
479    targ_selvecs=bfd_elf64_hppa_vec
480    want64=true
481    ;;
482  hppa*64*-*-hpux11*)
483    targ_defvec=bfd_elf64_hppa_vec
484    targ_selvecs=bfd_elf64_hppa_linux_vec
485    targ_cflags=-DHPUX_LARGE_AR_IDS
486    want64=true
487    ;;
488#endif
489
490  hppa*-*-linux-*)
491    targ_defvec=bfd_elf32_hppa_linux_vec
492    targ_selvecs=bfd_elf32_hppa_vec
493    ;;
494  hppa*-*-netbsd*)
495    targ_defvec=bfd_elf32_hppa_nbsd_vec
496    targ_selvecs="bfd_elf32_hppa_vec bfd_elf32_hppa_linux_vec"
497    ;;
498  hppa*-*-*elf* | hppa*-*-lites* | hppa*-*-sysv4* | hppa*-*-openbsd*)
499    targ_defvec=bfd_elf32_hppa_vec
500    targ_selvecs=bfd_elf32_hppa_linux_vec
501    ;;
502
503  hppa*-*-bsd*)
504    targ_defvec=som_vec
505    targ_selvecs=bfd_elf32_hppa_vec
506    ;;
507  hppa*-*-hpux* | hppa*-*-hiux* | hppa*-*-mpeix*)
508    targ_defvec=som_vec
509    ;;
510  hppa*-*-osf*)
511    targ_defvec=som_vec
512    targ_selvecs=bfd_elf32_hppa_vec
513    ;;
514
515  i370-*-*)
516    targ_defvec=bfd_elf32_i370_vec
517    targ_selvecs="bfd_elf32_i370_vec"
518    ;;
519  i[3-7]86-*-sco3.2v5*coff)
520    targ_defvec=i386coff_vec
521    targ_selvecs=bfd_elf32_i386_vec
522    ;;
523  i[3-7]86-*-sysv4* | i[3-7]86-*-unixware* | \
524  i[3-7]86-*-elf | i[3-7]86-*-sco3.2v5* | \
525  i[3-7]86-*-dgux* | i[3-7]86-*-sysv5*)
526    targ_defvec=bfd_elf32_i386_vec
527    targ_selvecs=i386coff_vec
528    ;;
529  i[3-7]86-*-solaris2*)
530    targ_defvec=bfd_elf32_i386_sol2_vec
531    targ_selvecs="i386coff_vec"
532    targ64_selvecs="bfd_elf64_x86_64_sol2_vec bfd_elf64_l1om_vec bfd_elf64_k1om_vec"
533    want64=true
534    ;;
535#ifdef BFD64
536  x86_64-*-solaris2*)
537    targ_defvec=bfd_elf32_i386_sol2_vec
538    targ_selvecs="bfd_elf64_x86_64_sol2_vec bfd_elf64_l1om_vec bfd_elf64_k1om_vec i386coff_vec"
539    want64=true
540    ;;
541#endif
542  i[3-7]86-*-kaos*)
543    targ_defvec=bfd_elf32_i386_vec
544    targ_selvecs=bfd_elf32_i386_vec
545    ;;
546  i[3-7]86-*-nto*)
547    targ_defvec=bfd_elf32_i386_vec
548    targ_selvecs=i386coff_vec
549    ;;
550  i[3-7]86-*-aros*)
551    targ_defvec=bfd_elf32_i386_vec
552    ;;
553  i[3-7]86-*-chorus*)
554    targ_defvec=bfd_elf32_i386_vec
555    ;;
556  i[3-7]86-*-dicos*)
557    targ_defvec=bfd_elf32_i386_vec
558    targ64_selvecs="bfd_elf64_x86_64_vec bfd_elf64_l1om_vec bfd_elf64_k1om_vec"
559    ;;
560  *-*-msdosdjgpp* | *-*-go32* )
561    targ_defvec=go32coff_vec
562    targ_selvecs="go32stubbedcoff_vec i386aout_vec"
563    ;;
564  i[3-7]86-*-sysv* | i[3-7]86-*-isc* | i[3-7]86-*-sco* | i[3-7]86-*-coff | \
565  i[3-7]86-*-aix*)
566    targ_defvec=i386coff_vec
567    ;;
568  i[3-7]86-*-rtems*)
569    targ_defvec=bfd_elf32_i386_vec
570    targ_selvecs="i386coff_vec i386aout_vec"
571    ;;
572  i[3-7]86-*-darwin* | i[3-7]86-*-macos10* | i[3-7]86-*-rhapsody*)
573    targ_defvec=mach_o_i386_vec
574    targ_selvecs="mach_o_le_vec mach_o_be_vec mach_o_fat_vec pef_vec pef_xlib_vec sym_vec"
575    targ64_selvecs=mach_o_x86_64_vec
576    targ_archs="$targ_archs bfd_powerpc_arch bfd_rs6000_arch"
577    ;;
578  i[3-7]86-sequent-bsd*)
579    targ_defvec=i386dynix_vec
580    targ_underscore=yes
581    ;;
582  i[3-7]86-*-bsd*)
583    targ_defvec=i386bsd_vec
584    targ_underscore=yes
585    ;;
586  i[3-7]86-*-dragonfly*)
587    targ_defvec=bfd_elf32_i386_vec
588    targ64_selvecs="bfd_elf64_x86_64_vec bfd_elf64_l1om_vec bfd_elf64_k1om_vec"
589    ;;
590  i[3-7]86-*-freebsdaout* | i[3-7]86-*-freebsd[12].* | \
591  i[3-7]86-*-freebsd[12])
592    targ_defvec=i386freebsd_vec
593    targ_selvecs=i386bsd_vec
594    targ_underscore=yes
595    ;;
596  i[3-7]86-*-freebsd* | i[3-7]86-*-kfreebsd*-gnu)
597    targ_defvec=bfd_elf32_i386_freebsd_vec
598    targ_selvecs="bfd_elf32_i386_vec i386pei_vec i386coff_vec"
599    targ64_selvecs="bfd_elf64_x86_64_freebsd_vec bfd_elf64_x86_64_vec x86_64pei_vec bfd_elf64_l1om_vec bfd_elf64_l1om_freebsd_vec bfd_elf64_k1om_vec bfd_elf64_k1om_freebsd_vec"
600    # FreeBSD <= 4.0 supports only the old nonstandard way of ABI labelling.
601    case "${targ}" in
602      i[3-7]86-*-freebsd3* | i[3-7]86-*-freebsd4 | i[3-7]86-*-freebsd4.0*)
603	targ_cflags=-DOLD_FREEBSD_ABI_LABEL ;;
604    esac
605    ;;
606  i[3-7]86-*-netbsdelf* | i[3-7]86-*-netbsd*-gnu* | i[3-7]86-*-knetbsd*-gnu)
607    targ_defvec=bfd_elf32_i386_vec
608    targ_selvecs=i386netbsd_vec
609    targ64_selvecs="bfd_elf64_x86_64_vec bfd_elf64_l1om_vec bfd_elf64_k1om_vec"
610    ;;
611  i[3-7]86-*-netbsdpe*)
612    targ_defvec=i386pe_vec
613    targ_selvecs="i386pe_vec i386pei_vec bfd_elf32_i386_vec"
614    ;;
615  i[3-7]86-*-netbsdaout* | i[3-7]86-*-netbsd* | \
616  i[3-7]86-*-openbsd[0-2].* | i[3-7]86-*-openbsd3.[0-3])
617    targ_defvec=i386netbsd_vec
618    targ_selvecs="bfd_elf32_i386_vec i386bsd_vec"
619    targ_underscore=yes
620    ;;
621  i[3-7]86-*-openbsd*)
622    targ_defvec=bfd_elf32_i386_vec
623    targ_selvecs=i386netbsd_vec
624    ;;
625  i[3-7]86-*-netware*)
626    targ_defvec=bfd_elf32_i386_vec
627    targ_selvecs="nlm32_i386_vec i386coff_vec i386aout_vec"
628    ;;
629  i[3-7]86-*-linux*aout*)
630    targ_defvec=i386linux_vec
631    targ_selvecs=bfd_elf32_i386_vec
632    targ_underscore=yes
633    ;;
634  i[3-7]86-*-linux-*)
635    targ_defvec=bfd_elf32_i386_vec
636    targ_selvecs="i386linux_vec i386pei_vec"
637    targ64_selvecs="bfd_elf64_x86_64_vec bfd_elf32_x86_64_vec x86_64pei_vec bfd_elf64_l1om_vec bfd_elf64_k1om_vec"
638    ;;
639  i[3-7]86-*-nacl*)
640    targ_defvec=bfd_elf32_i386_nacl_vec
641    targ_selvecs="bfd_elf32_bigarm_nacl_vec bfd_elf32_littlearm_nacl_vec"
642    targ64_selvecs="bfd_elf64_x86_64_nacl_vec bfd_elf32_x86_64_nacl_vec"
643    targ_archs="$targ_archs bfd_arm_arch"
644    ;;
645#ifdef BFD64
646  x86_64-*-darwin*)
647    targ_defvec=mach_o_x86_64_vec
648    targ_selvecs="mach_o_i386_vec mach_o_le_vec mach_o_be_vec mach_o_fat_vec pef_vec pef_xlib_vec sym_vec"
649    targ_archs="$targ_archs bfd_powerpc_arch bfd_rs6000_arch"
650    want64=true
651    ;;
652  x86_64-*-dicos*)
653    targ_defvec=bfd_elf64_x86_64_vec
654    targ_selvecs="bfd_elf32_i386_vec bfd_elf64_l1om_vec bfd_elf64_k1om_vec"
655    want64=true
656    ;;
657  x86_64-*-elf*)
658    targ_defvec=bfd_elf64_x86_64_vec
659    targ_selvecs="bfd_elf32_i386_vec bfd_elf32_x86_64_vec bfd_elf64_l1om_vec bfd_elf64_k1om_vec"
660    want64=true
661    ;;
662  x86_64-*-dragonfly*)
663    targ_defvec=bfd_elf64_x86_64_vec
664    targ_selvecs="bfd_elf32_i386_vec bfd_elf64_l1om_vec bfd_elf64_k1om_vec"
665    want64=true
666    ;;
667  x86_64-*-freebsd* | x86_64-*-kfreebsd*-gnu)
668    targ_defvec=bfd_elf64_x86_64_freebsd_vec
669    targ_selvecs="bfd_elf32_i386_freebsd_vec i386coff_vec i386pei_vec x86_64pei_vec bfd_elf32_i386_vec bfd_elf64_x86_64_vec bfd_elf64_l1om_vec bfd_elf64_l1om_freebsd_vec bfd_elf64_k1om_vec bfd_elf64_k1om_freebsd_vec"
670    want64=true
671    ;;
672  x86_64-*-netbsd* | x86_64-*-openbsd*)
673    targ_defvec=bfd_elf64_x86_64_vec
674    targ_selvecs="bfd_elf32_i386_vec i386netbsd_vec i386coff_vec i386pei_vec x86_64pei_vec bfd_elf64_l1om_vec bfd_elf64_k1om_vec"
675    want64=true
676    ;;
677  x86_64-*-linux-*)
678    targ_defvec=bfd_elf64_x86_64_vec
679    targ_selvecs="bfd_elf32_i386_vec bfd_elf32_x86_64_vec i386linux_vec i386pei_vec x86_64pei_vec bfd_elf64_l1om_vec bfd_elf64_k1om_vec"
680    want64=true
681    ;;
682  x86_64-*-nacl*)
683    targ_defvec=bfd_elf32_x86_64_nacl_vec
684    targ_selvecs="bfd_elf32_i386_nacl_vec bfd_elf64_x86_64_nacl_vec bfd_elf32_bigarm_nacl_vec bfd_elf32_littlearm_nacl_vec"
685    targ_archs="$targ_archs bfd_arm_arch"
686    want64=true
687    ;;
688  x86_64-*-mingw* | x86_64-*-pe | x86_64-*-pep | x86_64-*-cygwin)
689    targ_defvec=x86_64pe_vec
690    targ_selvecs="x86_64pe_vec x86_64pei_vec bfd_elf64_x86_64_vec bfd_elf64_l1om_vec bfd_elf64_k1om_vec i386pe_vec i386pei_vec bfd_elf32_i386_vec"
691    want64=true
692    targ_underscore=no
693    ;;
694  x86_64-*-rdos*)
695    targ_defvec=bfd_elf64_x86_64_vec
696    want64=true
697    ;;
698#endif
699  i[3-7]86-*-lynxos*)
700    targ_defvec=bfd_elf32_i386_vec
701    targ_selvecs="i386lynx_coff_vec i386lynx_aout_vec"
702    ;;
703  i[3-7]86-*-gnu*)
704    targ_defvec=bfd_elf32_i386_vec
705    ;;
706  i[3-7]86-*-mach* | i[3-7]86-*-osf1mk*)
707    targ_defvec=i386mach3_vec
708    targ_cflags=-DSTAT_FOR_EXEC
709    targ_underscore=yes
710    ;;
711  i[3-7]86-*-os9k)
712    targ_defvec=i386os9k_vec
713    ;;
714  i[3-7]86-*-msdos*)
715    targ_defvec=i386aout_vec
716    targ_selvecs=i386msdos_vec
717    ;;
718  i[3-7]86-*-moss*)
719    targ_defvec=bfd_elf32_i386_vec
720    targ_selvecs="i386msdos_vec i386aout_vec"
721    ;;
722  i[3-7]86-*-beospe*)
723    targ_defvec=i386pe_vec
724    targ_selvecs="i386pe_vec i386pei_vec"
725    ;;
726  i[3-7]86-*-beoself* | i[3-7]86-*-beos*)
727    targ_defvec=bfd_elf32_i386_vec
728    targ_selvecs="i386pe_vec i386pei_vec"
729    ;;
730  i[3-7]86-*-interix*)
731    targ_defvec=i386pei_vec
732    targ_selvecs="i386pe_vec"
733    # FIXME: This should eventually be checked at runtime.
734    targ_cflags=-DSTRICT_PE_FORMAT
735    ;;
736  i[3-7]86-*-rdos*)
737    targ_defvec=bfd_elf32_i386_vec
738    targ_selvecs=i386coff_vec
739    ;;
740  i[3-7]86-*-mingw32* | i[3-7]86-*-cygwin* | i[3-7]86-*-winnt | i[3-7]86-*-pe)
741    targ_defvec=i386pe_vec
742    targ_selvecs="i386pe_vec i386pei_vec bfd_elf32_i386_vec"
743    targ_underscore=yes
744    ;;
745  i[3-7]86-none-*)
746    targ_defvec=i386coff_vec
747    ;;
748  i[3-7]86-*-aout* | i[3-7]86*-*-vsta*)
749    targ_defvec=i386aout_vec
750    ;;
751  i[3-7]86-*-vxworks*)
752    targ_defvec=bfd_elf32_i386_vxworks_vec
753    targ_underscore=yes
754    ;;
755  i[3-7]86-*-chaos)
756    targ_defvec=bfd_elf32_i386_vec
757    targ_selfvecs=i386chaos_vec
758    ;;
759
760  i860-*-mach3* | i860-*-osf1* | i860-*-coff*)
761    targ_defvec=i860coff_vec
762    ;;
763  i860-stardent-sysv4* | i860-stardent-elf*)
764    targ_defvec=bfd_elf32_i860_little_vec
765    targ_selvecs="bfd_elf32_i860_vec bfd_elf32_i860_little_vec"
766    ;;
767  i860-*-sysv4* | i860-*-elf*)
768    targ_defvec=bfd_elf32_i860_vec
769    ;;
770
771  i960-*-vxworks4* | i960-*-vxworks5.0)
772    targ_defvec=b_out_vec_little_host
773    targ_selvecs="b_out_vec_big_host icoff_little_vec icoff_big_vec ieee_vec"
774    targ_underscore=yes
775    ;;
776  i960-*-vxworks5.* | i960-*-coff* | i960-*-sysv*)
777    targ_defvec=icoff_little_vec
778    targ_selvecs="icoff_big_vec b_out_vec_little_host b_out_vec_big_host ieee_vec"
779    targ_underscore=yes
780    ;;
781  i960-*-vxworks* | i960-*-aout* | i960-*-bout* | i960-*-nindy*)
782    targ_defvec=b_out_vec_little_host
783    targ_selvecs="b_out_vec_big_host icoff_little_vec icoff_big_vec ieee_vec"
784    targ_underscore=yes
785    ;;
786  i960-*-elf*)
787    targ_defvec=bfd_elf32_i960_vec
788    targ_selvecs="icoff_little_vec icoff_big_vec"
789    ;;
790
791  ip2k-*-elf)
792    targ_defvec=bfd_elf32_ip2k_vec
793    ;;
794
795  iq2000-*-elf)
796    targ_defvec=bfd_elf32_iq2000_vec
797    ;;
798
799  lm32-*-elf | lm32-*-rtems*)
800    targ_defvec=bfd_elf32_lm32_vec
801    targ_selvecs=bfd_elf32_lm32fdpic_vec
802    ;;
803
804  lm32-*-*linux*)
805    targ_defvec=bfd_elf32_lm32fdpic_vec
806    targ_selvecs=bfd_elf32_lm32_vec
807    ;;
808
809  m32c-*-elf | m32c-*-rtems*)
810    targ_defvec=bfd_elf32_m32c_vec
811    ;;
812
813  m32r*le-*-linux*)
814    targ_defvec=bfd_elf32_m32rlelin_vec
815    targ_selvecs="bfd_elf32_m32rlin_vec  bfd_elf32_m32rlelin_vec"
816    ;;
817  m32r*-*-linux*)
818    targ_defvec=bfd_elf32_m32rlin_vec
819    targ_selvecs="bfd_elf32_m32rlin_vec  bfd_elf32_m32rlelin_vec"
820    ;;
821  m32r*le-*-*)
822    targ_defvec=bfd_elf32_m32rle_vec
823    targ_selvecs="bfd_elf32_m32r_vec bfd_elf32_m32rle_vec"
824    ;;
825  m32r-*-*)
826    targ_defvec=bfd_elf32_m32r_vec
827    ;;
828
829  m68hc11-*-* | m6811-*-*)
830    targ_defvec=bfd_elf32_m68hc11_vec
831    targ_selvecs="bfd_elf32_m68hc11_vec bfd_elf32_m68hc12_vec"
832    ;;
833  m68hc12-*-* | m6812-*-*)
834    targ_defvec=bfd_elf32_m68hc12_vec
835    targ_selvecs="bfd_elf32_m68hc11_vec bfd_elf32_m68hc12_vec"
836    ;;
837
838  m68*-motorola-sysv*)
839    targ_defvec=m68ksysvcoff_vec
840    ;;
841  m68*-hp-bsd*)
842    targ_defvec=hp300bsd_vec
843    targ_underscore=yes
844    ;;
845  m68*-*-aout*)
846    targ_defvec=aout0_big_vec
847    # We include cisco_core_big_vec here, rather than making a separate cisco
848    # configuration, so that cisco-core.c gets routinely tested at
849    # least for compilation.
850    targ_selvecs="cisco_core_big_vec ieee_vec"
851    targ_underscore=yes
852    ;;
853  m68*-*-elf* | m68*-*-sysv4* | m68*-*-uclinux*)
854    targ_defvec=bfd_elf32_m68k_vec
855    targ_selvecs="m68kcoff_vec ieee_vec"
856    ;;
857  m68*-*-rtems*)
858    targ_defvec=bfd_elf32_m68k_vec
859    targ_selvecs="m68kcoff_vec versados_vec ieee_vec aout0_big_vec"
860    ;;
861  m68*-*-coff* | m68*-*-sysv*)
862    targ_defvec=m68kcoff_vec
863    targ_selvecs="m68kcoff_vec versados_vec ieee_vec"
864    ;;
865  m68*-*-hpux*)
866    targ_defvec=hp300hpux_vec
867    targ_underscore=yes
868    ;;
869  m68*-*-linux*aout*)
870    targ_defvec=m68klinux_vec
871    targ_selvecs=bfd_elf32_m68k_vec
872    targ_underscore=yes
873    ;;
874  m68*-*-linux-*)
875    targ_defvec=bfd_elf32_m68k_vec
876    targ_selvecs=m68klinux_vec
877    ;;
878  m68*-*-gnu*)
879    targ_defvec=bfd_elf32_m68k_vec
880    # targ_selvecs=m68kmach3_vec
881    # targ_cflags=-DSTAT_FOR_EXEC
882    ;;
883  m68*-hp*-netbsd*)
884    targ_defvec=m68k4knetbsd_vec
885    targ_selvecs="m68knetbsd_vec hp300bsd_vec sunos_big_vec"
886    targ_underscore=yes
887    ;;
888  m68*-*-netbsdelf* | m5407-*-netbsdelf*)
889    targ_defvec=bfd_elf32_m68k_vec
890    targ_selvecs="m68knetbsd_vec m68k4knetbsd_vec hp300bsd_vec sunos_big_vec"
891    ;;
892  m68*-*-netbsdaout* | m68*-*-netbsd*)
893    targ_defvec=m68knetbsd_vec
894    targ_selvecs="m68k4knetbsd_vec bfd_elf32_m68k_vec hp300bsd_vec sunos_big_vec"
895    targ_underscore=yes
896    ;;
897  m68*-*-openbsd*)
898    targ_defvec=m68knetbsd_vec
899    targ_selvecs="m68k4knetbsd_vec hp300bsd_vec sunos_big_vec"
900    targ_underscore=yes
901    ;;
902  m68*-*-sunos* | m68*-*-os68k* | m68*-*-vxworks* | m68*-netx-* | \
903  m68*-*-bsd* | m68*-*-vsta*)
904    targ_defvec=sunos_big_vec
905    targ_underscore=yes
906    ;;
907  m68*-ericsson-*)
908    targ_defvec=sunos_big_vec
909    targ_selvecs="m68kcoff_vec versados_vec tekhex_vec"
910    targ_underscore=yes
911    ;;
912  m68*-cbm-*)
913    targ_defvec=bfd_elf32_m68k_vec
914    targ_selvecs=m68kcoff_vec
915    ;;
916  m68*-*-psos*)
917    targ_defvec=bfd_elf32_m68k_vec
918    targ_selvecs=ieee_vec
919    targ_underscore=yes
920    ;;
921
922  m88*-harris-cxux* | m88*-*-dgux* | m88*-*-sysv4*)
923    targ_defvec=bfd_elf32_m88k_vec
924    targ_selvecs=m88kbcs_vec
925    ;;
926  m88*-*-mach3*)
927    targ_defvec=m88kmach3_vec
928    targ_cflags=-DSTAT_FOR_EXEC
929    ;;
930  m88*-*-openbsd*)
931   targ_defvec=m88kopenbsd_vec
932   targ_underscore=yes
933   ;;
934  m88*-*-*)
935    targ_defvec=m88kbcs_vec
936    targ_underscore=yes
937    ;;
938
939  mcore-*-elf)
940    targ_defvec=bfd_elf32_mcore_big_vec
941    targ_selvecs="bfd_elf32_mcore_big_vec bfd_elf32_mcore_little_vec"
942    ;;
943  mcore-*-pe)
944    targ_defvec=mcore_pe_big_vec
945    targ_selvecs="mcore_pe_big_vec mcore_pe_little_vec mcore_pei_big_vec mcore_pei_little_vec"
946    ;;
947
948  mep-*-elf)
949    targ_defvec=bfd_elf32_mep_vec
950    targ_selvecs=bfd_elf32_mep_little_vec
951    ;;
952
953  metag-*-*)
954    targ_defvec=bfd_elf32_metag_vec
955    targ_underscore=yes
956    ;;
957
958  microblazeel*-*)
959    targ_defvec=bfd_elf32_microblazeel_vec
960    targ_selvecs=bfd_elf32_microblaze_vec
961    ;;
962
963  microblaze*-*)
964    targ_defvec=bfd_elf32_microblaze_vec
965    targ_selvecs=bfd_elf32_microblazeel_vec
966    ;;
967
968  mips*-big-*)
969    targ_defvec=ecoff_big_vec
970    targ_selvecs=ecoff_little_vec
971    ;;
972#ifdef BFD64
973  mips*el-*-netbsd*)
974    targ_defvec=bfd_elf32_tradlittlemips_vec
975    targ_selvecs="bfd_elf32_tradbigmips_vec bfd_elf32_ntradlittlemips_vec bfd_elf32_ntradbigmips_vec bfd_elf64_tradbigmips_vec bfd_elf64_tradlittlemips_vec ecoff_little_vec ecoff_big_vec"
976    ;;
977  mips*-*-netbsd*)
978    targ_defvec=bfd_elf32_tradbigmips_vec
979    targ_selvecs="bfd_elf32_tradlittlemips_vec bfd_elf32_ntradbigmips_vec bfd_elf32_ntradlittlemips_vec bfd_elf64_tradbigmips_vec bfd_elf64_tradlittlemips_vec ecoff_big_vec ecoff_little_vec"
980    ;;
981#endif
982  mips*-dec-* | mips*el-*-ecoff*)
983    targ_defvec=ecoff_little_vec
984    targ_selvecs=ecoff_big_vec
985    ;;
986  mips*-*-ecoff*)
987    targ_defvec=ecoff_big_vec
988    targ_selvecs=ecoff_little_vec
989    ;;
990#ifdef BFD64
991  mips*-*-irix6*)
992    targ_defvec=bfd_elf32_nbigmips_vec
993    targ_selvecs="bfd_elf32_nlittlemips_vec bfd_elf32_bigmips_vec bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec"
994    ;;
995  mips64*-ps2-elf*)
996    targ_defvec=bfd_elf32_nlittlemips_vec
997    targ_selvecs="bfd_elf32_nlittlemips_vec bfd_elf32_nbigmips_vec bfd_elf32_bigmips_vec bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec"
998    ;;
999  mips*-ps2-elf*)
1000    targ_defvec=bfd_elf32_littlemips_vec
1001    targ_selvecs="bfd_elf32_bigmips_vec bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec"
1002    ;;
1003  mips*-*-irix5*)
1004    targ_defvec=bfd_elf32_bigmips_vec
1005    targ_selvecs="bfd_elf32_littlemips_vec ecoff_big_vec ecoff_little_vec"
1006    ;;
1007#endif
1008  mips*-sgi-* | mips*-*-bsd*)
1009    targ_defvec=ecoff_big_vec
1010    targ_selvecs=ecoff_little_vec
1011    ;;
1012  mips*-*-lnews*)
1013    targ_defvec=ecoff_biglittle_vec
1014    targ_selvecs="ecoff_little_vec ecoff_big_vec"
1015    ;;
1016#ifdef BFD64
1017  mips*-*-sysv4*)
1018    targ_defvec=bfd_elf32_tradbigmips_vec
1019    targ_selvecs="bfd_elf32_tradlittlemips_vec ecoff_big_vec ecoff_little_vec"
1020    ;;
1021#endif
1022  mips*-*-sysv* | mips*-*-riscos*)
1023    targ_defvec=ecoff_big_vec
1024    targ_selvecs=ecoff_little_vec
1025    ;;
1026#ifdef BFD64
1027  mips*el-*-vxworks*)
1028    targ_defvec=bfd_elf32_littlemips_vxworks_vec
1029    targ_selvecs="bfd_elf32_littlemips_vec bfd_elf32_bigmips_vxworks_vec bfd_elf32_bigmips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec"
1030    ;;
1031  mips*-*-vxworks*)
1032    targ_defvec=bfd_elf32_bigmips_vxworks_vec
1033    targ_selvecs="bfd_elf32_bigmips_vec bfd_elf32_littlemips_vxworks_vec bfd_elf32_bigmips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec"
1034    ;;
1035  mips*el-sde-elf*)
1036    targ_defvec=bfd_elf32_tradlittlemips_vec
1037    targ_selvecs="bfd_elf32_tradbigmips_vec bfd_elf32_ntradbigmips_vec bfd_elf32_ntradlittlemips_vec bfd_elf64_tradbigmips_vec bfd_elf64_tradlittlemips_vec"
1038    ;;
1039  mips*-sde-elf* | mips*-mti-elf*)
1040    targ_defvec=bfd_elf32_tradbigmips_vec
1041    targ_selvecs="bfd_elf32_tradlittlemips_vec bfd_elf32_ntradbigmips_vec bfd_elf32_ntradlittlemips_vec bfd_elf64_tradbigmips_vec bfd_elf64_tradlittlemips_vec"
1042    ;;
1043  mips*el-*-elf* | mips*el-*-vxworks* | mips*-*-chorus*)
1044    targ_defvec=bfd_elf32_littlemips_vec
1045    targ_selvecs="bfd_elf32_bigmips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec"
1046    ;;
1047  mips*-*-elf* | mips*-*-rtems* | mips*-*-vxworks | mips*-*-windiss)
1048    targ_defvec=bfd_elf32_bigmips_vec
1049    targ_selvecs="bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec"
1050    ;;
1051  mips*-*-none)
1052    targ_defvec=bfd_elf32_bigmips_vec
1053    targ_selvecs="bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec"
1054    ;;
1055  mips64*-*-openbsd*)
1056    targ_defvec=bfd_elf64_tradbigmips_vec
1057    targ_selvecs="bfd_elf32_ntradlittlemips_vec bfd_elf32_ntradbigmips_vec bfd_elf32_tradlittlemips_vec bfd_elf32_tradbigmips_vec bfd_elf64_tradlittlemips_vec"
1058    ;;
1059  mips*el-*-openbsd*)
1060    targ_defvec=bfd_elf32_littlemips_vec
1061    targ_selvecs="bfd_elf32_bigmips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec ecoff_little_vec ecoff_big_vec"
1062    ;;
1063  mips*-*-openbsd*)
1064    targ_defvec=bfd_elf32_bigmips_vec
1065    targ_selvecs="bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec ecoff_big_vec ecoff_little_vec"
1066    ;;
1067  mips64*el-*-linux*)
1068    targ_defvec=bfd_elf32_ntradlittlemips_vec
1069    targ_selvecs="bfd_elf32_ntradbigmips_vec bfd_elf32_tradlittlemips_vec bfd_elf32_tradbigmips_vec bfd_elf64_tradlittlemips_vec bfd_elf64_tradbigmips_vec"
1070    ;;
1071  mips64*-*-linux*)
1072    targ_defvec=bfd_elf32_ntradbigmips_vec
1073    targ_selvecs="bfd_elf32_ntradlittlemips_vec bfd_elf32_tradbigmips_vec bfd_elf32_tradlittlemips_vec bfd_elf64_tradbigmips_vec bfd_elf64_tradlittlemips_vec"
1074    ;;
1075  mips*el-*-linux*)
1076    targ_defvec=bfd_elf32_tradlittlemips_vec
1077    targ_selvecs="bfd_elf32_tradbigmips_vec ecoff_little_vec ecoff_big_vec bfd_elf32_ntradlittlemips_vec bfd_elf64_tradlittlemips_vec bfd_elf32_ntradbigmips_vec bfd_elf64_tradbigmips_vec"
1078    ;;
1079  mips*-*-linux*)
1080    targ_defvec=bfd_elf32_tradbigmips_vec
1081    targ_selvecs="bfd_elf32_tradlittlemips_vec ecoff_big_vec ecoff_little_vec bfd_elf32_ntradbigmips_vec bfd_elf64_tradbigmips_vec bfd_elf32_ntradlittlemips_vec bfd_elf64_tradlittlemips_vec"
1082    ;;
1083  mips64*el-*-freebsd* | mips64*el-*-kfreebsd*-gnu)
1084    # FreeBSD vectors
1085    targ_defvec=bfd_elf32_ntradlittlemips_freebsd_vec
1086    targ_selvecs="bfd_elf32_ntradbigmips_freebsd_vec bfd_elf32_tradlittlemips_freebsd_vec bfd_elf32_tradbigmips_freebsd_vec bfd_elf64_tradlittlemips_freebsd_vec bfd_elf64_tradbigmips_freebsd_vec"
1087    # Generic vectors
1088    targ_selvecs="${targ_selvecs} bfd_elf32_ntradlittlemips_vec bfd_elf32_ntradbigmips_vec bfd_elf32_tradlittlemips_vec bfd_elf32_tradbigmips_vec bfd_elf64_tradlittlemips_vec bfd_elf64_tradbigmips_vec"
1089    ;;
1090  mips64*-*-freebsd* | mips64*-*-kfreebsd*-gnu)
1091    # FreeBSD vectors
1092    targ_defvec=bfd_elf32_ntradbigmips_freebsd_vec
1093    targ_selvecs="bfd_elf32_ntradlittlemips_freebsd_vec bfd_elf32_tradbigmips_freebsd_vec bfd_elf32_tradlittlemips_freebsd_vec bfd_elf64_tradbigmips_freebsd_vec bfd_elf64_tradlittlemips_freebsd_vec"
1094    # Generic vectors
1095    targ_selvecs="${targ_selvecs} bfd_elf32_ntradbigmips_vec bfd_elf32_ntradlittlemips_vec bfd_elf32_tradbigmips_vec bfd_elf32_tradlittlemips_vec bfd_elf64_tradbigmips_vec bfd_elf64_tradlittlemips_vec"
1096    ;;
1097  mips*el-*-freebsd* | mips*el-*-kfreebsd*-gnu)
1098    # FreeBSD vectors
1099    targ_defvec=bfd_elf32_tradlittlemips_freebsd_vec
1100    targ_selvecs="bfd_elf32_tradbigmips_freebsd_vec bfd_elf32_ntradlittlemips_freebsd_vec bfd_elf64_tradlittlemips_freebsd_vec bfd_elf32_ntradbigmips_freebsd_vec bfd_elf64_tradbigmips_freebsd_vec"
1101    # Generic vectors
1102    targ_selvecs="${targ_selvecs} bfd_elf32_tradlittlemips_vec bfd_elf32_tradbigmips_vec bfd_elf32_ntradlittlemips_vec bfd_elf64_tradlittlemips_vec bfd_elf32_ntradbigmips_vec bfd_elf64_tradbigmips_vec"
1103    ;;
1104  mips*-*-freebsd* | mips*-*-kfreebsd*-gnu)
1105    # FreeBSD vectors
1106    targ_defvec=bfd_elf32_tradbigmips_freebsd_vec
1107    targ_selvecs="bfd_elf32_tradlittlemips_freebsd_vec bfd_elf32_ntradbigmips_freebsd_vec bfd_elf64_tradbigmips_freebsd_vec bfd_elf32_ntradlittlemips_freebsd_vec bfd_elf64_tradlittlemips_freebsd_vec"
1108    # Generic vectors
1109    targ_selvecs="${targ_selvecs} bfd_elf32_tradbigmips_vec bfd_elf32_tradlittlemips_vec bfd_elf32_ntradbigmips_vec bfd_elf64_tradbigmips_vec bfd_elf32_ntradlittlemips_vec bfd_elf64_tradlittlemips_vec"
1110    ;;
1111  mmix-*-*)
1112    targ_defvec=bfd_elf64_mmix_vec
1113    targ_selvecs=bfd_mmo_vec
1114    want64=true
1115    ;;
1116#endif
1117  mn10200-*-*)
1118    targ_defvec=bfd_elf32_mn10200_vec
1119    ;;
1120
1121  mn10300-*-*)
1122    targ_defvec=bfd_elf32_mn10300_vec
1123    targ_underscore=yes
1124    ;;
1125
1126  mt-*-elf)
1127    targ_defvec=bfd_elf32_mt_vec
1128    ;;
1129
1130  msp430-*-*)
1131    targ_defvec=bfd_elf32_msp430_vec
1132    targ_selvecs=bfd_elf32_msp430_ti_vec
1133    ;;
1134
1135  nds32*le-*-linux*)
1136    targ_defvec=bfd_elf32_nds32lelin_vec
1137    targ_selvecs=bfd_elf32_nds32belin_vec
1138    ;;
1139
1140  nds32*be-*-linux*)
1141    targ_defvec=bfd_elf32_nds32belin_vec
1142    targ_selvecs=bfd_elf32_nds32lelin_vec
1143    ;;
1144
1145  nds32*le-*-*)
1146    targ_defvec=bfd_elf32_nds32le_vec
1147    targ_selvecs=bfd_elf32_nds32be_vec
1148    ;;
1149
1150  nds32*be-*-*)
1151    targ_defvec=bfd_elf32_nds32be_vec
1152    targ_selvecs=bfd_elf32_nds32le_vec
1153    ;;
1154
1155  ns32k-pc532-mach* | ns32k-pc532-ux*)
1156    targ_defvec=pc532machaout_vec
1157    targ_underscore=yes
1158    ;;
1159  ns32k-*-netbsd* | ns32k-*-lites* | ns32k-*-openbsd*)
1160    targ_defvec=pc532netbsd_vec
1161    targ_underscore=yes
1162    ;;
1163
1164  nios2eb-*-*)
1165    targ_defvec=bfd_elf32_bignios2_vec
1166    targ_selvecs=bfd_elf32_littlenios2_vec
1167    ;;
1168
1169  nios2el-*-*)
1170    targ_defvec=bfd_elf32_littlenios2_vec
1171    targ_selvecs=bfd_elf32_bignios2_vec
1172    ;;
1173
1174  nios2-*-*)
1175    targ_defvec=bfd_elf32_littlenios2_vec
1176    targ_selvecs=bfd_elf32_bignios2_vec
1177    ;;
1178
1179  openrisc-*-elf)
1180    targ_defvec=bfd_elf32_openrisc_vec
1181    ;;
1182
1183  or32-*-coff)
1184    targ_defvec=or32coff_big_vec
1185    targ_underscore=yes
1186    ;;
1187
1188  or32-*-elf)
1189    targ_defvec=bfd_elf32_or32_big_vec
1190    ;;
1191
1192  pdp11-*-*)
1193    targ_defvec=pdp11_aout_vec
1194    targ_underscore=yes
1195    ;;
1196
1197  pj-*-*)
1198    targ_defvec=bfd_elf32_pj_vec
1199    targ_selvecs="bfd_elf32_pj_vec bfd_elf32_pjl_vec"
1200    ;;
1201
1202  pjl-*-*)
1203    targ_defvec=bfd_elf32_pjl_vec
1204    targ_selvecs="bfd_elf32_pjl_vec bfd_elf32_pj_vec bfd_elf32_i386_vec"
1205    ;;
1206
1207  powerpc-*-aix5.[01] | rs6000-*-aix5.[01])
1208    targ_defvec=rs6000coff_vec
1209    targ_selvecs="aix5coff64_vec"
1210    want64=true
1211    ;;
1212#ifdef BFD64
1213  powerpc64-*-aix5.[01] | rs6000-*-aix5.[01])
1214    targ_defvec=aix5coff64_vec
1215    targ_selvecs="rs6000coff_vec"
1216    want64=true
1217    ;;
1218#endif
1219  powerpc-*-aix[5-9]* | rs6000-*-aix[5-9]*)
1220    targ_cflags=-DAIX_WEAK_SUPPORT
1221    targ_defvec=rs6000coff_vec
1222    targ_selvecs="aix5coff64_vec"
1223    want64=true
1224    ;;
1225#ifdef BFD64
1226  powerpc64-*-aix[5-9]* | rs6000-*-aix[5-9]*)
1227    targ_cflags=-DAIX_WEAK_SUPPORT
1228    targ_defvec=aix5coff64_vec
1229    targ_selvecs="rs6000coff_vec"
1230    want64=true
1231    ;;
1232#endif
1233
1234  powerpc-*-aix* | powerpc-*-beos* | rs6000-*-*)
1235    targ_defvec=rs6000coff_vec
1236    targ64_selvecs=rs6000coff64_vec
1237    case "${targ}" in
1238	*-*-aix4.[3456789]* | *-*-aix[56789]*)
1239	want64=true;;
1240	*)
1241	targ_cflags=-DSMALL_ARCHIVE;;
1242    esac
1243    ;;
1244#ifdef BFD64
1245  powerpc64-*-aix*)
1246    targ_defvec=rs6000coff64_vec
1247    targ_selvecs=rs6000coff_vec
1248    want64=true
1249    ;;
1250  powerpc64-*-freebsd*)
1251    targ_defvec=bfd_elf64_powerpc_freebsd_vec
1252    targ_selvecs="bfd_elf64_powerpc_vec bfd_elf32_powerpc_vec bfd_elf32_powerpc_freebsd_vec bfd_elf32_powerpcle_vec rs6000coff_vec rs6000coff64_vec aix5coff64_vec"
1253    want64=true
1254    ;;
1255  powerpc64-*-elf* | powerpc-*-elf64* | powerpc64-*-linux* | \
1256  powerpc64-*-*bsd*)
1257    targ_defvec=bfd_elf64_powerpc_vec
1258    targ_selvecs="bfd_elf64_powerpcle_vec bfd_elf32_powerpc_vec bfd_elf32_powerpcle_vec rs6000coff_vec rs6000coff64_vec aix5coff64_vec"
1259    want64=true
1260    ;;
1261  powerpc64le-*-elf* | powerpcle-*-elf64* | powerpc64le-*-linux* | \
1262  powerpc64le-*-*bsd*)
1263    targ_defvec=bfd_elf64_powerpcle_vec
1264    targ_selvecs="bfd_elf64_powerpc_vec bfd_elf32_powerpcle_vec bfd_elf32_powerpc_vec rs6000coff_vec rs6000coff64_vec aix5coff64_vec"
1265    want64=true
1266    ;;
1267#endif
1268  powerpc-*-*freebsd*)
1269    targ_defvec=bfd_elf32_powerpc_freebsd_vec
1270    targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec bfd_elf32_powerpcle_vec ppcboot_vec"
1271    targ64_selvecs="bfd_elf64_powerpc_vec bfd_elf64_powerpcle_vec bfd_elf64_powerpc_freebsd_vec"
1272    ;;
1273  powerpc-*-*bsd* | powerpc-*-elf* | powerpc-*-sysv4* | powerpc-*-eabi* | \
1274  powerpc-*-solaris2* | powerpc-*-linux-* | powerpc-*-rtems* | \
1275  powerpc-*-chorus*)
1276    targ_defvec=bfd_elf32_powerpc_vec
1277    targ_selvecs="rs6000coff_vec bfd_elf32_powerpcle_vec ppcboot_vec"
1278    targ64_selvecs="bfd_elf64_powerpc_vec bfd_elf64_powerpcle_vec"
1279    ;;
1280  powerpc-*-kaos*)
1281    targ_defvec=bfd_elf32_powerpc_vec
1282    targ_selvecs="bfd_elf32_powerpcle_vec ppcboot_vec"
1283    targ64_selvecs="bfd_elf64_powerpc_vec bfd_elf64_powerpcle_vec"
1284    ;;
1285  powerpc-*-darwin* | powerpc-*-macos10* | powerpc-*-rhapsody*)
1286    targ_defvec=mach_o_be_vec
1287    targ_selvecs="mach_o_be_vec mach_o_le_vec mach_o_fat_vec pef_vec pef_xlib_vec sym_vec"
1288    targ_archs="$targ_archs bfd_i386_arch"
1289    ;;
1290  powerpc-*-macos*)
1291    targ_defvec=pmac_xcoff_vec
1292    ;;
1293  powerpc-*-lynxos*)
1294    targ_defvec=bfd_elf32_powerpc_vec
1295    targ_selvecs="rs6000coff_vec"
1296    targ_cflags=-DSMALL_ARCHIVE
1297    ;;
1298  powerpc-*-netware*)
1299    targ_defvec=bfd_elf32_powerpc_vec
1300    targ_selvecs="nlm32_powerpc_vec rs6000coff_vec"
1301    ;;
1302  powerpc-*-nto*)
1303    targ_defvec=bfd_elf32_powerpc_vec
1304    targ_selvecs="rs6000coff_vec bfd_elf32_powerpcle_vec ppcboot_vec"
1305    ;;
1306  powerpc-*-vxworks* | powerpc-*-windiss*)
1307    targ_defvec=bfd_elf32_powerpc_vxworks_vec
1308    targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec bfd_elf32_powerpcle_vec ppcboot_vec"
1309    targ64_selvecs="bfd_elf64_powerpc_vec bfd_elf64_powerpcle_vec"
1310    ;;
1311  powerpcle-*-nto*)
1312    targ_defvec=bfd_elf32_powerpcle_vec
1313    targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec"
1314    ;;
1315  powerpcle-*-elf* | powerpcle-*-sysv4* | powerpcle-*-eabi* | \
1316  powerpcle-*-solaris2* | powerpcle-*-linux-* | powerpcle-*-vxworks*)
1317    targ_defvec=bfd_elf32_powerpcle_vec
1318    targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec"
1319    targ64_selvecs="bfd_elf64_powerpc_vec bfd_elf64_powerpcle_vec"
1320    ;;
1321  powerpcle-*-pe | powerpcle-*-winnt* | powerpcle-*-cygwin*)
1322    targ_defvec=bfd_powerpcle_pe_vec
1323    targ_selvecs="bfd_powerpcle_pei_vec bfd_powerpc_pei_vec bfd_powerpcle_pe_vec bfd_powerpc_pe_vec"
1324    ;;
1325
1326  rl78-*-elf)
1327    targ_defvec=bfd_elf32_rl78_vec
1328    ;;
1329
1330  rx-*-elf)
1331    targ_defvec=bfd_elf32_rx_le_vec
1332    targ_selvecs="bfd_elf32_rx_be_vec bfd_elf32_rx_le_vec bfd_elf32_rx_be_ns_vec"
1333    ;;
1334
1335  s390-*-linux*)
1336    targ_defvec=bfd_elf32_s390_vec
1337    targ64_selvecs=bfd_elf64_s390_vec
1338    want64=true
1339    ;;
1340#ifdef BFD64
1341  s390x-*-linux*)
1342    targ_defvec=bfd_elf64_s390_vec
1343    targ_selvecs=bfd_elf32_s390_vec
1344    want64=true
1345    ;;
1346  s390x-*-tpf*)
1347    targ_defvec=bfd_elf64_s390_vec
1348    want64=true
1349    ;;
1350
1351  score*-*-elf*)
1352    targ_defvec=bfd_elf32_bigscore_vec
1353    targ_selvecs=bfd_elf32_littlescore_vec
1354    ;;
1355
1356  sh64l*-*-elf*)
1357    targ_defvec=bfd_elf32_sh64l_vec
1358    targ_selvecs="bfd_elf32_sh64_vec bfd_elf64_sh64l_vec bfd_elf64_sh64_vec bfd_elf32_shl_vec bfd_elf32_sh_vec"
1359    targ_underscore=yes
1360    want64=true
1361    ;;
1362  sh64-*-elf*)
1363    targ_defvec=bfd_elf32_sh64_vec
1364    targ_selvecs="bfd_elf32_sh64l_vec bfd_elf64_sh64_vec bfd_elf64_sh64l_vec bfd_elf32_sh_vec bfd_elf32_shl_vec"
1365    targ_underscore=yes
1366    want64=true
1367    ;;
1368  sh64eb-*-linux*)
1369    targ_defvec=bfd_elf32_sh64blin_vec
1370    targ_selvecs="bfd_elf32_sh64lin_vec bfd_elf64_sh64blin_vec bfd_elf64_sh64lin_vec bfd_elf32_shblin_vec bfd_elf32_shlin_vec"
1371    want64=true
1372    ;;
1373  sh64-*-linux*)
1374    targ_defvec=bfd_elf32_sh64lin_vec
1375    targ_selvecs="bfd_elf32_sh64blin_vec bfd_elf64_sh64lin_vec bfd_elf64_sh64blin_vec bfd_elf32_shlin_vec bfd_elf32_shblin_vec"
1376    want64=true
1377    ;;
1378  sh-*-linux*)
1379    targ_defvec=bfd_elf32_shblin_vec
1380    targ_selvecs="bfd_elf32_shlin_vec bfd_elf32_sh64lin_vec bfd_elf32_sh64blin_vec bfd_elf64_sh64lin_vec bfd_elf64_sh64blin_vec"
1381    want64=true
1382    ;;
1383#endif /* BFD64 */
1384
1385  sh*eb-*-linux*)
1386    targ_defvec=bfd_elf32_shblin_vec
1387    targ_selvecs=bfd_elf32_shlin_vec
1388    ;;
1389  sh*-*-linux*)
1390    targ_defvec=bfd_elf32_shlin_vec
1391    targ_selvecs=bfd_elf32_shblin_vec
1392    ;;
1393
1394  sh-*-uclinux* | sh[12]-*-uclinux*)
1395    targ_defvec=bfd_elf32_sh_vec
1396    targ_selvecs="bfd_elf32_shl_vec bfd_elf32_shblin_vec bfd_elf32_shlin_vec bfd_elf32_shfd_vec bfd_elf32_shbfd_vec"
1397#ifdef BFD64
1398    targ_selvecs="${targ_selvecs} bfd_elf32_sh64lin_vec bfd_elf32_sh64blin_vec bfd_elf64_sh64lin_vec bfd_elf64_sh64blin_vec"
1399#endif
1400    ;;
1401
1402#ifdef BFD64
1403  sh5le-*-netbsd*)
1404    targ_defvec=bfd_elf32_sh64lnbsd_vec
1405    targ_selvecs="bfd_elf32_sh64nbsd_vec bfd_elf64_sh64lnbsd_vec bfd_elf64_sh64nbsd_vec bfd_elf32_shnbsd_vec bfd_elf32_shlnbsd_vec"
1406    want64=true
1407    ;;
1408  sh5-*-netbsd*)
1409    targ_defvec=bfd_elf32_sh64nbsd_vec
1410    targ_selvecs="bfd_elf32_sh64lnbsd_vec bfd_elf64_sh64lnbsd_vec bfd_elf64_sh64nbsd_vec bfd_elf32_shnbsd_vec bfd_elf32_shlnbsd_vec"
1411    want64=true
1412    ;;
1413
1414  sh64le-*-netbsd*)
1415    targ_defvec=bfd_elf64_sh64lnbsd_vec
1416    targ_selvecs="bfd_elf64_sh64nbsd_vec bfd_elf32_sh64lnbsd_vec bfd_elf32_sh64nbsd_vec bfd_elf32_shnbsd_vec bfd_elf32_shlnbsd_vec"
1417    want64=true
1418    ;;
1419  sh64-*-netbsd*)
1420    targ_defvec=bfd_elf64_sh64nbsd_vec
1421    targ_selvecs="bfd_elf64_sh64lnbsd_vec bfd_elf32_sh64lnbsd_vec bfd_elf32_sh64nbsd_vec bfd_elf32_shnbsd_vec bfd_elf32_shlnbsd_vec"
1422    want64=true
1423    ;;
1424
1425  sh*l*-*-netbsdelf*)
1426    targ_defvec=bfd_elf32_shlnbsd_vec
1427    targ_selvecs="bfd_elf32_shnbsd_vec shcoff_vec shlcoff_vec bfd_elf32_sh64lnbsd_vec bfd_elf32_sh64nbsd_vec bfd_elf64_sh64lnbsd_vec bfd_elf64_sh64nbsd_vec"
1428    want64=true
1429    ;;
1430  sh-*-netbsdelf*)
1431    targ_defvec=bfd_elf32_shnbsd_vec
1432    targ_selvecs="bfd_elf32_shlnbsd_vec shcoff_vec shlcoff_vec bfd_elf32_sh64lnbsd_vec bfd_elf32_sh64nbsd_vec bfd_elf64_sh64lnbsd_vec bfd_elf64_sh64nbsd_vec"
1433    want64=true
1434    ;;
1435#endif
1436
1437  sh*-*-netbsdelf*)
1438    targ_defvec=bfd_elf32_shnbsd_vec
1439    targ_selvecs="bfd_elf32_shlnbsd_vec shcoff_vec shlcoff_vec"
1440    ;;
1441  sh*-*-symbianelf*)
1442    targ_defvec=bfd_elf32_shl_symbian_vec
1443    targ_selvecs="shlcoff_vec shlcoff_small_vec"
1444    targ_underscore=yes
1445    ;;
1446
1447#ifdef BFD64
1448  shl*-*-elf* | sh[1234]l*-*-elf* | sh3el*-*-elf* | shl*-*-kaos*)
1449    targ_defvec=bfd_elf32_shl_vec
1450    targ_selvecs="bfd_elf32_sh_vec shlcoff_vec shcoff_vec shlcoff_small_vec shcoff_small_vec bfd_elf32_sh64_vec bfd_elf32_sh64l_vec bfd_elf64_sh64_vec bfd_elf64_sh64l_vec"
1451    targ_underscore=yes
1452    want64=true
1453    ;;
1454#endif
1455
1456  sh-*-rtemscoff*)
1457    targ_defvec=shcoff_vec
1458    targ_selvecs="shcoff_vec shlcoff_vec shcoff_small_vec shlcoff_small_vec"
1459    targ_underscore=yes
1460    ;;
1461
1462#ifdef BFD64
1463  sh-*-elf* | sh[1234]*-elf* | sh-*-rtems* | sh-*-kaos*)
1464    targ_defvec=bfd_elf32_sh_vec
1465    targ_selvecs="bfd_elf32_shl_vec shcoff_vec shlcoff_vec shcoff_small_vec shlcoff_small_vec bfd_elf32_sh64_vec bfd_elf32_sh64l_vec bfd_elf64_sh64_vec bfd_elf64_sh64l_vec"
1466    targ_underscore=yes
1467    want64=true
1468    ;;
1469#endif
1470
1471  sh-*-nto*)
1472    targ_defvec=bfd_elf32_sh_vec
1473    targ_selvecs="bfd_elf32_shl_vec shcoff_vec shlcoff_vec shcoff_small_vec shlcoff_small_vec"
1474    targ_underscore=yes
1475    ;;
1476  sh*-*-openbsd*)
1477    targ_defvec=bfd_elf32_shlnbsd_vec
1478    targ_selvecs="bfd_elf32_shnbsd_vec shcoff_vec shlcoff_vec"
1479    ;;
1480  sh-*-pe)
1481    targ_defvec=shlpe_vec
1482    targ_selvecs="shlpe_vec shlpei_vec"
1483    targ_underscore=yes
1484    ;;
1485  sh-*-vxworks)
1486    targ_defvec=bfd_elf32_shvxworks_vec
1487    targ_selvecs="bfd_elf32_shlvxworks_vec"
1488    # FIXME None of the following are actually used on this target, but
1489    # they're necessary for coff-sh.c (which is unconditionally used) to be
1490    # compiled correctly.
1491    targ_selvecs="$targ_selvecs shcoff_vec shlcoff_vec shcoff_small_vec shlcoff_small_vec"
1492    targ_underscore=yes
1493    ;;
1494  sh-*-*)
1495    targ_defvec=shcoff_vec
1496    targ_selvecs="shcoff_vec shlcoff_vec shcoff_small_vec shlcoff_small_vec"
1497    targ_underscore=yes
1498    ;;
1499
1500  sparclet-*-aout*)
1501    targ_defvec=sunos_big_vec
1502    targ_selvecs=sparcle_aout_vec
1503    targ_underscore=yes
1504    ;;
1505  sparc86x-*-aout*)
1506    targ_defvec=sunos_big_vec
1507    targ_underscore=yes
1508    ;;
1509  sparclite-*-elf* | sparc86x-*-elf*)
1510    targ_defvec=bfd_elf32_sparc_vec
1511    ;;
1512  sparc*-*-chorus*)
1513    targ_defvec=bfd_elf32_sparc_vec
1514    ;;
1515  sparc-*-linux*aout*)
1516    targ_defvec=sparclinux_vec
1517    targ_selvecs="bfd_elf32_sparc_vec sunos_big_vec"
1518    targ_underscore=yes
1519    ;;
1520  sparc-*-linux-* | sparcv*-*-linux-*)
1521    targ_defvec=bfd_elf32_sparc_vec
1522    targ_selvecs="sparclinux_vec bfd_elf64_sparc_vec sunos_big_vec"
1523    ;;
1524  sparc-*-netbsdelf*)
1525    targ_defvec=bfd_elf32_sparc_vec
1526    targ_selvecs=sparcnetbsd_vec
1527    ;;
1528  sparc-*-netbsdaout* | sparc-*-netbsd*)
1529    targ_defvec=sparcnetbsd_vec
1530    targ_selvecs=bfd_elf32_sparc_vec
1531    targ_underscore=yes
1532    ;;
1533  sparc-*-openbsd[0-2].* | sparc-*-openbsd3.[0-1])
1534    targ_defvec=sparcnetbsd_vec
1535    targ_underscore=yes
1536    ;;
1537  sparc-*-openbsd*)
1538    targ_defvec=bfd_elf32_sparc_vec
1539    targ_selvecs=sparcnetbsd_vec
1540    ;;
1541  sparc-*-elf*)
1542    targ_defvec=bfd_elf32_sparc_vec
1543    targ_selvecs=sunos_big_vec
1544    ;;
1545  sparc-*-solaris2.[0-6] | sparc-*-solaris2.[0-6].*)
1546    targ_defvec=bfd_elf32_sparc_sol2_vec
1547    targ_selvecs=sunos_big_vec
1548    ;;
1549#ifdef BFD64
1550  sparc-*-solaris2* | sparcv9-*-solaris2* | sparc64-*-solaris2*)
1551    targ_defvec=bfd_elf32_sparc_sol2_vec
1552    targ_selvecs="bfd_elf64_sparc_sol2_vec sunos_big_vec"
1553    want64=true
1554    ;;
1555#endif
1556  sparc-*-sysv4*)
1557    targ_defvec=bfd_elf32_sparc_vec
1558    ;;
1559  sparc-*-vxworks*)
1560    targ_defvec=bfd_elf32_sparc_vxworks_vec
1561    targ_selvecs="bfd_elf32_sparc_vec sunos_big_vec"
1562    ;;
1563  sparc-*-netware*)
1564    targ_defvec=bfd_elf32_sparc_vec
1565    targ_selvecs="nlm32_sparc_vec sunos_big_vec"
1566    ;;
1567#ifdef BFD64
1568  sparc64-*-aout*)
1569    targ_defvec=sunos_big_vec
1570    targ_underscore=yes
1571    want64=true
1572    ;;
1573  sparc64*-*-linux-*)
1574    targ_defvec=bfd_elf64_sparc_vec
1575    targ_selvecs="bfd_elf32_sparc_vec sparclinux_vec sunos_big_vec"
1576    want64=true
1577    ;;
1578  sparc64-*-elf* | sparc64-*-rtems* )
1579    targ_defvec=bfd_elf64_sparc_vec
1580    targ_selvecs=bfd_elf32_sparc_vec
1581    want64=true
1582    ;;
1583#endif /* BFD64 */
1584  sparc*-*-coff*)
1585    targ_defvec=sparccoff_vec
1586    ;;
1587  sparc-*-rtems*)
1588    targ_defvec=bfd_elf32_sparc_vec
1589    targ_selvecs="sunos_big_vec sparccoff_vec"
1590    ;;
1591  sparc*-*-*)
1592    targ_defvec=sunos_big_vec
1593    targ_underscore=yes
1594    ;;
1595
1596  spu-*-elf)
1597    targ_defvec=bfd_elf32_spu_vec
1598    want64=true
1599    ;;
1600
1601#if HAVE_host_aout_vec
1602  tahoe-*-*)
1603    targ_defvec=host_aout_vec
1604    targ_underscore=yes
1605    ;;
1606#endif
1607
1608  tic6x-*-elf)
1609    targ_defvec=bfd_elf32_tic6x_elf_le_vec
1610    targ_selvecs="bfd_elf32_tic6x_elf_be_vec bfd_elf32_tic6x_le_vec bfd_elf32_tic6x_be_vec"
1611    ;;
1612
1613  tic6x-*-uclinux)
1614    targ_defvec=bfd_elf32_tic6x_linux_le_vec
1615    targ_selvecs="bfd_elf32_tic6x_linux_be_vec bfd_elf32_tic6x_le_vec bfd_elf32_tic6x_be_vec"
1616    ;;
1617
1618  tic80*-*-*)
1619    targ_defvec=tic80coff_vec
1620    targ_underscore=yes
1621    ;;
1622
1623#ifdef BFD64
1624  tilegx-*-*)
1625    targ_defvec=bfd_elf64_tilegx_le_vec
1626    targ_selvecs="bfd_elf64_tilegx_be_vec bfd_elf32_tilegx_be_vec bfd_elf32_tilegx_le_vec"
1627    ;;
1628  tilegxbe-*-*)
1629    targ_defvec=bfd_elf64_tilegx_be_vec
1630    targ_selvecs="bfd_elf64_tilegx_le_vec bfd_elf32_tilegx_be_vec bfd_elf32_tilegx_le_vec"
1631    ;;
1632#endif
1633
1634  tilepro-*-*)
1635    targ_defvec=bfd_elf32_tilepro_vec
1636    ;;
1637
1638  v850*-*-*)
1639    targ_defvec=bfd_elf32_v850_vec
1640    targ_selvecs="bfd_elf32_v850_rh850_vec"
1641    ;;
1642
1643  vax-*-netbsdelf*)
1644    targ_defvec=bfd_elf32_vax_vec
1645    targ_selvecs="vaxnetbsd_vec vax1knetbsd_vec"
1646    ;;
1647
1648  vax-*-netbsdaout* | vax-*-netbsd*)
1649    targ_defvec=vaxnetbsd_vec
1650    targ_selvecs="bfd_elf32_vax_vec vax1knetbsd_vec"
1651    targ_underscore=yes
1652    ;;
1653
1654  vax-*-bsd* | vax-*-ultrix*)
1655    targ_defvec=vaxbsd_vec
1656    targ_underscore=yes
1657    ;;
1658
1659  vax-*-openbsd*)
1660    targ_defvec=vaxnetbsd_vec
1661    targ_underscore=yes
1662    ;;
1663
1664  vax-*-linux-*)
1665    targ_defvec=bfd_elf32_vax_vec
1666    ;;
1667
1668  we32k-*-*)
1669    targ_defvec=we32kcoff_vec
1670    ;;
1671
1672  w65-*-*)
1673    targ_defvec=w65_vec
1674    ;;
1675    
1676  xgate-*-*)
1677    targ_defvec=bfd_elf32_xgate_vec
1678    targ_selvecs="bfd_elf32_xgate_vec"
1679    ;;
1680 	
1681  xstormy16-*-elf)
1682    targ_defvec=bfd_elf32_xstormy16_vec
1683    ;;
1684
1685  xtensa*-*-*)
1686    targ_defvec=bfd_elf32_xtensa_le_vec
1687    targ_selvecs=bfd_elf32_xtensa_be_vec
1688    ;;
1689 xc16x-*-elf)
1690    targ_defvec=bfd_elf32_xc16x_vec
1691    ;;
1692
1693  z80-*-*)
1694    targ_defvec=z80coff_vec
1695    targ_underscore=no
1696    ;;
1697
1698  z8k*-*-*)
1699    targ_defvec=z8kcoff_vec
1700    targ_underscore=yes
1701    ;;
1702
1703  *-*-ieee*)
1704    targ_defvec=ieee_vec
1705    ;;
1706
1707  *-adobe-*)
1708    targ_defvec=a_out_adobe_vec
1709    targ_underscore=yes
1710    ;;
1711
1712  *-sony-*)
1713    targ_defvec=newsos3_vec
1714    targ_underscore=yes
1715    ;;
1716
1717  *-tandem-*)
1718    targ_defvec=m68kcoff_vec
1719    targ_selvecs=ieee_vec
1720    ;;
1721# END OF targmatch.h
1722  *)
1723    echo 1>&2 "*** BFD does not support target ${targ}."
1724    echo 1>&2 "*** Look in bfd/config.bfd for supported targets."
1725    exit 1
1726    ;;
1727esac
1728
1729# All MIPS ELF targets need a 64-bit bfd_vma.
1730case "${targ_defvec} ${targ_selvecs}" in
1731  *elf*mips*)
1732    want64=true
1733    ;;
1734esac
1735
1736case "${host64}${want64}" in
1737  *true*)
1738    targ_selvecs="${targ_selvecs} ${targ64_selvecs}"
1739    ;;
1740esac
1741
1742# If we support any ELF target, then automatically add support for the
1743# generic ELF targets.  This permits an objdump with some ELF support
1744# to be used on an arbitrary ELF file for anything other than
1745# relocation information.
1746case "${targ_defvec} ${targ_selvecs}" in
1747  *bfd_elf64* | *bfd_elf32_n*mips*)
1748    targ_selvecs="${targ_selvecs} bfd_elf64_little_generic_vec bfd_elf64_big_generic_vec bfd_elf32_little_generic_vec bfd_elf32_big_generic_vec"
1749    ;;
1750  *bfd_elf32*)
1751    targ_selvecs="${targ_selvecs} bfd_elf32_little_generic_vec bfd_elf32_big_generic_vec"
1752    ;;
1753esac
1754
1755# If we support Intel L1OM target, then add support for bfd_l1om_arch.
1756case "${targ_defvec} ${targ_selvecs}" in
1757  *bfd_elf64_l1om_vec*)
1758    targ_archs="$targ_archs bfd_l1om_arch"
1759    ;;
1760esac
1761
1762# If we support Intel K1OM target, then add support for bfd_k1om_arch.
1763case "${targ_defvec} ${targ_selvecs}" in
1764  *bfd_elf64_k1om_vec*)
1765    targ_archs="$targ_archs bfd_k1om_arch"
1766    ;;
1767esac
1768