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