]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - bfd/config.bfd
Replace 'flags' with 'signed_overflow_ok_p'
[thirdparty/binutils-gdb.git] / bfd / config.bfd
CommitLineData
252b5132
RH
1# config.bfd
2# Convert a canonical host type into a BFD host type.
3# Set shell variable targ to canonical target name, and run
4# using ``. config.bfd''.
5# Sets the following shell variables:
6# targ_defvec Default vector for this target
7# targ_selvecs Vectors to build for this target
8# targ_archs Architectures for this target
9# targ_cflags $(CFLAGS) for this target (FIXME: pretty bogus)
10# targ_underscore Whether underscores are used: yes or no
11
12# Part of this file is processed by targmatch.sed to generate the
13# targmatch.h file. The #ifdef and #endif lines that appear below are
14# copied directly into targmatch.h.
15
16# The binutils c++filt program wants to know whether underscores are
17# stripped or not. That is why we set targ_underscore. c++filt uses
18# this information to choose a default. This information is
19# duplicated in the symbol_leading_char field of the BFD target
20# vector, but c++filt does not deal with object files and is not
21# linked against libbfd.a. It is not terribly important that c++filt
22# get this right; it is just convenient.
23
24targ_defvec=
25targ_selvecs=
26targ_cflags=
27targ_underscore=no
28
29targ_cpu=`echo $targ | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
30case "${targ_cpu}" in
31alpha*) targ_archs=bfd_alpha_arch ;;
32arm*) targ_archs=bfd_arm_arch ;;
33strongarm*) targ_archs=bfd_arm_arch ;;
34thumb*) targ_archs=bfd_arm_arch ;;
35c30*) targ_archs=bfd_tic30_arch ;;
36hppa*) targ_archs=bfd_hppa_arch ;;
37i[3456]86) targ_archs=bfd_i386_arch ;;
5b93d8bb 38i370) targ_archs=bfd_i370_arch ;;
252b5132
RH
39m68*) targ_archs=bfd_m68k_arch ;;
40m88*) targ_archs=bfd_m88k_arch ;;
41mips*) targ_archs=bfd_mips_arch ;;
0bcb993b 42pj*) targ_archs="bfd_pj_arch bfd_i386_arch";;
252b5132
RH
43powerpc*) targ_archs="bfd_rs6000_arch bfd_powerpc_arch" ;;
44rs6000) targ_archs="bfd_rs6000_arch bfd_powerpc_arch" ;;
45sparc*) targ_archs=bfd_sparc_arch ;;
46v850*) targ_archs=bfd_v850_arch ;;
47z8k*) targ_archs=bfd_z8k_arch ;;
48*) targ_archs=bfd_${targ_cpu}_arch ;;
49esac
50
51
52# WHEN ADDING ENTRIES TO THIS MATRIX:
53# Make sure that the left side always has two dashes. Otherwise you
54# can get spurious matches. Even for unambiguous cases, do this as a
55# convention, else the table becomes a real mess to understand and maintain.
56
57case "${targ}" in
58# START OF targmatch.h
59#ifdef BFD64
7a50d4ac 60 alpha*-*-netbsd* | alpha*-*-freebsd*)
252b5132
RH
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 */
83
84 arc-*-elf*)
85 targ_defvec=bfd_elf32_littlearc_vec
86 targ_selvecs=bfd_elf32_bigarc_vec
87 ;;
88
021e3cc0
NC
89 arm-*-netbsd*)
90 targ_defvec=armnetbsd_vec
91 targ_underscore=yes
92 ;;
252b5132
RH
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 ;;
0decc840 119 arm-*-elf | arm*-*-linux-gnu* | arm*-*-conix*)
252b5132
RH
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 ;;
127
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 ;;
160
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 ;;
171
172 c30-*-*aout* | tic30-*-*aout*)
173 targ_defvec=tic30_aout_vec
174 ;;
175 c30-*-*coff* | tic30-*-*coff*)
176 targ_defvec=tic30_coff_vec
177 ;;
178
179 d10v-*-*)
180 targ_defvec=bfd_elf32_d10v_vec
181 ;;
182
183 d30v-*-*)
184 targ_defvec=bfd_elf32_d30v_vec
185 ;;
186
187 fr30-*-elf)
188 targ_defvec=bfd_elf32_fr30_vec
189 ;;
190
191
192 h8300*-*-*)
193 targ_defvec=h8300coff_vec
194 targ_underscore=yes
195 ;;
196
197 h8500-*-*)
198 targ_defvec=h8500coff_vec
199 targ_underscore=yes
200 ;;
201
494e2c58 202#if 0 /* HPPA ELF does not work currently. */
5b4e2818 203 hppa*-*-*elf* | hppa*-*-linux-gnu* | hppa*-*-lites* | hppa*-*-sysv4* | hppa*-*-rtems*)
252b5132
RH
204 targ_defvec=bfd_elf32_hppa_vec
205 ;;
494e2c58 206#endif
252b5132 207#if defined (HOST_HPPAHPUX) || defined (HOST_HPPABSD) || defined (HOST_HPPAOSF) || defined (HOST_HPPAMPEIX)
494e2c58 208#if 0 /* HPPA ELF does not work currently. */
252b5132
RH
209 hppa*-*-bsd*)
210 targ_defvec=som_vec
211 targ_selvecs=bfd_elf32_hppa_vec
212 ;;
494e2c58 213#endif
252b5132
RH
214 hppa*-*-hpux* | hppa*-*-hiux* | hppa*-*-mpeix*)
215 targ_defvec=som_vec
216 ;;
494e2c58 217#if 0 /* HPPA ELF does not work currently. */
252b5132
RH
218 hppa*-*-osf*)
219 targ_defvec=som_vec
220 targ_selvecs=bfd_elf32_hppa_vec
221 ;;
494e2c58 222#endif
252b5132
RH
223#endif /* defined (HOST_HPPAHPUX) || defined (HOST_HPPABSD) || defined (HOST_HPPAOSF) */
224
5b93d8bb
AM
225 i370-*-*)
226 targ_defvec=bfd_elf32_i370_vec
227 targ_selvecs="bfd_elf32_i370_vec"
228 ;;
252b5132
RH
229 i[3456]86-*-sco3.2v5*coff)
230 targ_defvec=i386coff_vec
231 targ_selvecs=bfd_elf32_i386_vec
232 ;;
4766cbee 233 i[3456]86-*-sysv4* | i[3456]86-*-unixware* | i[3456]86-*-solaris2* | \
7a50d4ac 234 i[3456]86-*-elf | i[3456]86-*-sco3.2v5* | \
252b5132
RH
235 i[3456]86-*-dgux* | i[3456]86-*-sysv5*)
236 targ_defvec=bfd_elf32_i386_vec
237 targ_selvecs=i386coff_vec
238 ;;
2e9a84c8
RH
239 i[3456]86-*-rtemself*)
240 targ_defvec=bfd_elf32_i386_vec
241 targ_selvecs="i386coff_vec i386aout_vec"
242 ;;
252b5132
RH
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 | \
2e9a84c8
RH
248 i[3456]86-*-aix*)
249 targ_defvec=i386coff_vec
250 ;;
251 i[3456]86*-*-rtems*)
252b5132 252 targ_defvec=i386coff_vec
2e9a84c8 253 targ_selvecs="bfd_elf32_i386_vec i386aout_vec"
252b5132 254 ;;
2e9a84c8 255 i[3456]86-sequent-bsd*)
252b5132
RH
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 ;;
7a50d4ac
ILT
263 i[3456]86-*-freebsdaout* | i[3456]86-*-freebsd[12].* | \
264 i[3456]86-*-freebsd[12])
252b5132
RH
265 targ_defvec=i386freebsd_vec
266 targ_selvecs=i386bsd_vec
267 targ_underscore=yes
268 ;;
7a50d4ac
ILT
269 i[3456]86-*-freebsd*)
270 targ_defvec=bfd_elf32_i386_vec
271 targ_selvecs=i386coff_vec
272 ;;
252b5132
RH
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 ;;
7d923127
ILT
322 i[3456]86-*-interix*)
323 targ_defvec=i386pei_vec
324 targ_selvecs="i386pe_vec"
0717ebb7
ILT
325 # FIXME: This should eventually be checked at runtime.
326 targ_cflags=-DSTRICT_PE_FORMAT
7d923127 327 ;;
252b5132
RH
328 i[3456]86-*-mingw32* | i[3456]86-*-cygwin* | i[3456]86-*-winnt | i[3456]86-*-pe)
329 targ_defvec=i386pe_vec
16e9c715 330 targ_selvecs="i386pe_vec i386pei_vec bfd_elf32_i386_vec"
252b5132
RH
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 ;;
ac352105
ILT
338 i[3456]86-*-vxworks*)
339 targ_defvec=i386aout_vec
957ccf44 340 targ_underscore=yes
ac352105 341 ;;
252b5132
RH
342
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 ;;
349
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 ;;
b2ef150d
ILT
365 i960-*-elf*)
366 targ_defvec=bfd_elf32_i960_vec
367 targ_selvecs="icoff_little_vec icoff_big_vec"
368 ;;
252b5132
RH
369
370 m32r-*-*)
371 targ_defvec=bfd_elf32_m32r_vec
372 ;;
373
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
f4bda984 390 # We include cisco_core_big_vec here, rather than making a separate cisco
252b5132
RH
391 # configuration, so that cisco-core.c gets routinely tested at
392 # least for compilation.
f4bda984 393 targ_selvecs="cisco_core_big_vec ieee_vec"
252b5132
RH
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 ;;
2e9a84c8
RH
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*)
252b5132
RH
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 ;;
462
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 ;;
475
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 ;;
484
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 ;;
2e9a84c8 541 mips*el-*-elf* | mips*el-*-rtems* | mips*el-*-vxworks*)
252b5132
RH
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 ;;
561
562 mn10200-*-*)
563 targ_defvec=bfd_elf32_mn10200_vec
564 ;;
565
566 mn10300-*-*)
567 targ_defvec=bfd_elf32_mn10300_vec
568 ;;
569
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 ;;
578
0bcb993b
ILT
579 pj-*-*)
580 targ_defvec=bfd_elf32_pj_vec
581 targ_selvecs="bfd_elf32_pj_vec bfd_elf32_pjl_vec"
582 ;;
583
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 ;;
588
252b5132
RH
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* | \
2e9a84c8
RH
606 powerpcle-*-solaris2* | powerpcle-*-linux-gnu* | powerpcle-*-vxworks* |\
607 powerpcle-*-rtems*)
252b5132
RH
608 targ_defvec=bfd_elf32_powerpcle_vec
609 targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec"
610 ;;
611
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 ;;
616
617 rs6000-*-*)
618 targ_defvec=rs6000coff_vec
619 ;;
620
2e9a84c8 621 sh-*-elf* | sh-*-rtemself*)
252b5132
RH
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 ;;
631
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
9d23b7fe 651 targ_selvecs="sparclinux_vec bfd_elf64_sparc_vec sunos_big_vec"
252b5132
RH
652 ;;
653 sparc-*-lynxos*)
654 targ_defvec=sparclynx_coff_vec
655 targ_selvecs=sparclynx_aout_vec
656 ;;
93be3c4b
AC
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*)
252b5132
RH
667 targ_defvec=sparcnetbsd_vec
668 targ_underscore=yes
669 ;;
246c6687 670 sparc-*-elf* | sparc-*-solaris2.[0-6] | sparc-*-solaris2.[0-6].*)
252b5132
RH
671 targ_defvec=bfd_elf32_sparc_vec
672 targ_selvecs=sunos_big_vec
673 ;;
246c6687
AO
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
252b5132
RH
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 ;;
708
709#if HAVE_host_aout_vec
710 tahoe-*-*)
711 targ_defvec=host_aout_vec
712 targ_underscore=yes
713 ;;
714#endif
715
716 tic80*-*-*)
717 targ_defvec=tic80coff_vec
718 targ_underscore=yes
719 ;;
720
721
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
737
738 vax*-*-*vms*)
739 targ_defvec=vms_vax_vec
740 ;;
741
742 we32k-*-*)
743 targ_defvec=we32kcoff_vec
744 ;;
745
746 w65-*-*)
747 targ_defvec=w65_vec
748 ;;
749
750 z8k*-*-*)
751 targ_defvec=z8kcoff_vec
752 targ_underscore=yes
753 ;;
754
755 *-*-ieee*)
756 targ_defvec=ieee_vec
757 ;;
758
759 *-adobe-*)
760 targ_defvec=a_out_adobe_vec
761 targ_underscore=yes
762 ;;
763
764 *-sony-*)
765 targ_defvec=newsos3_vec
766 targ_underscore=yes
767 ;;
768
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 ;;
779esac
780
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.
785case "${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 ;;
792esac