config.bfd revision 68765
1# config.bfd
2# Convert a canonical host type into a BFD host type.
3# Set shell variable targ to canonical target name, and run
4# using ``. config.bfd''.
5# Sets the following shell variables:
6#  targ_defvec		Default vector for this target
7#  targ_selvecs		Vectors to build for this target
8#  targ_archs		Architectures for this target
9#  targ_cflags		$(CFLAGS) for this target (FIXME: pretty bogus)
10#  targ_underscore	Whether underscores are used: yes or no
11
12# Part of this file is processed by targmatch.sed to generate the
13# targmatch.h file.  The #ifdef and #endif lines that appear below are
14# copied directly into targmatch.h.
15
16# The binutils c++filt program wants to know whether underscores are
17# stripped or not.  That is why we set targ_underscore.  c++filt uses
18# this information to choose a default.  This information is
19# duplicated in the symbol_leading_char field of the BFD target
20# vector, but c++filt does not deal with object files and is not
21# linked against libbfd.a.  It is not terribly important that c++filt
22# get this right; it is just convenient.
23
24targ_defvec=
25targ_selvecs=
26targ_cflags=
27targ_underscore=no
28
29targ_cpu=`echo $targ | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
30case "${targ_cpu}" in
31alpha*) targ_archs=bfd_alpha_arch ;;
32arm*)	targ_archs=bfd_arm_arch ;;
33strongarm*) targ_archs=bfd_arm_arch ;;
34thumb*)	targ_archs=bfd_arm_arch ;;
35c30*)	targ_archs=bfd_tic30_arch ;;
36hppa*)	targ_archs=bfd_hppa_arch ;;
37i[3456]86) targ_archs=bfd_i386_arch ;;
38i370)   targ_archs=bfd_i370_arch ;;
39m68*)	targ_archs=bfd_m68k_arch ;;
40m88*)	targ_archs=bfd_m88k_arch ;;
41mips*)	targ_archs=bfd_mips_arch ;;
42pj*)	targ_archs="bfd_pj_arch bfd_i386_arch";;
43powerpc*) targ_archs="bfd_rs6000_arch bfd_powerpc_arch" ;;
44rs6000)	targ_archs="bfd_rs6000_arch bfd_powerpc_arch" ;;
45sparc*) targ_archs=bfd_sparc_arch ;;
46v850*)	targ_archs=bfd_v850_arch ;;
47z8k*)	targ_archs=bfd_z8k_arch ;;
48*)	targ_archs=bfd_${targ_cpu}_arch ;;
49esac
50
51
52# WHEN ADDING ENTRIES TO THIS MATRIX:
53#  Make sure that the left side always has two dashes.  Otherwise you
54#  can get spurious matches.  Even for unambiguous cases, do this as a
55#  convention, else the table becomes a real mess to understand and maintain.
56
57case "${targ}" in
58# START OF targmatch.h
59#ifdef BFD64
60  alpha*-*-netbsd* | alpha*-*-freebsd*)
61    targ_defvec=bfd_elf64_alpha_vec
62    targ_selvecs=ecoffalpha_little_vec
63    ;;
64  alpha*-*-netware*)
65    targ_defvec=ecoffalpha_little_vec
66    targ_selvecs=nlm32_alpha_vec
67    ;;
68  alpha*-*-linuxecoff*)
69    targ_defvec=ecoffalpha_little_vec
70    targ_selvecs=bfd_elf64_alpha_vec
71    ;;
72  alpha*-*-linux-gnu* | alpha*-*-elf*)
73    targ_defvec=bfd_elf64_alpha_vec
74    targ_selvecs=ecoffalpha_little_vec
75    ;;
76  alpha*-*-*vms*)
77    targ_defvec=vms_alpha_vec
78    ;;
79  alpha*-*-*)
80    targ_defvec=ecoffalpha_little_vec
81    ;;
82  sparc64-*-netbsd*)
83    targ_defvec=bfd_elf64_sparc_vec
84    targ_selvecs="bfd_elf32_sparc_vec sunos_big_vec"
85    ;;
86#endif /* BFD64 */
87
88  arc-*-elf*)
89    targ_defvec=bfd_elf32_littlearc_vec
90    targ_selvecs=bfd_elf32_bigarc_vec
91    ;;
92
93  arm-*-netbsd*)
94    targ_defvec=armnetbsd_vec
95    targ_underscore=yes
96    ;;
97  arm-*-riscix*)
98    targ_defvec=riscix_vec
99    ;;
100  arm-epoc-pe*)
101    targ_defvec=arm_epoc_pe_little_vec
102    targ_selvecs="arm_epoc_pe_little_vec arm_epoc_pe_big_vec arm_epoc_pei_little_vec arm_epoc_pei_big_vec"
103    targ_underscore=no
104    ;;
105  arm-wince-pe | arm-*-wince)
106    targ_defvec=armpe_little_vec
107    targ_selvecs="armpe_little_vec armpe_big_vec armpei_little_vec armpei_big_vec"
108    targ_underscore=no
109    targ_cflags=-DARM_WINCE
110    ;;
111  arm-*-pe*)
112    targ_defvec=armpe_little_vec
113    targ_selvecs="armpe_little_vec armpe_big_vec armpei_little_vec armpei_big_vec"
114    targ_underscore=yes
115    ;;
116  arm-*-aout | armel-*-aout)	
117    targ_defvec=aout_arm_little_vec
118    targ_selvecs=aout_arm_big_vec
119    ;;
120  armeb-*-aout)
121    targ_defvec=aout_arm_big_vec
122    targ_selvecs=aout_arm_little_vec
123    ;;
124  arm-*-coff)
125    targ_defvec=armcoff_little_vec
126    targ_selvecs=armcoff_big_vec
127    targ_underscore=yes
128    ;;
129  armeb-*-elf | arm*b-*-linux-gnu*)
130    targ_defvec=bfd_elf32_bigarm_vec
131    targ_selvecs=bfd_elf32_littlearm_vec
132    ;;
133  arm-*-elf | arm*-*-linux-gnu* | arm*-*-conix* | arm*-*-uclinux*)
134    targ_defvec=bfd_elf32_littlearm_vec
135    targ_selvecs=bfd_elf32_bigarm_vec
136    ;;
137  arm-*-oabi)
138    targ_defvec=bfd_elf32_littlearm_oabi_vec
139    targ_selvecs=bfd_elf32_bigarm_oabi_vec
140    ;;
141
142  thumb-*-coff)
143    targ_defvec=armcoff_little_vec
144    targ_selvecs=armcoff_big_vec
145    targ_underscore=yes
146    ;;
147  thumb-*-oabi)
148    targ_defvec=bfd_elf32_littlearm_oabi_vec
149    targ_selvecs=bfd_elf32_bigarm_oabi_vec
150    ;;
151  thumb-*-elf)
152    targ_defvec=bfd_elf32_littlearm_vec
153    targ_selvecs=bfd_elf32_bigarm_vec
154    ;;
155  thumb-epoc-pe*)
156    targ_defvec=arm_epoc_pe_little_vec
157    targ_selvecs="arm_epoc_pe_little_vec arm_epoc_pe_big_vec arm_epoc_pei_little_vec arm_epoc_pei_big_vec"
158    targ_underscore=no
159    ;;
160  thumb-*-pe*)
161    targ_defvec=armpe_little_vec
162    targ_selvecs="armpe_little_vec armpe_big_vec armpei_little_vec armpei_big_vec"
163    targ_underscore=yes
164    ;;
165  strongarm-*-elf)
166    targ_defvec=bfd_elf32_littlearm_vec
167    targ_selvecs=bfd_elf32_bigarm_vec
168    ;;
169  strongarm-*-coff)
170    targ_defvec=armcoff_little_vec
171    targ_selvecs=armcoff_big_vec
172    targ_underscore=yes
173    ;;
174
175  a29k-*-ebmon* | a29k-*-udi* | a29k-*-coff* | a29k-*-sym1* | \
176  a29k-*-vxworks* | a29k-*-sysv*)
177    targ_defvec=a29kcoff_big_vec
178    targ_selvecs=sunos_big_vec
179    targ_underscore=yes
180    ;;
181  a29k-*-aout* | a29k-*-bsd* | a29k-*-vsta*)
182    targ_defvec=sunos_big_vec
183    targ_underscore=yes
184    ;;
185
186  avr-*-*)
187    targ_defvec=bfd_elf32_avr_vec
188    ;;
189
190  c30-*-*aout* | tic30-*-*aout*)
191    targ_defvec=tic30_aout_vec
192    ;;
193  c30-*-*coff* | tic30-*-*coff*)
194    targ_defvec=tic30_coff_vec
195    ;;
196
197  d10v-*-*)
198    targ_defvec=bfd_elf32_d10v_vec
199    ;;
200
201  d30v-*-*)
202    targ_defvec=bfd_elf32_d30v_vec
203    ;;
204
205  fr30-*-elf)
206    targ_defvec=bfd_elf32_fr30_vec
207    ;;
208
209
210  h8300*-*-*)
211    targ_defvec=h8300coff_vec
212    targ_underscore=yes
213    ;;
214
215  h8500-*-*)
216    targ_defvec=h8500coff_vec
217    targ_underscore=yes
218    ;;
219
220#if 0 /* HPPA ELF does not work currently.  */
221  hppa*-*-*elf* | hppa*-*-linux-gnu* | hppa*-*-lites* | hppa*-*-sysv4* | hppa*-*-rtems*)
222    targ_defvec=bfd_elf32_hppa_vec
223    ;;
224#endif
225#if defined (HOST_HPPAHPUX) || defined (HOST_HPPABSD) || defined (HOST_HPPAOSF) || defined (HOST_HPPAMPEIX)
226#if 0 /* HPPA ELF does not work currently.  */
227  hppa*-*-bsd*)
228    targ_defvec=som_vec
229    targ_selvecs=bfd_elf32_hppa_vec
230    ;;
231#endif
232  hppa*-*-hpux* | hppa*-*-hiux* | hppa*-*-mpeix*)
233    targ_defvec=som_vec
234    ;;
235#if 0 /* HPPA ELF does not work currently.  */
236  hppa*-*-osf*)
237    targ_defvec=som_vec
238    targ_selvecs=bfd_elf32_hppa_vec
239    ;;
240#endif
241#endif /* defined (HOST_HPPAHPUX) || defined (HOST_HPPABSD) || defined (HOST_HPPAOSF) */
242
243  i370-*-*) 
244    targ_defvec=bfd_elf32_i370_vec
245    targ_selvecs="bfd_elf32_i370_vec"
246    ;;
247  i[3456]86-*-sco3.2v5*coff)
248    targ_defvec=i386coff_vec
249    targ_selvecs=bfd_elf32_i386_vec
250    ;;
251  i[3456]86-*-sysv4* | i[3456]86-*-unixware* | i[3456]86-*-solaris2* | \
252  i[3456]86-*-elf | i[3456]86-*-sco3.2v5* | \
253  i[3456]86-*-dgux* | i[3456]86-*-sysv5*)
254    targ_defvec=bfd_elf32_i386_vec
255    targ_selvecs=i386coff_vec
256    ;;
257  i[3456]86-*-msdosdjgpp* | i[3456]*-*-go32* | i[3456]86-go32-rtems* )
258    targ_defvec=go32coff_vec
259    targ_selvecs="go32stubbedcoff_vec i386aout_vec"
260    ;;
261  i[3456]86-*-sysv* | i[3456]86-*-isc* | i[3456]86-*-sco* | i[3456]86-*-coff | \
262  i[3456]86-*-aix*)
263    targ_defvec=i386coff_vec
264    ;;
265  i[3456]86-*-rtemscoff*)
266    targ_defvec=i386coff_vec
267    targ_selvecs="bfd_elf32_i386_vec i386aout_vec"
268    ;;
269  i[3456]86-*-rtemself* | i[3456]86*-*-rtems*)
270    targ_defvec=bfd_elf32_i386_vec
271    targ_selvecs="i386coff_vec i386aout_vec"
272    ;;
273 i[3456]86-sequent-bsd*)
274    targ_defvec=i386dynix_vec
275    targ_underscore=yes
276    ;;
277  i[3456]86-*-bsd*)
278    targ_defvec=i386bsd_vec
279    targ_underscore=yes
280    ;;
281  i[3456]86-*-freebsdaout* | i[3456]86-*-freebsd[12].* | \
282  i[3456]86-*-freebsd[12])
283    targ_defvec=i386freebsd_vec
284    targ_selvecs=i386bsd_vec
285    targ_underscore=yes
286    ;;
287  i[3456]86-*-freebsd*)
288    targ_defvec=bfd_elf32_i386_vec
289    targ_selvecs=i386coff_vec
290    ;;
291  i[3456]86-*-netbsd* | i[3456]86-*-openbsd*)
292    targ_defvec=i386netbsd_vec
293    targ_selvecs=i386bsd_vec
294    targ_underscore=yes
295    ;;
296  i[3456]86-*-netware*)
297    targ_defvec=bfd_elf32_i386_vec
298    targ_selvecs="nlm32_i386_vec i386coff_vec i386aout_vec"
299    ;;
300  i[3456]86-*-linux*aout*)
301    targ_defvec=i386linux_vec
302    targ_selvecs=bfd_elf32_i386_vec
303    targ_underscore=yes
304    ;;
305  i[3456]86-*-linux-gnu*)
306    targ_defvec=bfd_elf32_i386_vec
307    targ_selvecs=i386linux_vec
308    ;;
309  i[3456]86-*-lynxos*)
310    targ_defvec=i386lynx_coff_vec
311    targ_selvecs=i386lynx_aout_vec
312    ;;
313  i[3456]86-*-gnu*)
314    targ_defvec=bfd_elf32_i386_vec
315    ;;
316  i[3456]86-*-mach* | i[3456]86-*-osf1mk*)
317    targ_defvec=i386mach3_vec
318    targ_cflags=-DSTAT_FOR_EXEC
319    targ_underscore=yes
320    ;;
321  i[3456]86-*-os9k)
322    targ_defvec=i386os9k_vec
323    ;;
324  i[3456]86-*-msdos*)
325    targ_defvec=i386aout_vec
326    targ_selvecs=i386msdos_vec
327    ;;
328  i[3456]86-*-moss*)
329    targ_defvec=bfd_elf32_i386_vec
330    targ_selvecs="i386msdos_vec i386aout_vec"
331    ;;
332  i[3456]86-*-beospe*)
333    targ_defvec=i386pe_vec
334    targ_selvecs="i386pe_vec i386pei_vec"
335    ;;
336  i[3456]86-*-beoself* | i[3456]86-*-beos*)
337    targ_defvec=bfd_elf32_i386_vec
338    targ_selvecs="i386pe_vec i386pei_vec"
339    ;;
340  i[3456]86-*-interix*)
341    targ_defvec=i386pei_vec
342    targ_selvecs="i386pe_vec"
343    # FIXME: This should eventually be checked at runtime.
344    targ_cflags=-DSTRICT_PE_FORMAT
345    ;;
346  i[3456]86-*-mingw32* | i[3456]86-*-cygwin* | i[3456]86-*-winnt | i[3456]86-*-pe)
347    targ_defvec=i386pe_vec
348    targ_selvecs="i386pe_vec i386pei_vec bfd_elf32_i386_vec"
349    ;;
350  i[3456]86-none-*)
351    targ_defvec=i386coff_vec
352    ;;
353  i[3456]86-*-aout* | i[3456]86*-*-vsta*)
354    targ_defvec=i386aout_vec
355    ;;
356  i[3456]86-*-vxworks*)
357    targ_defvec=i386aout_vec
358    targ_underscore=yes
359    ;;
360
361  i860-*-mach3* | i860-*-osf1* | i860-*-coff*)
362    targ_defvec=i860coff_vec
363    ;;
364  i860-*-sysv4* | i860-*-elf*)
365    targ_defvec=bfd_elf32_i860_vec
366    ;;
367
368  i960-*-vxworks4* | i960-*-vxworks5.0)
369    targ_defvec=b_out_vec_little_host
370    targ_selvecs="b_out_vec_big_host icoff_little_vec icoff_big_vec ieee_vec"
371    targ_underscore=yes
372    ;;
373  i960-*-rtemself*)
374    targ_defvec=bfd_elf32_i960_vec
375    targ_selvecs="icoff_big_vec b_out_vec_little_host b_out_vec_big_host ieee_vec"
376    targ_underscore=yes
377    ;;
378  i960-*-vxworks5.* | i960-*-coff* | i960-*-sysv* | i960-*-rtemscoff* | i960-*-rtems*)
379    targ_defvec=icoff_little_vec
380    targ_selvecs="icoff_big_vec b_out_vec_little_host b_out_vec_big_host ieee_vec"
381    targ_underscore=yes
382    ;;
383  i960-*-vxworks* | i960-*-aout* | i960-*-bout* | i960-*-nindy*)
384    targ_defvec=b_out_vec_little_host
385    targ_selvecs="b_out_vec_big_host icoff_little_vec icoff_big_vec ieee_vec"
386    targ_underscore=yes
387    ;;
388  i960-*-elf*)
389    targ_defvec=bfd_elf32_i960_vec
390    targ_selvecs="icoff_little_vec icoff_big_vec"
391    ;;
392
393  m32r-*-*)
394    targ_defvec=bfd_elf32_m32r_vec
395    ;;
396
397  m68*-apollo-*)
398    targ_defvec=apollocoff_vec
399    ;;
400  m68*-bull-sysv*)
401    targ_defvec=m68kcoffun_vec
402    targ_underscore=yes
403    ;;
404  m68*-motorola-sysv*)
405    targ_defvec=m68ksysvcoff_vec
406    ;;
407  m68*-hp-bsd*)
408    targ_defvec=hp300bsd_vec
409    targ_underscore=yes
410    ;;
411  m68*-*-aout*)
412    targ_defvec=aout0_big_vec
413    # We include cisco_core_big_vec here, rather than making a separate cisco
414    # configuration, so that cisco-core.c gets routinely tested at
415    # least for compilation.
416    targ_selvecs="cisco_core_big_vec ieee_vec"
417    targ_underscore=yes
418    ;;
419  m68*-*-elf* | m68*-*-sysv4*)
420    targ_defvec=bfd_elf32_m68k_vec
421    targ_selvecs="m68kcoff_vec ieee_vec"
422    ;;
423  m68*-*-rtemscoff*)
424    # same as m68k-coff with some extra targets
425    targ_defvec=m68kcoff_vec
426    targ_selvecs="m68kcoff_vec versados_vec ieee_vec aout0_big_vec"
427    ;;
428  m68*-*-rtems* | m68*-*-rtemself*)
429    # same as m68k-elf with some extra targets
430    targ_defvec=bfd_elf32_m68k_vec
431    targ_selvecs="m68kcoff_vec versados_vec ieee_vec aout0_big_vec"
432    ;;
433  m68*-*-coff* | m68*-*-sysv*)
434    targ_defvec=m68kcoff_vec
435    targ_selvecs="m68kcoff_vec versados_vec ieee_vec"
436    ;;
437  m68*-*-hpux*)
438    targ_defvec=hp300hpux_vec
439    targ_underscore=yes
440    ;;
441  m68*-*-linux*aout*)
442    targ_defvec=m68klinux_vec
443    targ_selvecs=bfd_elf32_m68k_vec
444    targ_underscore=yes
445    ;;
446  m68*-*-linux-gnu*)
447    targ_defvec=bfd_elf32_m68k_vec
448    targ_selvecs=m68klinux_vec
449    ;;
450  m68*-*-gnu*)
451    targ_defvec=bfd_elf32_m68k_vec
452    # targ_selvecs=m68kmach3_vec
453    # targ_cflags=-DSTAT_FOR_EXEC
454    ;;
455  m68*-*-lynxos*)
456    targ_defvec=m68klynx_coff_vec
457    targ_selvecs=m68klynx_aout_vec
458    ;;
459  m68*-hp*-netbsd*)
460    targ_defvec=m68k4knetbsd_vec
461    targ_selvecs="m68knetbsd_vec hp300bsd_vec sunos_big_vec"
462    targ_underscore=yes
463    ;;
464  m68*-*-netbsd* | m68*-*-openbsd*)
465    targ_defvec=m68knetbsd_vec
466    targ_selvecs="m68k4knetbsd_vec hp300bsd_vec sunos_big_vec"
467    targ_underscore=yes
468    ;;
469  m68*-*-sunos* | m68*-*-os68k* | m68*-*-vxworks* | m68*-netx-* | \
470  m68*-*-bsd* | m68*-*-vsta*)
471    targ_defvec=sunos_big_vec
472    targ_underscore=yes
473    ;;
474  m68*-ericsson-*)
475    targ_defvec=sunos_big_vec
476    targ_selvecs="m68kcoff_vec versados_vec tekhex_vec"
477    targ_underscore=yes
478    ;;
479  m68*-cbm-*)
480    targ_defvec=bfd_elf32_m68k_vec
481    targ_selvecs=m68kcoff_vec
482    ;;
483  m68*-apple-aux*)
484    targ_defvec=m68kaux_coff_vec
485    ;;
486  m68*-*-psos*)
487    targ_defvec=bfd_elf32_m68k_vec
488    targ_selvecs=ieee_vec
489    targ_underscore=yes
490    ;;
491
492  m88*-harris-cxux* | m88*-*-dgux* | m88*-*-sysv4*)
493    targ_defvec=bfd_elf32_m88k_vec
494    targ_selvecs=m88kbcs_vec
495    ;;
496  m88*-*-mach3*)
497    targ_defvec=m88kmach3_vec
498    targ_cflags=-DSTAT_FOR_EXEC
499    ;;
500  m88*-*-*)
501    targ_defvec=m88kbcs_vec
502    targ_underscore=yes
503    ;;
504
505  mcore-*-elf)
506    targ_defvec=bfd_elf32_mcore_big_vec
507    targ_selvecs="bfd_elf32_mcore_big_vec bfd_elf32_mcore_little_vec"
508    ;;
509  mcore-*-pe)
510    targ_defvec=mcore_pe_big_vec
511    targ_selvecs="mcore_pe_big_vec mcore_pe_little_vec mcore_pei_big_vec mcore_pei_little_vec"
512    ;;
513
514  mips*-big-*)
515    targ_defvec=ecoff_big_vec
516    targ_selvecs=ecoff_little_vec
517    ;;
518  mips-dec-netbsd* | mips*el*-*-netbsd*)
519    targ_defvec=bfd_elf32_littlemips_vec
520    targ_selvecs="bfd_elf32_bigmips_vec ecoff_little_vec ecoff_big_vec"
521    ;;
522 mips*-*-netbsd*)
523    targ_defvec=bfd_elf32_bigmips_vec
524    targ_selvecs="bfd_elf32_littlemips_vec ecoff_big_vec ecoff_little_vec"
525    ;;
526  mips*-dec-bsd*)
527    targ_defvec=aout_mips_little_vec
528    targ_underscore=yes
529    ;;
530  mips*-dec-mach3*)
531    targ_defvec=aout_mips_little_vec
532    targ_cflags=-DSTAT_FOR_EXEC
533    ;;
534  mips*-dec-* | mips*el-*-ecoff*)
535    targ_defvec=ecoff_little_vec
536    targ_selvecs=ecoff_big_vec
537    ;;
538  mips*-*-ecoff*)
539    targ_defvec=ecoff_big_vec
540    targ_selvecs=ecoff_little_vec
541    ;;
542  mips*-*-irix6*)
543    targ_defvec=bfd_elf32_bigmips_vec
544    targ_selvecs="bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec"
545    ;;
546  mips*-*-irix5*)
547    targ_defvec=bfd_elf32_bigmips_vec
548    targ_selvecs="bfd_elf32_littlemips_vec ecoff_big_vec ecoff_little_vec"
549    ;;
550  mips*-sgi-* | mips*-*-bsd*)
551    targ_defvec=ecoff_big_vec
552    targ_selvecs=ecoff_little_vec
553    ;;
554  mips*-*-lnews*)
555    targ_defvec=ecoff_biglittle_vec
556    targ_selvecs="ecoff_little_vec ecoff_big_vec"
557    ;;
558  mips*-*-mach3*)
559    targ_defvec=aout_mips_little_vec
560    targ_cflags=-DSTAT_FOR_EXEC
561    ;;
562  mips*-*-pe*)
563    targ_defvec=mipslpe_vec
564    targ_selvecs="mipslpei_vec mipslpei_vec ecoff_little_vec ecoff_big_vec"
565    targ_underscore=yes
566    ;;
567  mips*-*-sysv4*)
568    targ_defvec=bfd_elf32_bigmips_vec
569    targ_selvecs="bfd_elf32_littlemips_vec ecoff_big_vec ecoff_little_vec"
570    ;;
571  mips*-*-sysv* | mips*-*-riscos*)
572    targ_defvec=ecoff_big_vec
573    targ_selvecs=ecoff_little_vec
574    ;;
575  mips*el-*-elf* | mips*el-*-rtems* | mips*el-*-vxworks*)
576    targ_defvec=bfd_elf32_littlemips_vec
577    targ_selvecs="bfd_elf32_bigmips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec"
578    ;;
579  mips*-*-elf* | mips*-*-rtems* | mips*-*-vxworks*)
580    targ_defvec=bfd_elf32_bigmips_vec
581    targ_selvecs="bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec"
582    ;;
583  mips*-*-none)
584    targ_defvec=bfd_elf32_bigmips_vec
585    targ_selvecs="bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec"
586    ;;
587  mips*el*-*-linux-gnu* | mips*el*-*-openbsd*)
588    targ_defvec=bfd_elf32_littlemips_vec
589    targ_selvecs="bfd_elf32_bigmips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec ecoff_little_vec ecoff_big_vec"
590    ;;
591  mips*-*-linux-gnu* | mips*-*-openbsd*)
592    targ_defvec=bfd_elf32_bigmips_vec
593    targ_selvecs="bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec ecoff_big_vec ecoff_little_vec"
594    ;;
595
596  mn10200-*-*)
597    targ_defvec=bfd_elf32_mn10200_vec
598    ;;
599
600  mn10300-*-*)
601    targ_defvec=bfd_elf32_mn10300_vec
602    ;;
603
604  ns32k-pc532-mach* | ns32k-pc532-ux*)
605    targ_defvec=pc532machaout_vec
606    targ_underscore=yes
607    ;;
608  ns32k-*-netbsd* | ns32k-*-lites* | ns32k-*-openbsd*)
609    targ_defvec=pc532netbsd_vec
610    targ_underscore=yes
611    ;;
612
613  pj-*-*)
614    targ_defvec=bfd_elf32_pj_vec
615    targ_selvecs="bfd_elf32_pj_vec bfd_elf32_pjl_vec"
616    ;;
617
618  pjl-*-*)
619    targ_defvec=bfd_elf32_pjl_vec
620    targ_selvecs="bfd_elf32_pjl_vec bfd_elf32_pj_vec bfd_elf32_i386_vec"
621    ;;
622
623  powerpc-*-aix* | powerpc-*-beos*)
624    targ_defvec=rs6000coff_vec
625    ;;
626  powerpc-*-*bsd* | powerpc-*-elf* | powerpc-*-sysv4* | powerpc-*-eabi* | \
627  powerpc-*-solaris2* | powerpc-*-linux-gnu* | powerpc-*-rtems* | \
628  powerpc-*-vxworks*)
629    targ_defvec=bfd_elf32_powerpc_vec
630    targ_selvecs="rs6000coff_vec bfd_elf32_powerpcle_vec ppcboot_vec"
631    ;;
632  powerpc-*-macos* | powerpc-*-mpw*)
633    targ_defvec=pmac_xcoff_vec
634    ;;
635  powerpc-*-netware*)
636    targ_defvec=bfd_elf32_powerpc_vec
637    targ_selvecs="nlm32_powerpc_vec rs6000coff_vec"
638    ;;
639  powerpcle-*-elf* | powerpcle-*-sysv4* | powerpcle-*-eabi* | \
640  powerpcle-*-solaris2* | powerpcle-*-linux-gnu* | powerpcle-*-vxworks* |\
641  powerpcle-*-rtems*)
642    targ_defvec=bfd_elf32_powerpcle_vec
643    targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec"
644    ;;
645
646  powerpcle-*-pe | powerpcle-*-winnt* | powerpcle-*-cygwin*)
647    targ_defvec=bfd_powerpcle_pe_vec
648    targ_selvecs="bfd_powerpcle_pei_vec bfd_powerpc_pei_vec bfd_powerpcle_pe_vec bfd_powerpc_pe_vec"
649    ;;
650
651  rs6000-*-*)
652    targ_defvec=rs6000coff_vec
653    ;;
654
655  sh-*-elf* | sh-*-rtemself*)
656    targ_defvec=bfd_elf32_sh_vec
657    targ_selvecs="bfd_elf32_shl_vec shcoff_vec shlcoff_vec shcoff_small_vec shlcoff_small_vec"
658    targ_underscore=yes
659    ;;
660  sh-*-pe)
661    targ_defvec=shlpe_vec
662    targ_selvecs="shlpe_vec shlpei_vec"
663    targ_underscore=yes
664    ;;
665  sh-*-* | sh-*-rtemscoff* | sh-*-rtems*)
666    targ_defvec=shcoff_vec
667    targ_selvecs="shcoff_vec shlcoff_vec shcoff_small_vec shlcoff_small_vec"
668    targ_underscore=yes
669    ;;
670
671  sparclet-*-aout*)
672    targ_defvec=sunos_big_vec
673    targ_selvecs=sparcle_aout_vec
674    targ_underscore=yes
675    ;;
676  sparc86x-*-aout*)
677    targ_defvec=sunos_big_vec
678    targ_underscore=yes
679    ;;
680  sparclite-*-elf* | sparc86x-*-elf*)
681    targ_defvec=bfd_elf32_sparc_vec
682    ;;
683  sparc-*-linux*aout*)
684    targ_defvec=sparclinux_vec
685    targ_selvecs="bfd_elf32_sparc_vec sunos_big_vec"
686    targ_underscore=yes
687    ;;
688  sparc-*-linux-gnu*)
689    targ_defvec=bfd_elf32_sparc_vec
690    targ_selvecs="sparclinux_vec bfd_elf64_sparc_vec sunos_big_vec"
691    ;;
692  sparc-*-lynxos*)
693    targ_defvec=sparclynx_coff_vec
694    targ_selvecs=sparclynx_aout_vec
695    ;;
696  sparc-*-netbsdelf*)
697    targ_defvec=bfd_elf32_sparc_vec
698    targ_selvecs=sparcnetbsd_vec
699    ;;
700  sparc-*-netbsdaout* | sparc-*-netbsd*)
701    targ_defvec=sparcnetbsd_vec
702    targ_selvecs=bfd_elf32_sparc_vec
703    targ_underscore=yes
704    ;;
705  sparc-*-openbsd*)
706    targ_defvec=sparcnetbsd_vec
707    targ_underscore=yes
708    ;;
709  sparc-*-elf* | sparc-*-solaris2.[0-6] | sparc-*-solaris2.[0-6].*)
710    targ_defvec=bfd_elf32_sparc_vec
711    targ_selvecs=sunos_big_vec
712    ;;
713#ifdef BFD64
714  sparc-*-solaris2* | sparcv9-*-solaris2* | sparc64-*-solaris2*)
715    targ_defvec=bfd_elf32_sparc_vec
716    targ_selvecs="bfd_elf64_sparc_vec sunos_big_vec"
717    ;;
718#endif
719  sparc-*-sysv4*)
720    targ_defvec=bfd_elf32_sparc_vec
721    ;;
722  sparc-*-netware*)
723    targ_defvec=bfd_elf32_sparc_vec
724    targ_selvecs="nlm32_sparc_vec sunos_big_vec"
725    ;;
726#ifdef BFD64
727  sparc64-*-aout*)
728    targ_defvec=sunos_big_vec
729    targ_underscore=yes
730    ;;
731  sparc64-*-linux-gnu*)
732    targ_defvec=bfd_elf64_sparc_vec
733    targ_selvecs="bfd_elf32_sparc_vec sparclinux_vec sunos_big_vec"
734    ;;
735  sparc64-*-elf*)
736    targ_defvec=bfd_elf64_sparc_vec
737    targ_selvecs=bfd_elf32_sparc_vec
738    ;;    
739#endif /* BFD64 */
740  sparc*-*-coff*)
741    targ_defvec=sparccoff_vec
742    ;;
743  sparc*-*-rtemsaout*)
744    targ_defvec=sunos_big_vec
745    targ_selvecs="bfd_elf32_sparc_vec sparccoff_vec"
746    targ_underscore=yes
747    ;;
748  sparc*-*-rtems* | sparc*-*-rtemself*)
749    targ_defvec=bfd_elf32_sparc_vec
750    targ_selvecs="sunos_big_vec sparccoff_vec"
751    ;;
752  sparc*-*-*)
753    targ_defvec=sunos_big_vec
754    targ_underscore=yes
755    ;;
756
757#if HAVE_host_aout_vec
758  tahoe-*-*)
759    targ_defvec=host_aout_vec
760    targ_underscore=yes
761    ;;
762#endif
763
764  tic80*-*-*)
765    targ_defvec=tic80coff_vec
766    targ_underscore=yes
767    ;;
768
769
770  v850-*-*)
771    targ_defvec=bfd_elf32_v850_vec
772    ;;
773  v850e-*-*)
774    targ_defvec=bfd_elf32_v850_vec
775    ;;
776  v850ea-*-*)
777    targ_defvec=bfd_elf32_v850_vec
778    ;;
779#if HAVE_host_aout_vec
780  vax-*-bsd* | vax-*-ultrix*)
781    targ_defvec=host_aout_vec
782    targ_underscore=yes
783    ;;
784#endif
785
786  vax*-*-*vms*)
787    targ_defvec=vms_vax_vec
788    ;;
789
790  we32k-*-*)
791    targ_defvec=we32kcoff_vec
792    ;;
793
794  w65-*-*)
795    targ_defvec=w65_vec
796    ;;
797
798  z8k*-*-*)
799    targ_defvec=z8kcoff_vec
800    targ_underscore=yes
801    ;;
802
803  *-*-ieee*)
804    targ_defvec=ieee_vec
805    ;;
806
807  *-adobe-*)
808    targ_defvec=a_out_adobe_vec
809    targ_underscore=yes
810    ;;
811
812  *-sony-*)
813    targ_defvec=newsos3_vec
814    targ_underscore=yes
815    ;;
816
817  *-tandem-*)
818    targ_defvec=m68kcoff_vec
819    targ_selvecs=ieee_vec
820    ;;
821# END OF targmatch.h
822  *)
823    echo 1>&2 "*** BFD does not support target ${targ}."
824    echo 1>&2 "*** Look in bfd/config.bfd for supported targets."
825    exit 1
826    ;;
827esac
828
829# If we support any ELF target, then automatically add support for the
830# generic ELF targets.  This permits an objdump with some ELF support
831# to be used on an arbitrary ELF file for anything other than
832# relocation information.
833case "${targ_defvec} ${targ_selvecs}" in
834  *bfd_elf64*)
835    targ_selvecs="${targ_selvecs} bfd_elf64_little_generic_vec bfd_elf64_big_generic_vec bfd_elf32_little_generic_vec bfd_elf32_big_generic_vec"
836    ;;
837  *bfd_elf32*)
838    targ_selvecs="${targ_selvecs} bfd_elf32_little_generic_vec bfd_elf32_big_generic_vec"
839    ;;
840esac
841