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