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