Commit | Line | Data |
---|---|---|
49df10b1 DM |
1 | # config.bfd |
2 | # Convert a canonical host type into a BFD host type. | |
2b79a104 ILT |
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_undercore Whether underscores are used: yes or no | |
49df10b1 | 11 | |
1fb83be6 | 12 | # The binutils c++filt program wants to know whether underscores are |
2b79a104 ILT |
13 | # stripped or not. That is why we set targ_underscore. c++filt uses |
14 | # this information to choose a default. This information is | |
15 | # duplicated in the symbol_leading_char field of the BFD target | |
16 | # vector, but c++filt does not deal with object files and is not | |
17 | # linked against libbfd.a. It is not terribly important that c++filt | |
18 | # get this right; it is just convenient. | |
19 | ||
20 | targ_defvec= | |
21 | targ_selvecs= | |
22 | targ_cflags= | |
23 | targ_underscore=no | |
24 | ||
25 | targ_cpu=`echo $targ | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\1/'` | |
26 | case "${targ_cpu}" in | |
27 | arm*) targ_archs=bfd_arm_arch ;; | |
28 | hppa*) targ_archs=bfd_hppa_arch ;; | |
29 | i[345]86) targ_archs=bfd_i386_arch ;; | |
30 | m68*) targ_archs=bfd_m68k_arch ;; | |
31 | m88*) targ_archs=bfd_m88k_arch ;; | |
32 | mips*) targ_archs=bfd_mips_arch ;; | |
33 | powerpc*) targ_archs="bfd_rs6000_arch bfd_powerpc_arch" ;; | |
34 | rs6000) targ_archs="bfd_rs6000_arch bfd_powerpc_arch" ;; | |
35 | sparc*) targ_archs=bfd_sparc_arch ;; | |
36 | z8k*) targ_archs=bfd_z8k_arch ;; | |
37 | *) targ_archs=bfd_${targ_cpu}_arch ;; | |
38 | esac | |
1fb83be6 | 39 | |
49df10b1 DM |
40 | # WHEN ADDING ENTRIES TO THIS MATRIX: |
41 | # Make sure that the left side always has two dashes. Otherwise you | |
42 | # can get spurious matches. Even for unambiguous cases, do this as a | |
43 | # convention, else the table becomes a real mess to understand and maintain. | |
44 | ||
2b79a104 ILT |
45 | case "${targ}" in |
46 | alpha-*-netware*) | |
47 | targ_defvec=ecoffalpha_little_vec | |
48 | targ_selvecs=nlm32_alpha_vec | |
49 | ;; | |
50 | alpha-*-*) | |
51 | targ_defvec=ecoffalpha_little_vec | |
52 | ;; | |
53 | ||
e18ecf7a | 54 | # start-sanitize-arc |
2b79a104 ILT |
55 | arc-*-elf*) |
56 | targ_defvec=bfd_elf32_littlearc_vec | |
57 | targ_selvecs=bfd_elf32_bigarg_vec | |
58 | ;; | |
e18ecf7a | 59 | # end-sanitize-arc |
2b79a104 ILT |
60 | |
61 | arm-*-riscix*) | |
62 | targ_defvec=riscix_vec | |
63 | ;; | |
64 | arm-*-pe*) | |
65 | targ_defvec=armpe_little_vec | |
66 | targ_selvecs="armpe_little_vec armpe_big_vec armpei_little_vec armpei_big_vec" | |
67 | targ_underscore=yes | |
68 | ;; | |
bd676d26 | 69 | arm-*-aout | armel-*-aout) |
2b79a104 ILT |
70 | targ_defvec=aout_arm_little_vec |
71 | targ_selvecs=aout_arm_big_vec | |
72 | ;; | |
73 | armeb-*-aout) | |
74 | targ_defvec=aout_arm_big_vec | |
75 | targ_selvecs=aout_arm_little_vec | |
76 | ;; | |
a11e10fe DE |
77 | arm-*-coff) |
78 | targ_defvec=armcoff_little_vec | |
79 | targ_selvecs=armcoff_big_vec | |
80 | targ_underscore=yes | |
81 | ;; | |
2b79a104 ILT |
82 | |
83 | a29k-*-ebmon* | a29k-*-udi* | a29k-*-coff* | a29k-*-sym1* | \ | |
84 | a29k-*-vxworks* | a29k-*-sysv*) | |
85 | targ_defvec=a29kcoff_big_vec | |
86 | targ_selvecs=sunos_big_vec | |
87 | targ_underscore=yes | |
88 | ;; | |
89 | a29k-*-aout* | a29k-*-bsd* | a29k-*-vsta*) | |
90 | targ_defvec=sunos_big_vec | |
91 | targ_underscore=yes | |
92 | ;; | |
93 | ||
94 | h8300*-*-*) | |
95 | targ_defvec=h8300coff_vec | |
96 | targ_underscore=yes | |
97 | ;; | |
98 | ||
99 | h8500-*-*) | |
100 | targ_defvec=h8500coff_vec | |
101 | targ_underscore=yes | |
102 | ;; | |
103 | ||
104 | sh-*-*) | |
105 | targ_selvecs="shcoff_vec shlcoff_vec" | |
106 | targ_underscore=yes | |
107 | ;; | |
108 | ||
03c4ce2f | 109 | # start-sanitize-rce |
2b79a104 ILT |
110 | rce-*-aout*) |
111 | targ_defvec=rce_aout_vec | |
112 | ;; | |
113 | ||
03c4ce2f | 114 | # end-sanitize-rce |
2b79a104 ILT |
115 | hppa*-*-*elf* | hppa*-*-lites* | hppa*-*-sysv4*) |
116 | targ_defvec=bfd_elf32_hppa_vec | |
117 | ;; | |
118 | hppa*-*-bsd*) | |
119 | targ_defvec=som_vec | |
120 | targ_selvecs=bfd_elf32_hppa_vec | |
121 | ;; | |
122 | hppa*-*-hpux* | hppa*-*-hiux*) | |
123 | targ_defvec=som_vec | |
124 | ;; | |
125 | hppa*-*-osf*) | |
126 | targ_defvec=som_vec | |
127 | targ_selvecs=bfd_elf32_hppa_vec | |
128 | ;; | |
129 | ||
130 | i[345]86-*-sysv4* | i[345]86-*-unixware | i[345]86-*-solaris2* | \ | |
131 | i[345]86-*-elf) | |
132 | targ_defvec=bfd_elf32_i386_vec | |
133 | targ_selvecs=i386coff_vec | |
134 | ;; | |
135 | i[345]86-*-sysv* | i[345]86-*-isc* | i[345]86-*-sco* | i[345]86-*-coff | \ | |
136 | i[345]86-*-aix* | i[345]86-*-go32*) | |
137 | targ_defvec=i386coff_vec | |
138 | ;; | |
139 | i[345]86-sequent-bsd*) | |
140 | targ_defvec=i386dynix_vec | |
141 | targ_underscore=yes | |
142 | ;; | |
143 | i[345]86-*-bsd* | i[345]86-*-freebsd*) | |
144 | targ_defvec=i386bsd_vec | |
145 | targ_underscore=yes | |
146 | ;; | |
147 | i[345]86-*-netbsd*) | |
148 | targ_defvec=i386netbsd_vec | |
149 | targ_selvecs=i386bsd_vec | |
150 | targ_underscore=yes | |
151 | ;; | |
152 | i[345]86-*-netware*) | |
153 | targ_defvec=bfd_elf32_i386_vec | |
154 | targ_selvecs="nlm32_i386_vec i386coff_vec i386aout_vec" | |
155 | ;; | |
156 | i[345]86-*-linuxaout*) | |
157 | targ_defvec=i386linux_vec | |
158 | targ_selvecs=bfd_elf32_i386_vec | |
159 | targ_underscore=yes | |
160 | ;; | |
161 | i[345]86-*-linux*) | |
162 | targ_defvec=bfd_elf32_i386_vec | |
163 | targ_selvecs=i386linux_vec | |
164 | targ_underscore=yes | |
165 | ;; | |
166 | i[345]86-*-lynxos*) | |
167 | targ_defvec=i386lynx_coff_vec | |
168 | targ_selvecs=i386lynx_aout_vec | |
169 | ;; | |
170 | i[345]86-*-gnu*) | |
171 | targ_defvec=bfd_elf32_i386_vec | |
172 | targ_selvecs=i386mach3_vec | |
173 | targ_cflags=-DSTAT_FOR_EXEC | |
174 | targ_underscore=yes | |
175 | ;; | |
176 | i[345]86-*-mach* | i[345]86-*-osf1mk*) | |
177 | targ_defvec=i386mach3_vec | |
178 | targ_cflags=-DSTAT_FOR_EXEC | |
179 | targ_underscore=yes | |
180 | ;; | |
181 | i[345]86-*-os9k) | |
182 | targ_defvec=i386os9k_vec | |
183 | ;; | |
184 | i[345]86-*-msdos*) | |
185 | targ_defvec=i386aout_vec | |
186 | targ_selvecs=i386msdos_vec | |
187 | ;; | |
188 | i[345]86-*-moss*) | |
189 | targ_defvec=bfd_elf32_i386_vec | |
190 | targ_selvecs="i386msdos_vec i386aout_vec" | |
191 | ;; | |
192 | i[345]86-*-win32 | i[345]86-*-winnt | i[345]86-*-pe) | |
049df0a8 | 193 | targ_defvec=i386pe_vec |
2b79a104 ILT |
194 | targ_selvecs="i386pe_vec i386pei_vec" |
195 | ;; | |
196 | i[345]86-none-*) | |
197 | targ_defvec=i386coff_vec | |
198 | ;; | |
199 | i[345]86-*-aout* | i[345]86*-*-vsta*) | |
588512c6 | 200 | targ_defvec=i386aout_vec |
2b79a104 ILT |
201 | ;; |
202 | ||
203 | i860-*-sysv4*) | |
204 | targ_defvec=bfd_elf32_i860_vec | |
205 | ;; | |
206 | ||
207 | i960-*-vxworks4* | i960-*-vxworks5.0) | |
208 | targ_defvec=b_out_vec_little_host | |
209 | targ_selvecs="b_out_vec_big_host icoff_little_vec icoff_big_vec" | |
210 | targ_underscore=yes | |
211 | ;; | |
212 | i960-*-vxworks5.* | i960-*-coff* | i960-*-sysv*) | |
213 | targ_defvec=icoff_little_vec | |
214 | targ_selvecs="icoff_big_vec b_out_vec_little_host b_out_vec_big_host" | |
215 | targ_underscore=yes | |
216 | ;; | |
217 | i960-*-vxworks* | i960-*-aout* | i960-*-bout* | i960-*-nindy*) | |
218 | targ_defvec=b_out_vec_little_host | |
219 | targ_selvecs="b_out_vec_big_host icoff_little_vec icoff_big_vec" | |
220 | targ_underscore=yes | |
221 | ;; | |
49df10b1 | 222 | |
2b79a104 ILT |
223 | m68*-apollo-*) |
224 | targ_defvec=apollocoff_vec | |
225 | ;; | |
226 | m68*-bull-sysv*) | |
227 | targ_defvec=m68kcoffun_vec | |
228 | targ_underscore=yes | |
229 | ;; | |
230 | m68*-hp-bsd*) | |
231 | targ_defvec=hp300bsd_vec | |
232 | targ_underscore=yes | |
233 | ;; | |
234 | m68*-*-aout*) | |
235 | targ_defvec=aout0_big_vec | |
236 | # We include this here, rather than making a separate cisco | |
237 | # configuration, so that cisco-core.c gets routinely tested at | |
238 | # least for compilation. | |
239 | targ_selvecs=cisco_core_vec | |
240 | targ_underscore=yes | |
241 | ;; | |
242 | m68*-*-elf* | m68*-*-sysv4* | m68*-cbm-*) | |
243 | targ_defvec=bfd_elf32_m68k_vec | |
244 | targ_selvecs=m68kcoff_vec | |
245 | ;; | |
246 | m68*-*-coff* | m68*-*-sysv*) | |
247 | targ_defvec=m68kcoff_vec | |
248 | targ_selvecs="m68kcoff_vec versados_vec" | |
249 | ;; | |
250 | m68*-*-hpux*) | |
251 | targ_defvec=hp300hpux_vec | |
252 | targ_underscore=yes | |
253 | ;; | |
254 | m68*-*-lynxos*) | |
255 | targ_defvec=m68klynx_coff_vec | |
256 | targ_selvecs=m68klynx_aout_vec | |
257 | ;; | |
258 | m68*-*-netbsd*) | |
259 | targ_defvec=m68knetbsd_vec | |
260 | targ_selvecs="hp300bsd_vec sunos_big_vec" | |
261 | targ_underscore=yes | |
262 | ;; | |
263 | m68*-*-sunos* | m68*-*-os68k* | m68*-*-vxworks* | m68*-netx-* | \ | |
264 | m68*-*-bsd* | m68*-*-vsta*) | |
265 | targ_defvec=sunos_big_vec | |
266 | targ_underscore=yes | |
267 | ;; | |
268 | m68*-ericsson-*) | |
269 | targ_defvec=sunos_big_vec | |
270 | targ_selvecs="m68kcoff_vec tekhex_vec" | |
271 | targ_underscore=yes | |
272 | ;; | |
273 | ||
274 | m88*-harris-cxux* | m88*-*-dgux* | m88*-*-sysv4*) | |
275 | targ_defvec=bfd_elf32_m88k_vec | |
276 | targ_selvecs=m88kbcs_vec | |
277 | ;; | |
278 | m88*-*-mach3*) | |
279 | targ_defvec=m88kmach3_vec | |
280 | targ_cflags=-DSTAT_FOR_EXEC | |
281 | ;; | |
282 | m88*-*-*) | |
283 | targ_defvec=m88kbcs_vec | |
284 | targ_underscore=yes | |
285 | ;; | |
286 | ||
287 | mips*-big-*) | |
288 | targ_defvec=ecoff_big_vec | |
289 | targ_selvecs=ecoff_little_vec | |
290 | ;; | |
049df0a8 ILT |
291 | mips-dec-netbsd*) |
292 | targ_defvec=bfd_elf32_littlemips_vec | |
293 | targ_selvecs=bfd_elf32_bigmips_vec | |
294 | ;; | |
2b79a104 ILT |
295 | mips*-dec-bsd*) |
296 | targ_defvec=aout_mips_little_vec | |
297 | targ_underscore=yes | |
298 | ;; | |
299 | mips*-dec-mach3*) | |
300 | targ_defvec=aout_mips_little_vec | |
301 | targ_cflags=-DSTAT_FOR_EXEC | |
302 | ;; | |
303 | mips*-dec-* | mips*el-*-ecoff*) | |
304 | targ_defvec=ecoff_little_vec | |
305 | targ_selvecs=ecoff_big_vec | |
306 | ;; | |
307 | mips*-*-ecoff*) | |
308 | targ_defvec=ecoff_big_vec | |
309 | targ_selvecs=ecoff_little_vec | |
310 | ;; | |
311 | mips*-*-irix5*) | |
312 | targ_defvec=bfd_elf32_bigmips_vec | |
313 | targ_selvecs="bfd_elf32_littlemips_vec ecoff_big_vec ecoff_little_vec" | |
314 | ;; | |
315 | mips*-sgi-* | mips*-*-bsd*) | |
316 | targ_defvec=ecoff_big_vec | |
317 | targ_selvecs=ecoff_little_vec | |
318 | ;; | |
319 | mips*-*-mach3*) | |
320 | targ_defvec=aout_mips_little_vec | |
321 | targ_cflags=-DSTAT_FOR_EXEC | |
322 | ;; | |
323 | mips*-*-sysv4*) | |
324 | targ_defvec=bfd_elf32_bigmips_vec | |
325 | targ_selvecs="bfd_elf32_littlemips_vec ecoff_big_vec ecoff_little_vec" | |
326 | ;; | |
327 | mips*-*-sysv* | mips*-*-riscos*) | |
328 | targ_defvec=ecoff_big_vec | |
329 | targ_selvecs=ecoff_little_vec | |
330 | ;; | |
331 | mips*el-*-elf*) | |
332 | targ_defvec=bfd_elf32_littlemips_vec | |
333 | targ_selvecs=bfd_elf32_bigmips_vec | |
334 | ;; | |
335 | mips*-*-elf*) | |
336 | targ_defvec=bfd_elf32_bigmips_vec | |
337 | targ_selvecs=bfd_elf32_littlemips_vec | |
338 | ;; | |
339 | ||
2a01c351 | 340 | ns32k-pc532-mach* | ns32k-pc532-ux*) |
2b79a104 ILT |
341 | targ_defvec=pc532machaout_vec |
342 | targ_underscore=yes | |
343 | ;; | |
2a01c351 | 344 | ns32k-*-netbsd* | ns32k-*-lites*) |
2b79a104 ILT |
345 | targ_defvec=pc532netbsd_vec |
346 | targ_underscore=yes | |
347 | ;; | |
348 | ||
349 | powerpc-*-aix*) | |
350 | targ_defvec=rs6000coff_vec | |
351 | ;; | |
352 | powerpc-*-elf* | powerpc-*-sysv4* | powerpc-*-eabi* | powerpc-*-solaris2*) | |
353 | targ_defvec=bfd_elf32_powerpc_vec | |
354 | targ_selvecs="rs6000coff_vec bfd_elf32_powerpcle_vec" | |
355 | ;; | |
2a01c351 KR |
356 | powerpc-*-macos* | powerpc-*-mpw*) |
357 | targ_defvec=pmac_xcoff_vec | |
358 | ;; | |
2b79a104 ILT |
359 | powerpc-*-netware*) |
360 | targ_defvec=bfd_elf32_powerpc_vec | |
361 | targ_selvecs="nlm32_powerpc_vec rs6000coff_vec" | |
362 | ;; | |
363 | powerpcle-*-elf* | powerpcle-*-sysv4* | powerpcle-*-eabi* | \ | |
364 | powerpcle-*-solaris2*) | |
365 | targ_defvec=bfd_elf32_powerpcle_vec | |
366 | targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec" | |
367 | ;; | |
368 | ||
e0c10737 KK |
369 | powerpcle-*-pe | powerpcle-*-winnt*) |
370 | targ_defvec=bfd_powerpcle_pe_vec | |
371 | targ_selvecs="bfd_powerpcle_pei_vec bfd_powerpc_pei_vec bfd_powerpcle_pe_vec bfd_powerpc_pe_vec" | |
372 | ;; | |
373 | ||
374 | powerpc-*-pe | powerpc-*-winnt*) | |
375 | targ_defvec=bfd_powerpc_pe_vec | |
376 | targ_selvecs="bfd_powerpcle_pei_vec bfd_powerpc_pei_vec bfd_powerpcle_pe_vec bfd_powerpc_pe_vec" | |
377 | ;; | |
378 | ||
2b79a104 ILT |
379 | rs6000-*-*) |
380 | targ_defvec=rs6000coff_vec | |
381 | ;; | |
382 | ||
383 | sparc-*-lynxos*) | |
384 | targ_defvec=sparclynx_coff_vec | |
385 | targ_selvecs=sparclynx_aout_vec | |
386 | ;; | |
387 | sparc-*-netbsd*) | |
388 | targ_defvec=sparcnetbsd_vec | |
389 | targ_underscore=yes | |
390 | ;; | |
391 | sparc-*-solaris2* | sparc-*-sysv4*) | |
392 | targ_defvec=bfd_elf32_sparc_vec | |
393 | targ_selvecs=sunos_big_vec | |
394 | ;; | |
395 | sparc64-*-aout*) | |
396 | targ_defvec=sunos_big_vec | |
397 | targ_underscore=yes | |
398 | ;; | |
399 | sparc64-*-elf* | sparc64-*-sysv4* | sparc64-*-solaris2*) | |
400 | targ_defvec=bfd_elf64_sparc_vec | |
401 | targ_selvecs=bfd_elf32_sparc_vec | |
402 | ;; | |
403 | sparc-*-netware*) | |
404 | targ_defvec=bfd_elf32_sparc_vec | |
405 | targ_selvecs="nlm32_sparc_vec sunos_big_vec" | |
406 | ;; | |
407 | sparc*-*-coff*) | |
408 | targ_defvec=sparccoff_vec | |
409 | ;; | |
410 | sparc*-*-*) | |
411 | targ_defvec=sunos_big_vec | |
412 | targ_underscore=yes | |
413 | ;; | |
414 | ||
415 | tahoe-*-*) | |
416 | targ_defvec=host_aout_vec | |
417 | targ_underscore=yes | |
418 | ;; | |
419 | ||
420 | vax-*-vms*) | |
421 | echo 1>&2 "*** BFD does not support target ${targ}." | |
422 | echo 1>&2 "*** Look in bfd/config.bfd for supported targets." | |
423 | exit 1 | |
424 | ;; | |
425 | vax-*-*) | |
426 | targ_defvec=host_aout_vec | |
427 | targ_underscore=yes | |
428 | ;; | |
429 | ||
430 | we32k-*-*) | |
431 | targ_defvec=we32kcoff_vec | |
432 | ;; | |
433 | ||
434 | w65-*-*) | |
435 | targ_defvec=w65_vec | |
436 | ;; | |
437 | ||
438 | z8k*-*-*) | |
439 | targ_defvec=z8kcoff_vec | |
440 | targ_underscore=yes | |
441 | ;; | |
442 | ||
443 | *-*-ieee*) | |
444 | targ_defvec=ieee_vec | |
445 | ;; | |
446 | ||
447 | *-adobe-*) | |
448 | targ_defvec=a_aout_adobe_vec | |
449 | targ_underscore=yes | |
450 | ;; | |
451 | ||
452 | *-sony-*) | |
453 | targ_defvec=newsos3_vec | |
454 | targ_underscore=yes | |
455 | ;; | |
456 | ||
457 | *-tandem-*) | |
458 | targ_defvec=m68kcoff_vec | |
459 | targ_selvecs=ieee_vec | |
460 | ;; | |
461 | ||
462 | *) | |
463 | echo 1>&2 "*** BFD does not support target ${targ}." | |
464 | echo 1>&2 "*** Look in bfd/config.bfd for supported targets." | |
465 | exit 1 | |
466 | ;; | |
467 | esac |