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