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 # targ64_selvecs Vectors to build if --enable-64-bit-bfd is given
9 # or if host is 64 bit.
10 # targ_archs Architectures for this target
11 # targ_cflags $(CFLAGS) for this target (FIXME: pretty bogus)
12 # targ_underscore Whether underscores are used: yes or no
14 # Part of this file is processed by targmatch.sed to generate the
15 # targmatch.h file. The #ifdef and #endif lines that appear below are
16 # copied directly into targmatch.h.
18 # The binutils c++filt program wants to know whether underscores are
19 # stripped or not. That is why we set targ_underscore. c++filt uses
20 # this information to choose a default. This information is
21 # duplicated in the symbol_leading_char field of the BFD target
22 # vector, but c++filt does not deal with object files and is not
23 # linked against libbfd.a. It is not terribly important that c++filt
24 # get this right; it is just convenient.
32 targ_cpu=`echo $targ | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
34 alpha*) targ_archs=bfd_alpha_arch ;;
35 arm*) targ_archs=bfd_arm_arch ;;
36 c30*) targ_archs=bfd_tic30_arch ;;
37 c4x*) targ_archs=bfd_tic4x_arch ;;
38 c54x*) targ_archs=bfd_tic54x_arch ;;
39 dlx*) targ_archs=bfd_dlx_arch ;;
40 hppa*) targ_archs=bfd_hppa_arch ;;
41 i[3-7]86) targ_archs=bfd_i386_arch ;;
42 i370) targ_archs=bfd_i370_arch ;;
43 m6811*|m68hc11*) targ_archs="bfd_m68hc11_arch bfd_m68hc12_arch" ;;
44 m6812*|m68hc12*) targ_archs="bfd_m68hc12_arch bfd_m68hc11_arch" ;;
45 m68*) targ_archs=bfd_m68k_arch ;;
46 m88*) targ_archs=bfd_m88k_arch ;;
47 mips*) targ_archs=bfd_mips_arch ;;
48 or32*) targ_archs=bfd_or32_arch ;;
49 pdp11*) targ_archs=bfd_pdp11_arch ;;
50 pj*) targ_archs="bfd_pj_arch bfd_i386_arch";;
51 powerpc*) targ_archs="bfd_rs6000_arch bfd_powerpc_arch" ;;
52 rs6000) targ_archs="bfd_rs6000_arch bfd_powerpc_arch" ;;
53 s390*) targ_archs=bfd_s390_arch ;;
54 sh*) targ_archs=bfd_sh_arch ;;
55 sparc*) targ_archs=bfd_sparc_arch ;;
56 strongarm*) targ_archs=bfd_arm_arch ;;
57 thumb*) targ_archs=bfd_arm_arch ;;
58 v850*) targ_archs=bfd_v850_arch ;;
59 x86_64) targ_archs=bfd_i386_arch ;;
60 xscale*) targ_archs=bfd_arm_arch ;;
61 xtensa*) targ_archs=bfd_xtensa_arch ;;
62 z8k*) targ_archs=bfd_z8k_arch ;;
63 am33_2.0) targ_archs=bfd_mn10300_arch ;;
64 *) targ_archs=bfd_${targ_cpu}_arch ;;
68 # WHEN ADDING ENTRIES TO THIS MATRIX:
69 # Make sure that the left side always has two dashes. Otherwise you
70 # can get spurious matches. Even for unambiguous cases, do this as a
71 # convention, else the table becomes a real mess to understand and maintain.
73 # Keep obsolete entries above the START comment, to keep them out of
78 echo "This target is obsolete and has been removed."
83 echo "This target is obsolete and has been removed."
87 # START OF targmatch.h
90 targ_defvec=bfd_elf64_alpha_freebsd_vec
91 targ_selvecs=ecoffalpha_little_vec
92 # FreeBSD <= 4.0 supports only the old nonstandard way of ABI labelling.
94 alpha*-*-freebsd3* | alpha*-*-freebsd4 | alpha*-*-freebsd4.0*)
95 targ_cflags=-DOLD_FREEBSD_ABI_LABEL ;;
98 alpha*-*-netbsd* | alpha*-*-openbsd*)
99 targ_defvec=bfd_elf64_alpha_vec
100 targ_selvecs=ecoffalpha_little_vec
103 targ_defvec=ecoffalpha_little_vec
104 targ_selvecs=nlm32_alpha_vec
106 alpha*-*-linuxecoff*)
107 targ_defvec=ecoffalpha_little_vec
108 targ_selvecs=bfd_elf64_alpha_vec
110 alpha*-*-linux-gnu* | alpha*-*-elf*)
111 targ_defvec=bfd_elf64_alpha_vec
112 targ_selvecs=ecoffalpha_little_vec
115 targ_defvec=vms_alpha_vec
118 targ_defvec=ecoffalpha_little_vec
120 ia64*-*-freebsd* | ia64*-*-netbsd* | ia64*-*-linux-gnu* | ia64*-*-elf*)
121 targ_defvec=bfd_elf64_ia64_little_vec
122 targ_selvecs="bfd_elf64_ia64_big_vec bfd_efi_app_ia64_vec"
125 targ_defvec=bfd_elf32_ia64_hpux_big_vec
126 targ_selvecs="bfd_elf64_ia64_hpux_big_vec"
128 sparc64-*-freebsd* | sparc64-*-netbsd* | sparc64-*-openbsd*)
129 targ_defvec=bfd_elf64_sparc_vec
130 targ_selvecs="bfd_elf32_sparc_vec sunos_big_vec"
135 targ_defvec=bfd_elf32_am33lin_vec
138 targ_defvec=bfd_elf32_littlearc_vec
139 targ_selvecs=bfd_elf32_bigarc_vec
143 targ_defvec=bfd_elf32_bigarm_vec
144 targ_selvecs="bfd_elf32_littlearm_vec armnetbsd_vec"
147 targ_defvec=bfd_elf32_littlearm_vec
148 targ_selvecs="bfd_elf32_bigarm_vec armnetbsd_vec"
150 arm-*-netbsd* | arm-*-openbsd*)
151 targ_defvec=armnetbsd_vec
152 targ_selvecs="bfd_elf32_littlearm_vec bfd_elf32_bigarm_vec"
154 targ_cflags=-D__QNXTARGET__
156 arm-*-nto* | nto*arm*)
157 targ_defvec=bfd_elf32_littlearm_vec
158 targ_selvecs=bfd_elf32_bigarm_vec
161 targ_defvec=riscix_vec
164 targ_defvec=arm_epoc_pe_little_vec
165 targ_selvecs="arm_epoc_pe_little_vec arm_epoc_pe_big_vec arm_epoc_pei_little_vec arm_epoc_pei_big_vec"
167 targ_cflags=-DARM_COFF_BUGFIX
169 arm-wince-pe | arm-*-wince)
170 targ_defvec=armpe_little_vec
171 targ_selvecs="armpe_little_vec armpe_big_vec armpei_little_vec armpei_big_vec"
173 targ_cflags="-DARM_WINCE -DARM_COFF_BUGFIX"
176 targ_defvec=armpe_little_vec
177 targ_selvecs="armpe_little_vec armpe_big_vec armpei_little_vec armpei_big_vec"
180 arm-*-aout | armel-*-aout)
181 targ_defvec=aout_arm_little_vec
182 targ_selvecs=aout_arm_big_vec
185 targ_defvec=aout_arm_big_vec
186 targ_selvecs=aout_arm_little_vec
189 targ_defvec=armcoff_little_vec
190 targ_selvecs=armcoff_big_vec
192 targ_cflags=-DARM_COFF_BUGFIX
195 targ_defvec=armcoff_little_vec
196 targ_selvecs=armcoff_big_vec
200 targ_defvec=bfd_elf32_littlearm_vec
201 targ_selvecs=bfd_elf32_bigarm_vec
203 armeb-*-elf | arm*b-*-linux-gnu*)
204 targ_defvec=bfd_elf32_bigarm_vec
205 targ_selvecs=bfd_elf32_littlearm_vec
207 arm-*-kaos* | strongarm-*-kaos*)
208 targ_defvec=bfd_elf32_littlearm_vec
209 targ_selvecs=bfd_elf32_bigarm_vec
211 arm-*-elf | arm-*-freebsd* | arm*-*-linux-gnu* | arm*-*-conix* | arm*-*-uclinux*)
212 targ_defvec=bfd_elf32_littlearm_vec
213 targ_selvecs=bfd_elf32_bigarm_vec
216 targ_defvec=bfd_elf32_littlearm_vec
217 targ_selvecs=bfd_elf32_bigarm_vec
220 targ_defvec=bfd_elf32_littlearm_oabi_vec
221 targ_selvecs=bfd_elf32_bigarm_oabi_vec
225 targ_defvec=armcoff_little_vec
226 targ_selvecs=armcoff_big_vec
230 targ_defvec=bfd_elf32_littlearm_oabi_vec
231 targ_selvecs=bfd_elf32_bigarm_oabi_vec
234 targ_defvec=bfd_elf32_littlearm_vec
235 targ_selvecs=bfd_elf32_bigarm_vec
238 targ_defvec=arm_epoc_pe_little_vec
239 targ_selvecs="arm_epoc_pe_little_vec arm_epoc_pe_big_vec arm_epoc_pei_little_vec arm_epoc_pei_big_vec"
243 targ_defvec=armpe_little_vec
244 targ_selvecs="armpe_little_vec armpe_big_vec armpei_little_vec armpei_big_vec"
248 targ_defvec=bfd_elf32_littlearm_vec
249 targ_selvecs=bfd_elf32_bigarm_vec
252 targ_defvec=armcoff_little_vec
253 targ_selvecs=armcoff_big_vec
257 targ_defvec=bfd_elf32_littlearm_vec
258 targ_selvecs=bfd_elf32_bigarm_vec
261 targ_defvec=armcoff_little_vec
262 targ_selvecs=armcoff_big_vec
266 a29k-*-ebmon* | a29k-*-udi* | a29k-*-coff* | a29k-*-sym1* | \
267 a29k-*-vxworks* | a29k-*-sysv* | a29k-*rtems*)
268 targ_defvec=a29kcoff_big_vec
269 targ_selvecs=sunos_big_vec
272 a29k-*-aout* | a29k-*-bsd* | a29k-*-vsta*)
273 targ_defvec=sunos_big_vec
278 targ_defvec=bfd_elf32_avr_vec
281 c30-*-*aout* | tic30-*-*aout*)
282 targ_defvec=tic30_aout_vec
284 c30-*-*coff* | tic30-*-*coff*)
285 targ_defvec=tic30_coff_vec
288 c4x-*-*coff* | tic4x-*-*coff* | tic4x-*-rtems*)
289 targ_defvec=tic4x_coff1_vec
290 targ_selvecs="tic4x_coff1_beh_vec tic4x_coff2_vec tic4x_coff2_beh_vec tic4x_coff0_vec tic4x_coff0_beh_vec"
294 c54x*-*-*coff* | tic54x-*-*coff*)
295 targ_defvec=tic54x_coff1_vec
296 targ_selvecs="tic54x_coff1_beh_vec tic54x_coff2_vec tic54x_coff2_beh_vec tic54x_coff0_vec tic54x_coff0_beh_vec"
301 targ_defvec=cris_aout_vec
302 targ_selvecs="bfd_elf32_us_cris_vec bfd_elf32_cris_vec ieee_vec"
303 targ_underscore=yes # Note: not true for bfd_elf32_cris_vec.
307 targ_defvec=bfd_elf32_d10v_vec
311 targ_defvec=bfd_elf32_dlx_big_vec
312 targ_selvecs="bfd_elf32_dlx_big_vec"
316 targ_defvec=bfd_elf32_d30v_vec
320 targ_defvec=bfd_elf32_fr30_vec
324 targ_defvec=bfd_elf32_frv_vec
329 targ_defvec=bfd_elf32_h8300_vec
334 targ_defvec=h8300coff_vec
339 targ_defvec=h8500coff_vec
344 hppa*64*-*-linux-gnu*)
345 targ_defvec=bfd_elf64_hppa_linux_vec
346 targ_selvecs=bfd_elf64_hppa_vec
349 targ_defvec=bfd_elf64_hppa_vec
350 targ_selvecs=bfd_elf64_hppa_linux_vec
351 targ_cflags=-DHPUX_LARGE_AR_IDS
356 targ_defvec=bfd_elf32_hppa_linux_vec
357 targ_selvecs=bfd_elf32_hppa_vec
359 hppa*-*-*elf* | hppa*-*-lites* | hppa*-*-netbsd* | hppa*-*-sysv4* | hppa*-*-rtems* | hppa*-*-openbsd*)
360 targ_defvec=bfd_elf32_hppa_vec
361 targ_selvecs=bfd_elf32_hppa_linux_vec
364 #if defined (HOST_HPPAHPUX) || defined (HOST_HPPABSD) || defined (HOST_HPPAOSF) || defined (HOST_HPPAMPEIX)
367 targ_selvecs=bfd_elf32_hppa_vec
369 hppa*-*-hpux* | hppa*-*-hiux* | hppa*-*-mpeix*)
374 targ_selvecs=bfd_elf32_hppa_vec
376 #endif /* defined (HOST_HPPAHPUX) || defined (HOST_HPPABSD) || defined (HOST_HPPAOSF) */
379 targ_defvec=bfd_elf32_i370_vec
380 targ_selvecs="bfd_elf32_i370_vec"
382 i[3-7]86-*-sco3.2v5*coff)
383 targ_defvec=i386coff_vec
384 targ_selvecs=bfd_elf32_i386_vec
386 i[3-7]86-*-sysv4* | i[3-7]86-*-unixware* | i[3-7]86-*-solaris2* | \
387 i[3-7]86-*-elf | i[3-7]86-*-sco3.2v5* | \
388 i[3-7]86-*-dgux* | i[3-7]86-*-sysv5*)
389 targ_defvec=bfd_elf32_i386_vec
390 targ_selvecs=i386coff_vec
393 targ_defvec=bfd_elf32_i386_vec
394 targ_selvecs=bfd_elf32_i386_vec
397 targ_defvec=bfd_elf32_i386_vec
398 targ_selvecs=i386coff_vec
401 targ_defvec=bfd_elf32_i386_vec
404 targ_defvec=bfd_elf32_i386_vec
406 *-*-msdosdjgpp* | *-*-go32* | *-go32-rtems* )
407 targ_defvec=go32coff_vec
408 targ_selvecs="go32stubbedcoff_vec i386aout_vec"
410 i[3-7]86-*-sysv* | i[3-7]86-*-isc* | i[3-7]86-*-sco* | i[3-7]86-*-coff | \
412 targ_defvec=i386coff_vec
414 i[3-7]86*-*-rtemscoff*)
415 targ_defvec=i386coff_vec
416 targ_selvecs="bfd_elf32_i386_vec i386aout_vec"
418 i[3-7]86-*-rtemself* | i[3-7]86-*-rtems*)
419 targ_defvec=bfd_elf32_i386_vec
420 targ_selvecs="i386coff_vec i386aout_vec"
422 i[3-7]86-*-darwin* | i[3-7]86-*-macos10* | i[3-7]86-*-rhapsody*)
423 targ_defvec=mach_o_le_vec
424 targ_selvecs="mach_o_le_vec mach_o_be_vec mach_o_fat_vec pef_vec pef_xlib_vec sym_vec"
425 targ_archs="bfd_i386_arch bfd_powerpc_arch bfd_rs6000_arch"
427 i[3-7]86-sequent-bsd*)
428 targ_defvec=i386dynix_vec
432 targ_defvec=i386bsd_vec
435 i[3-7]86-*-freebsdaout* | i[3-7]86-*-freebsd[12].* | \
436 i[3-7]86-*-freebsd[12])
437 targ_defvec=i386freebsd_vec
438 targ_selvecs=i386bsd_vec
442 targ_defvec=bfd_elf32_i386_freebsd_vec
443 targ_selvecs=i386coff_vec
444 # FreeBSD <= 4.0 supports only the old nonstandard way of ABI labelling.
446 i[3-7]86-*-freebsd3* | i[3-7]86-*-freebsd4 | i[3-7]86-*-freebsd4.0*)
447 targ_cflags=-DOLD_FREEBSD_ABI_LABEL ;;
450 i[3-7]86-*-netbsdelf* | i[3-7]86-*-netbsd*-gnu*)
451 targ_defvec=bfd_elf32_i386_vec
452 targ_selvecs=i386netbsd_vec
454 i[3-7]86-*-netbsdpe*)
455 targ_defvec=i386pe_vec
456 targ_selvecs="i386pe_vec i386pei_vec bfd_elf32_i386_vec"
458 i[3-7]86-*-netbsdaout* | i[3-7]86-*-netbsd* | \
459 i[3-7]86-*-openbsd[0-2].* | i[3-7]86-*-openbsd3.[0-3])
460 targ_defvec=i386netbsd_vec
461 targ_selvecs="bfd_elf32_i386_vec i386bsd_vec"
465 targ_defvec=bfd_elf32_i386_vec
466 targ_selvecs=i386netbsd_vec
469 targ_defvec=bfd_elf32_i386_vec
470 targ_selvecs="nlm32_i386_vec i386coff_vec i386aout_vec"
472 i[3-7]86-*-linux*aout*)
473 targ_defvec=i386linux_vec
474 targ_selvecs=bfd_elf32_i386_vec
477 i[3-7]86-*-linux-gnu*)
478 targ_defvec=bfd_elf32_i386_vec
479 targ_selvecs="i386linux_vec bfd_efi_app_ia32_vec"
480 targ64_selvecs=bfd_elf64_x86_64_vec
484 targ_defvec=bfd_elf64_x86_64_vec
485 targ_selvecs="bfd_elf32_i386_vec i386coff_vec bfd_efi_app_ia32_vec"
488 targ_defvec=bfd_elf64_x86_64_vec
489 targ_selvecs="bfd_elf32_i386_vec i386netbsd_vec i386coff_vec bfd_efi_app_ia32_vec"
492 targ_defvec=bfd_elf64_x86_64_vec
493 targ_selvecs="bfd_elf32_i386_vec i386linux_vec bfd_efi_app_ia32_vec"
497 targ_defvec=i386lynx_coff_vec
498 targ_selvecs=i386lynx_aout_vec
501 targ_defvec=bfd_elf32_i386_vec
503 i[3-7]86-*-mach* | i[3-7]86-*-osf1mk*)
504 targ_defvec=i386mach3_vec
505 targ_cflags=-DSTAT_FOR_EXEC
509 targ_defvec=i386os9k_vec
512 targ_defvec=i386aout_vec
513 targ_selvecs=i386msdos_vec
516 targ_defvec=bfd_elf32_i386_vec
517 targ_selvecs="i386msdos_vec i386aout_vec"
520 targ_defvec=i386pe_vec
521 targ_selvecs="i386pe_vec i386pei_vec"
523 i[3-7]86-*-beoself* | i[3-7]86-*-beos*)
524 targ_defvec=bfd_elf32_i386_vec
525 targ_selvecs="i386pe_vec i386pei_vec"
528 targ_defvec=i386pei_vec
529 targ_selvecs="i386pe_vec"
530 # FIXME: This should eventually be checked at runtime.
531 targ_cflags=-DSTRICT_PE_FORMAT
533 i[3-7]86-*-mingw32* | i[3-7]86-*-cygwin* | i[3-7]86-*-winnt | i[3-7]86-*-pe)
534 targ_defvec=i386pe_vec
535 targ_selvecs="i386pe_vec i386pei_vec bfd_elf32_i386_vec"
538 targ_defvec=i386coff_vec
540 i[3-7]86-*-aout* | i[3-7]86*-*-vsta*)
541 targ_defvec=i386aout_vec
544 targ_defvec=i386aout_vec
548 targ_defvec=bfd_elf32_i386_vec
549 targ_selfvecs=i386chaos_vec
552 i860-*-mach3* | i860-*-osf1* | i860-*-coff*)
553 targ_defvec=i860coff_vec
555 i860-stardent-sysv4* | i860-stardent-elf*)
556 targ_defvec=bfd_elf32_i860_little_vec
557 targ_selvecs="bfd_elf32_i860_vec bfd_elf32_i860_little_vec"
559 i860-*-sysv4* | i860-*-elf*)
560 targ_defvec=bfd_elf32_i860_vec
563 i960-*-vxworks4* | i960-*-vxworks5.0)
564 targ_defvec=b_out_vec_little_host
565 targ_selvecs="b_out_vec_big_host icoff_little_vec icoff_big_vec ieee_vec"
568 i960-*-vxworks5.* | i960-*-coff* | i960-*-sysv* | i960-*-rtems*)
569 targ_defvec=icoff_little_vec
570 targ_selvecs="icoff_big_vec b_out_vec_little_host b_out_vec_big_host ieee_vec"
573 i960-*-vxworks* | i960-*-aout* | i960-*-bout* | i960-*-nindy*)
574 targ_defvec=b_out_vec_little_host
575 targ_selvecs="b_out_vec_big_host icoff_little_vec icoff_big_vec ieee_vec"
579 targ_defvec=bfd_elf32_i960_vec
580 targ_selvecs="icoff_little_vec icoff_big_vec"
584 targ_defvec=bfd_elf32_ip2k_vec
588 targ_defvec=bfd_elf32_iq2000_vec
592 targ_defvec=bfd_elf32_m32r_vec
595 m68hc11-*-* | m6811-*-*)
596 targ_defvec=bfd_elf32_m68hc11_vec
597 targ_selvecs="bfd_elf32_m68hc11_vec bfd_elf32_m68hc12_vec"
599 m68hc12-*-* | m6812-*-*)
600 targ_defvec=bfd_elf32_m68hc12_vec
601 targ_selvecs="bfd_elf32_m68hc11_vec bfd_elf32_m68hc12_vec"
605 targ_defvec=apollocoff_vec
608 targ_defvec=m68kcoffun_vec
612 targ_defvec=m68ksysvcoff_vec
615 targ_defvec=hp300bsd_vec
619 targ_defvec=aout0_big_vec
620 # We include cisco_core_big_vec here, rather than making a separate cisco
621 # configuration, so that cisco-core.c gets routinely tested at
622 # least for compilation.
623 targ_selvecs="cisco_core_big_vec ieee_vec"
627 targ_defvec=m68kcoff_vec
628 targ_selvecs="m68kcoff_vec versados_vec ieee_vec aout0_big_vec"
630 m68*-*-elf* | m68*-*-sysv4*)
631 targ_defvec=bfd_elf32_m68k_vec
632 targ_selvecs="m68kcoff_vec ieee_vec"
635 targ_defvec=bfd_elf32_m68k_vec
636 targ_selvecs="m68kcoff_vec versados_vec ieee_vec aout0_big_vec"
638 m68*-*-coff* | m68*-*-sysv*)
639 targ_defvec=m68kcoff_vec
640 targ_selvecs="m68kcoff_vec versados_vec ieee_vec"
643 targ_defvec=hp300hpux_vec
647 targ_defvec=m68klinux_vec
648 targ_selvecs=bfd_elf32_m68k_vec
652 targ_defvec=bfd_elf32_m68k_vec
653 targ_selvecs=m68klinux_vec
656 targ_defvec=bfd_elf32_m68k_vec
657 # targ_selvecs=m68kmach3_vec
658 # targ_cflags=-DSTAT_FOR_EXEC
661 targ_defvec=m68klynx_coff_vec
662 targ_selvecs=m68klynx_aout_vec
665 targ_defvec=m68k4knetbsd_vec
666 targ_selvecs="m68knetbsd_vec hp300bsd_vec sunos_big_vec"
670 targ_defvec=bfd_elf32_m68k_vec
671 targ_selvecs="m68knetbsd_vec m68k4knetbsd_vec hp300bsd_vec sunos_big_vec"
673 m68*-*-netbsdaout* | m68*-*-netbsd*)
674 targ_defvec=m68knetbsd_vec
675 targ_selvecs="m68k4knetbsd_vec bfd_elf32_m68k_vec hp300bsd_vec sunos_big_vec"
679 targ_defvec=m68knetbsd_vec
680 targ_selvecs="m68k4knetbsd_vec hp300bsd_vec sunos_big_vec"
683 m68*-*-sunos* | m68*-*-os68k* | m68*-*-vxworks* | m68*-netx-* | \
684 m68*-*-bsd* | m68*-*-vsta*)
685 targ_defvec=sunos_big_vec
689 targ_defvec=sunos_big_vec
690 targ_selvecs="m68kcoff_vec versados_vec tekhex_vec"
694 targ_defvec=bfd_elf32_m68k_vec
695 targ_selvecs=m68kcoff_vec
698 targ_defvec=m68kaux_coff_vec
701 targ_defvec=bfd_elf32_m68k_vec
702 targ_selvecs=ieee_vec
706 m88*-harris-cxux* | m88*-*-dgux* | m88*-*-sysv4*)
707 targ_defvec=bfd_elf32_m88k_vec
708 targ_selvecs=m88kbcs_vec
711 targ_defvec=m88kmach3_vec
712 targ_cflags=-DSTAT_FOR_EXEC
715 targ_defvec=m88kbcs_vec
720 targ_defvec=bfd_elf32_mcore_big_vec
721 targ_selvecs="bfd_elf32_mcore_big_vec bfd_elf32_mcore_little_vec"
724 targ_defvec=mcore_pe_big_vec
725 targ_selvecs="mcore_pe_big_vec mcore_pe_little_vec mcore_pei_big_vec mcore_pei_little_vec"
729 targ_defvec=ecoff_big_vec
730 targ_selvecs=ecoff_little_vec
733 targ_defvec=bfd_elf32_littlemips_vec
734 targ_selvecs="bfd_elf32_bigmips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec ecoff_little_vec ecoff_big_vec"
737 targ_defvec=bfd_elf32_bigmips_vec
738 targ_selvecs="bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec ecoff_big_vec ecoff_little_vec"
741 targ_defvec=aout_mips_little_vec
742 targ_cflags=-DSTAT_FOR_EXEC
744 mips*-dec-* | mips*el-*-ecoff*)
745 targ_defvec=ecoff_little_vec
746 targ_selvecs=ecoff_big_vec
749 targ_defvec=ecoff_big_vec
750 targ_selvecs=ecoff_little_vec
754 targ_defvec=bfd_elf32_nbigmips_vec
755 targ_selvecs="bfd_elf32_nlittlemips_vec bfd_elf32_bigmips_vec bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec"
759 targ_defvec=bfd_elf32_bigmips_vec
760 targ_selvecs="bfd_elf32_littlemips_vec ecoff_big_vec ecoff_little_vec"
762 mips*-sgi-* | mips*-*-bsd*)
763 targ_defvec=ecoff_big_vec
764 targ_selvecs=ecoff_little_vec
767 targ_defvec=ecoff_biglittle_vec
768 targ_selvecs="ecoff_little_vec ecoff_big_vec"
771 targ_defvec=aout_mips_little_vec
772 targ_cflags=-DSTAT_FOR_EXEC
775 targ_defvec=bfd_elf32_tradbigmips_vec
776 targ_selvecs="bfd_elf32_tradlittlemips_vec ecoff_big_vec ecoff_little_vec"
778 mips*-*-sysv* | mips*-*-riscos*)
779 targ_defvec=ecoff_big_vec
780 targ_selvecs=ecoff_little_vec
782 mips*el-*-elf* | mips*el-*-rtems* | mips*el-*-vxworks* | mips*-*-chorus*)
783 targ_defvec=bfd_elf32_littlemips_vec
784 targ_selvecs="bfd_elf32_bigmips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec"
786 mips*-*-elf* | mips*-*-rtems* | mips*-*-vxworks*)
787 targ_defvec=bfd_elf32_bigmips_vec
788 targ_selvecs="bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec"
791 targ_defvec=bfd_elf32_bigmips_vec
792 targ_selvecs="bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec"
795 targ_defvec=bfd_elf32_littlemips_vec
796 targ_selvecs="bfd_elf32_bigmips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec ecoff_little_vec ecoff_big_vec"
799 targ_defvec=bfd_elf32_bigmips_vec
800 targ_selvecs="bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec ecoff_big_vec ecoff_little_vec"
804 targ_defvec=bfd_elf32_ntradlittlemips_vec
805 targ_selvecs="bfd_elf32_ntradbigmips_vec bfd_elf32_tradlittlemips_vec bfd_elf32_tradbigmips_vec bfd_elf64_tradlittlemips_vec bfd_elf64_tradbigmips_vec"
808 targ_defvec=bfd_elf32_ntradbigmips_vec
809 targ_selvecs="bfd_elf32_ntradlittlemips_vec bfd_elf32_tradbigmips_vec bfd_elf32_tradlittlemips_vec bfd_elf64_tradbigmips_vec bfd_elf64_tradlittlemips_vec"
813 targ_defvec=bfd_elf32_tradlittlemips_vec
814 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"
818 targ_defvec=bfd_elf32_tradbigmips_vec
819 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"
824 targ_defvec=bfd_elf64_mmix_vec
825 targ_selvecs=bfd_mmo_vec
829 targ_defvec=bfd_elf32_mn10200_vec
833 targ_defvec=bfd_elf32_mn10300_vec
838 targ_defvec=bfd_elf32_msp430_vec
841 ns32k-pc532-mach* | ns32k-pc532-ux*)
842 targ_defvec=pc532machaout_vec
845 ns32k-*-netbsd* | ns32k-*-lites* | ns32k-*-openbsd*)
846 targ_defvec=pc532netbsd_vec
851 targ_defvec=bfd_elf32_openrisc_vec
854 or32-*-coff | or32-*-rtems*)
855 targ_defvec=or32coff_big_vec
860 targ_defvec=bfd_elf32_or32_big_vec
864 targ_defvec=pdp11_aout_vec
869 targ_defvec=bfd_elf32_pj_vec
870 targ_selvecs="bfd_elf32_pj_vec bfd_elf32_pjl_vec"
874 targ_defvec=bfd_elf32_pjl_vec
875 targ_selvecs="bfd_elf32_pjl_vec bfd_elf32_pj_vec bfd_elf32_i386_vec"
879 targ_defvec=rs6000coff_vec
880 targ_selvecs="aix5coff64_vec"
885 targ_defvec=aix5coff64_vec
886 targ_selvecs="rs6000coff_vec"
891 powerpc-*-aix* | powerpc-*-beos* | rs6000-*-*)
892 targ_defvec=rs6000coff_vec
893 targ64_selvecs=rs6000coff64_vec
895 *-*-aix4.[3456789]* | *-*-aix[56789]*)
899 targ_cflags=-DSMALL_ARCHIVE;;
904 targ_defvec=rs6000coff64_vec
905 targ_selvecs=rs6000coff_vec
907 powerpc64-*-elf* | powerpc-*-elf64* | powerpc64-*-linux* | \
909 targ_defvec=bfd_elf64_powerpc_vec
910 targ_selvecs="bfd_elf64_powerpcle_vec bfd_elf32_powerpc_vec bfd_elf32_powerpcle_vec rs6000coff_vec rs6000coff64_vec"
912 powerpc64le-*-elf* | powerpcle-*-elf64*)
913 targ_defvec=bfd_elf64_powerpcle_vec
914 targ_selvecs="bfd_elf64_powerpc_vec bfd_elf32_powerpcle_vec bfd_elf32_powerpc_vec rs6000coff_vec rs6000coff64_vec"
917 powerpc-*-*bsd* | powerpc-*-elf* | powerpc-*-sysv4* | powerpc-*-eabi* | \
918 powerpc-*-solaris2* | powerpc-*-linux-gnu* | powerpc-*-rtems* | \
919 powerpc-*-chorus* | powerpc-*-vxworks* | powerpc-*-windiss*)
920 targ_defvec=bfd_elf32_powerpc_vec
921 targ_selvecs="rs6000coff_vec bfd_elf32_powerpcle_vec ppcboot_vec"
922 targ64_selvecs="bfd_elf64_powerpc_vec bfd_elf64_powerpcle_vec"
925 targ_defvec=bfd_elf32_powerpc_vec
926 targ_selvecs="bfd_elf32_powerpcle_vec ppcboot_vec"
927 targ64_selvecs="bfd_elf64_powerpc_vec bfd_elf64_powerpcle_vec"
929 powerpc-*-darwin* | powerpc-*-macos10* | powerpc-*-rhapsody*)
930 targ_defvec=mach_o_be_vec
931 targ_selvecs="mach_o_be_vec mach_o_le_vec mach_o_fat_vec pef_vec pef_xlib_vec sym_vec"
932 targ_archs="bfd_powerpc_arch bfd_rs6000_arch bfd_i386_arch"
934 powerpc-*-macos* | powerpc-*-mpw*)
935 targ_defvec=pmac_xcoff_vec
938 targ_defvec=bfd_elf32_powerpc_vec
939 targ_selvecs="nlm32_powerpc_vec rs6000coff_vec"
942 targ_defvec=bfd_elf32_powerpc_vec
943 targ_selvecs="rs6000coff_vec bfd_elf32_powerpcle_vec ppcboot_vec"
946 targ_defvec=bfd_elf32_powerpcle_vec
947 targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec"
949 powerpcle-*-elf* | powerpcle-*-sysv4* | powerpcle-*-eabi* | \
950 powerpcle-*-solaris2* | powerpcle-*-linux-gnu* | powerpcle-*-vxworks* |\
952 targ_defvec=bfd_elf32_powerpcle_vec
953 targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec"
954 targ64_selvecs="bfd_elf64_powerpc_vec bfd_elf64_powerpcle_vec"
956 powerpcle-*-pe | powerpcle-*-winnt* | powerpcle-*-cygwin*)
957 targ_defvec=bfd_powerpcle_pe_vec
958 targ_selvecs="bfd_powerpcle_pei_vec bfd_powerpc_pei_vec bfd_powerpcle_pe_vec bfd_powerpc_pe_vec"
962 targ_defvec=bfd_elf32_s390_vec
963 targ64_selvecs=bfd_elf64_s390_vec
967 targ_defvec=bfd_elf64_s390_vec
968 targ_selvecs=bfd_elf32_s390_vec
974 targ_defvec=bfd_elf32_sh64l_vec
975 targ_selvecs="bfd_elf32_sh64_vec bfd_elf64_sh64l_vec bfd_elf64_sh64_vec bfd_elf32_shl_vec bfd_elf32_sh_vec"
979 targ_defvec=bfd_elf32_sh64_vec
980 targ_selvecs="bfd_elf32_sh64l_vec bfd_elf64_sh64_vec bfd_elf64_sh64l_vec bfd_elf32_sh_vec bfd_elf32_shl_vec"
984 targ_defvec=bfd_elf32_sh64blin_vec
985 targ_selvecs="bfd_elf32_sh64lin_vec bfd_elf64_sh64blin_vec bfd_elf64_sh64lin_vec bfd_elf32_shblin_vec bfd_elf32_shlin_vec"
988 targ_defvec=bfd_elf32_sh64lin_vec
989 targ_selvecs="bfd_elf32_sh64blin_vec bfd_elf64_sh64lin_vec bfd_elf64_sh64blin_vec bfd_elf32_shlin_vec bfd_elf32_shblin_vec"
994 targ_defvec=bfd_elf32_shblin_vec
995 targ_selvecs=bfd_elf32_shlin_vec
997 targ_selvecs="${targ_selvecs} bfd_elf32_sh64lin_vec bfd_elf32_sh64blin_vec bfd_elf64_sh64lin_vec bfd_elf64_sh64blin_vec"
1001 targ_defvec=bfd_elf32_shblin_vec
1002 targ_selvecs=bfd_elf32_shlin_vec
1005 targ_defvec=bfd_elf32_shlin_vec
1006 targ_selvecs=bfd_elf32_shblin_vec
1011 targ_defvec=bfd_elf32_sh64lnbsd_vec
1012 targ_selvecs="bfd_elf32_sh64nbsd_vec bfd_elf64_sh64lnbsd_vec bfd_elf64_sh64nbsd_vec"
1015 targ_defvec=bfd_elf32_sh64nbsd_vec
1016 targ_selvecs="bfd_elf32_sh64lnbsd_vec bfd_elf64_sh64lnbsd_vec bfd_elf64_sh64nbsd_vec"
1020 targ_defvec=bfd_elf64_sh64lnbsd_vec
1021 targ_selvecs="bfd_elf64_sh64nbsd_vec bfd_elf32_sh64lnbsd_vec bfd_elf32_sh64nbsd_vec"
1024 targ_defvec=bfd_elf64_sh64nbsd_vec
1025 targ_selvecs="bfd_elf64_sh64lnbsd_vec bfd_elf32_sh64lnbsd_vec bfd_elf32_sh64nbsd_vec"
1030 targ_defvec=bfd_elf32_shlnbsd_vec
1031 targ_selvecs="bfd_elf32_shnbsd_vec shcoff_vec shlcoff_vec"
1033 targ_selvecs="${targ_selvecs} bfd_elf32_sh64lnbsd_vec bfd_elf32_sh64nbsd_vec bfd_elf64_sh64lnbsd_vec bfd_elf64_sh64nbsd_vec"
1037 targ_defvec=bfd_elf32_shnbsd_vec
1038 targ_selvecs="bfd_elf32_shlnbsd_vec shcoff_vec shlcoff_vec"
1040 targ_selvecs="${targ_selvecs} bfd_elf32_sh64lnbsd_vec bfd_elf32_sh64nbsd_vec bfd_elf64_sh64lnbsd_vec bfd_elf64_sh64nbsd_vec"
1044 targ_defvec=bfd_elf32_shnbsd_vec
1045 targ_selvecs="bfd_elf32_shlnbsd_vec shcoff_vec shlcoff_vec"
1047 shl*-*-elf* | sh[1234]l*-*-elf* | sh3el*-*-elf* | shl*-*-kaos*)
1048 targ_defvec=bfd_elf32_shl_vec
1049 targ_selvecs="bfd_elf32_sh_vec shlcoff_vec shcoff_vec shlcoff_small_vec shcoff_small_vec"
1051 targ_selvecs="${targ_selvecs} bfd_elf32_sh64_vec bfd_elf32_sh64l_vec bfd_elf64_sh64_vec bfd_elf64_sh64l_vec"
1055 sh-*-elf* | sh[1234]*-elf* | sh-*-rtemself* | sh-*-kaos*)
1056 targ_defvec=bfd_elf32_sh_vec
1057 targ_selvecs="bfd_elf32_shl_vec shcoff_vec shlcoff_vec shcoff_small_vec shlcoff_small_vec"
1059 targ_selvecs="${targ_selvecs} bfd_elf32_sh64_vec bfd_elf32_sh64l_vec bfd_elf64_sh64_vec bfd_elf64_sh64l_vec"
1064 targ_defvec=bfd_elf32_sh_vec
1065 targ_selvecs="bfd_elf32_shl_vec shcoff_vec shlcoff_vec shcoff_small_vec shlcoff_small_vec"
1069 targ_defvec=shlpe_vec
1070 targ_selvecs="shlpe_vec shlpei_vec"
1073 sh-*-* | sh-*-rtems*)
1074 targ_defvec=shcoff_vec
1075 targ_selvecs="shcoff_vec shlcoff_vec shcoff_small_vec shlcoff_small_vec"
1080 targ_defvec=sunos_big_vec
1081 targ_selvecs=sparcle_aout_vec
1085 targ_defvec=sunos_big_vec
1088 sparclite-*-elf* | sparc86x-*-elf*)
1089 targ_defvec=bfd_elf32_sparc_vec
1092 targ_defvec=bfd_elf32_sparc_vec
1094 sparc-*-linux*aout*)
1095 targ_defvec=sparclinux_vec
1096 targ_selvecs="bfd_elf32_sparc_vec sunos_big_vec"
1100 targ_defvec=bfd_elf32_sparc_vec
1101 targ_selvecs="sparclinux_vec bfd_elf64_sparc_vec sunos_big_vec"
1104 targ_defvec=sparclynx_coff_vec
1105 targ_selvecs=sparclynx_aout_vec
1108 targ_defvec=bfd_elf32_sparc_vec
1109 targ_selvecs=sparcnetbsd_vec
1111 sparc-*-netbsdaout* | sparc-*-netbsd*)
1112 targ_defvec=sparcnetbsd_vec
1113 targ_selvecs=bfd_elf32_sparc_vec
1116 sparc-*-openbsd[0-2].* | sparc-*-openbsd3.[0-1])
1117 targ_defvec=sparcnetbsd_vec
1121 targ_defvec=bfd_elf32_sparc_vec
1122 targ_selvecs=sparcnetbsd_vec
1124 sparc-*-elf* | sparc-*-solaris2.[0-6] | sparc-*-solaris2.[0-6].*)
1125 targ_defvec=bfd_elf32_sparc_vec
1126 targ_selvecs=sunos_big_vec
1129 sparc-*-solaris2* | sparcv9-*-solaris2* | sparc64-*-solaris2*)
1130 targ_defvec=bfd_elf32_sparc_vec
1131 targ_selvecs="bfd_elf64_sparc_vec sunos_big_vec"
1135 targ_defvec=bfd_elf32_sparc_vec
1138 targ_defvec=bfd_elf32_sparc_vec
1139 targ_selvecs="nlm32_sparc_vec sunos_big_vec"
1143 targ_defvec=sunos_big_vec
1146 sparc64-*-linux-gnu*)
1147 targ_defvec=bfd_elf64_sparc_vec
1148 targ_selvecs="bfd_elf32_sparc_vec sparclinux_vec sunos_big_vec"
1151 targ_defvec=bfd_elf64_sparc_vec
1152 targ_selvecs=bfd_elf32_sparc_vec
1156 targ_defvec=sparccoff_vec
1158 sparc*-*-rtemsaout*)
1159 targ_defvec=sunos_big_vec
1160 targ_selvecs="bfd_elf32_sparc_vec sparccoff_vec"
1163 sparc*-*-rtems* | sparc*-*-rtemself*)
1164 targ_defvec=bfd_elf32_sparc_vec
1165 targ_selvecs="sunos_big_vec sparccoff_vec"
1167 sparc*-*-* | sparc*-*-rtems*)
1168 targ_defvec=sunos_big_vec
1172 #if HAVE_host_aout_vec
1174 targ_defvec=host_aout_vec
1180 targ_defvec=tic80coff_vec
1185 targ_defvec=bfd_elf32_v850_vec
1188 targ_defvec=bfd_elf32_v850_vec
1191 targ_defvec=bfd_elf32_v850_vec
1195 targ_defvec=bfd_elf32_vax_vec
1196 targ_selvecs="vaxnetbsd_vec vax1knetbsd_vec"
1199 vax-*-netbsdaout* | vax-*-netbsd*)
1200 targ_defvec=vaxnetbsd_vec
1201 targ_selvecs="bfd_elf32_vax_vec vax1knetbsd_vec"
1205 vax-*-bsd* | vax-*-ultrix*)
1206 targ_defvec=vaxbsd_vec
1211 targ_defvec=vaxnetbsd_vec
1216 targ_defvec=vms_vax_vec
1220 targ_defvec=we32kcoff_vec
1228 targ_defvec=bfd_elf32_xstormy16_vec
1232 targ_defvec=bfd_elf32_xtensa_le_vec
1233 targ_selvecs=bfd_elf32_xtensa_be_vec
1237 targ_defvec=z8kcoff_vec
1242 targ_defvec=ieee_vec
1246 targ_defvec=a_out_adobe_vec
1251 targ_defvec=newsos3_vec
1256 targ_defvec=m68kcoff_vec
1257 targ_selvecs=ieee_vec
1259 # END OF targmatch.h
1261 echo 1>&2 "*** BFD does not support target ${targ}."
1262 echo 1>&2 "*** Look in bfd/config.bfd for supported targets."
1267 case "${host64}${want64}" in
1269 targ_selvecs="${targ_selvecs} ${targ64_selvecs}"
1273 # If we support any ELF target, then automatically add support for the
1274 # generic ELF targets. This permits an objdump with some ELF support
1275 # to be used on an arbitrary ELF file for anything other than
1276 # relocation information.
1277 case "${targ_defvec} ${targ_selvecs}" in
1278 *bfd_elf64* | *bfd_elf32_n*mips*)
1279 targ_selvecs="${targ_selvecs} bfd_elf64_little_generic_vec bfd_elf64_big_generic_vec bfd_elf32_little_generic_vec bfd_elf32_big_generic_vec"
1282 targ_selvecs="${targ_selvecs} bfd_elf32_little_generic_vec bfd_elf32_big_generic_vec"