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