]>
Commit | Line | Data |
---|---|---|
14ee9f48 | 1 | # gas target specific configuration file. This is a -*- sh -*- file. |
5bf135a7 | 2 | # |
d87bef3a | 3 | # Copyright (C) 2012-2023 Free Software Foundation, Inc. |
5bf135a7 NC |
4 | # |
5 | # This file is free software; you can redistribute it and/or modify | |
6 | # it under the terms of the GNU General Public License as published by | |
7 | # the Free Software Foundation; either version 3 of the License, or | |
8 | # (at your option) any later version. | |
886a2506 | 9 | # |
5bf135a7 NC |
10 | # This program is distributed in the hope that it will be useful, |
11 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
13 | # GNU General Public License for more details. | |
886a2506 | 14 | # |
5bf135a7 NC |
15 | # You should have received a copy of the GNU General Public License |
16 | # along with this program; see the file COPYING3. If not see | |
17 | # <http://www.gnu.org/licenses/>. | |
18 | # | |
14ee9f48 ILT |
19 | |
20 | # This is invoked by configure. Putting it in a separate shell file | |
21 | # lets us skip running autoconf when modifying target specific | |
22 | # information. | |
23 | ||
24 | # Input shell variables: | |
25 | # targ a configuration target name, such as i686-pc-linux-gnu. | |
26 | ||
27 | # Output shell variables: | |
28 | # cpu_type canonical gas cpu type; identifies the config/tc-* files | |
29 | # fmt output format; identifies the config/obj-* files | |
30 | # em emulation; identifies the config/te-* files | |
14ee9f48 ILT |
31 | |
32 | # Optional output shell variables; these are not always set: | |
8d63c93e | 33 | # arch the default architecture; sets DEFAULT_ARCH on some systems |
14ee9f48 ILT |
34 | # endian "big" or "little"; used on bi-endian systems |
35 | ||
36 | cpu_type= | |
37 | fmt= | |
6f19c13c AM |
38 | em=generic |
39 | bfd_gas=no | |
14ee9f48 ILT |
40 | arch= |
41 | endian= | |
42 | ||
43 | eval `echo $targ | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/cpu=\1 vendor=\2 os=\3/'` | |
44 | ||
45 | # Check for architecture variants. Set cpu_type and, optionally, | |
46 | # endian and arch. | |
47 | # Note: This table is alpha-sorted, please try to keep it that way. | |
48 | case ${cpu} in | |
3c0367d0 JW |
49 | aarch64) cpu_type=aarch64 endian=little arch=aarch64;; |
50 | aarch64_be) cpu_type=aarch64 endian=big arch=aarch64;; | |
14ee9f48 | 51 | alpha*) cpu_type=alpha ;; |
e729279b | 52 | am33_2.0) cpu_type=mn10300 endian=little ;; |
886a2506 | 53 | arc*eb) cpu_type=arc endian=big ;; |
14ee9f48 ILT |
54 | arm*be|arm*b) cpu_type=arm endian=big ;; |
55 | arm*) cpu_type=arm endian=little ;; | |
07c1b327 | 56 | bfin*) cpu_type=bfin endian=little ;; |
14ee9f48 | 57 | c4x*) cpu_type=tic4x ;; |
3d3d428f | 58 | cr16*) cpu_type=cr16 endian=little ;; |
14ee9f48 ILT |
59 | crisv32) cpu_type=cris arch=crisv32 ;; |
60 | crx*) cpu_type=crx endian=little ;; | |
cfb8c092 | 61 | epiphany*) cpu_type=epiphany endian=little ;; |
ebff6cd5 | 62 | fido) cpu_type=m68k ;; |
14ee9f48 ILT |
63 | hppa*) cpu_type=hppa ;; |
64 | i[3-7]86) cpu_type=i386 arch=i386;; | |
2f5f29ca | 65 | ia16) cpu_type=i386 arch=i386;; |
14ee9f48 | 66 | ia64) cpu_type=ia64 ;; |
8d63c93e RM |
67 | ip2k) cpu_type=ip2k endian=big ;; |
68 | iq2000) cpu_type=iq2000 endian=big ;; | |
487565fe | 69 | lm32) cpu_type=lm32 ;; |
4462d7c4 | 70 | loongarch32) cpu_type=loongarch arch=loongarch32;; |
71 | loongarch64) cpu_type=loongarch arch=loongarch64;; | |
b96282be | 72 | m32c) cpu_type=m32c endian=little ;; |
14ee9f48 ILT |
73 | m32r) cpu_type=m32r endian=big ;; |
74 | m32rle) cpu_type=m32r endian=little ;; | |
e729279b | 75 | m5200) cpu_type=m68k ;; |
14ee9f48 | 76 | m68008) cpu_type=m68k ;; |
e729279b NC |
77 | m680[012346]0) cpu_type=m68k ;; |
78 | m6811|m6812|m68hc12) cpu_type=m68hc11 ;; | |
14ee9f48 | 79 | m683??) cpu_type=m68k ;; |
7b4ae824 | 80 | s12z) cpu_type=s12z ;; |
743d7f19 | 81 | mep) cpu_type=mep endian=little ;; |
f23200ad ME |
82 | microblazeel*) cpu_type=microblaze endian=little;; |
83 | microblaze*) cpu_type=microblaze endian=big;; | |
14ee9f48 ILT |
84 | mips*el) cpu_type=mips endian=little ;; |
85 | mips*) cpu_type=mips endian=big ;; | |
487565fe | 86 | mt) cpu_type=mt endian=big ;; |
35c08157 KLC |
87 | nds32be) cpu_type=nds32 endian=big ;; |
88 | nds32le) cpu_type=nds32 endian=little ;; | |
73589c9d | 89 | or1k* | or1knd*) cpu_type=or1k endian=big ;; |
14ee9f48 ILT |
90 | pjl*) cpu_type=pj endian=little ;; |
91 | pj*) cpu_type=pj endian=big ;; | |
92 | powerpc*le*) cpu_type=ppc endian=little ;; | |
93 | powerpc*) cpu_type=ppc endian=big ;; | |
fbc09e7a | 94 | riscv64be*) cpu_type=riscv endian=big arch=riscv64 ;; |
e23eba97 | 95 | riscv64*) cpu_type=riscv endian=little arch=riscv64 ;; |
fbc09e7a | 96 | riscv32be*|riscvbe*) cpu_type=riscv endian=big arch=riscv32 ;; |
d19969ff | 97 | riscv32* | riscv*) cpu_type=riscv endian=little arch=riscv32 ;; |
14ee9f48 | 98 | rs6000*) cpu_type=ppc ;; |
99c513f6 | 99 | rl78*) cpu_type=rl78 ;; |
c7927a3c | 100 | rx) cpu_type=rx ;; |
14ee9f48 ILT |
101 | s390x*) cpu_type=s390 arch=s390x ;; |
102 | s390*) cpu_type=s390 arch=s390 ;; | |
487565fe AM |
103 | score*l) cpu_type=score endian=little ;; |
104 | score*) cpu_type=score endian=big ;; | |
14ee9f48 ILT |
105 | sh*le) cpu_type=sh endian=little ;; |
106 | sh*) cpu_type=sh endian=big ;; | |
10ab38d9 | 107 | sparc64* | sparcv9*) cpu_type=sparc arch=v9-64 ;; |
14ee9f48 | 108 | sparc86x*) cpu_type=sparc arch=sparc86x ;; |
e729279b NC |
109 | sparclet*) cpu_type=sparc arch=sparclet ;; |
110 | sparclite*) cpu_type=sparc arch=sparclite ;; | |
14ee9f48 | 111 | sparc*) cpu_type=sparc arch=sparclite ;; # ??? See tc-sparc.c. |
fb6cedde WL |
112 | tilegx*be) cpu_type=tilegx endian=big ;; |
113 | tilegx*) cpu_type=tilegx endian=little ;; | |
14ee9f48 | 114 | v850*) cpu_type=v850 ;; |
b6605ddd | 115 | visium) cpu_type=visium endian=big ;; |
f96bd6c2 | 116 | wasm32) cpu_type=wasm32 endian=little ;; |
ade78dba | 117 | x86_64*) cpu_type=i386 arch=x86_64;; |
f6c1a2d5 | 118 | xgate) cpu_type=xgate ;; |
14ee9f48 ILT |
119 | xtensa*) cpu_type=xtensa arch=xtensa ;; |
120 | *) cpu_type=${cpu} ;; | |
121 | esac | |
122 | ||
123 | ||
124 | # Assign object format. Set fmt, em, and bfd_gas. | |
125 | generic_target=${cpu_type}-$vendor-$os | |
14ee9f48 ILT |
126 | # Note: This table is alpha-sorted, please try to keep it that way. |
127 | case ${generic_target} in | |
de514cf3 | 128 | aarch64*-*-elf*) fmt=elf;; |
d5451cd4 | 129 | aarch64*-*-fuchsia*) fmt=elf;; |
d85e70a3 | 130 | aarch64*-*-haiku*) fmt=elf em=haiku ;; |
1f568f9a | 131 | aarch64*-*-genode*) fmt=elf;; |
3c0367d0 JW |
132 | aarch64*-*-linux*) fmt=elf em=linux |
133 | case ${cpu}-${os} in | |
134 | aarch64*-linux-gnu_ilp32) arch=aarch64:32 ;; | |
135 | esac ;; | |
cc8b27f8 | 136 | aarch64*-*-netbsd*) fmt=elf em=nbsd;; |
567e0dfb | 137 | aarch64*-*-nto*) fmt=elf;; |
6472b230 | 138 | aarch64*-*-openbsd*) fmt=elf;; |
16fea92c | 139 | aarch64*-*-pe* | aarch64*-*-mingw*) fmt=coff em=pepaarch64 ;; |
14ee9f48 ILT |
140 | alpha-*-*vms*) fmt=evax ;; |
141 | alpha-*-osf*) fmt=ecoff ;; | |
df26367c | 142 | alpha-*-linux*ecoff*) fmt=ecoff ;; |
ed84e695 | 143 | alpha-*-linux-*) fmt=elf em=linux ;; |
5c0ff163 | 144 | alpha-*-netbsd* | alpha-*-openbsd*) fmt=elf em=nbsd ;; |
14ee9f48 ILT |
145 | |
146 | arc-*-elf*) fmt=elf ;; | |
4ad0bb5f | 147 | arc*-*-linux*) fmt=elf bfd_gas=yes ;; |
14ee9f48 | 148 | |
a2bea324 | 149 | arm-*-phoenix*) fmt=elf ;; |
8c5fc800 | 150 | arm-*-elf) fmt=elf ;; |
1f568f9a | 151 | arm-*-eabi* | arm-*-rtems* | arm-*-genode*) fmt=elf em=armeabi ;; |
14ee9f48 ILT |
152 | arm-*-kaos*) fmt=elf ;; |
153 | arm-*-conix*) fmt=elf ;; | |
f7f2534e NC |
154 | arm-*-freebsd[89].* | armeb-*-freebsd[89].*) |
155 | fmt=elf em=freebsd ;; | |
156 | arm-*-freebsd* | armeb-*-freebsd*) fmt=elf em=armfbsdeabi ;; | |
157 | arm*-*-freebsd*) fmt=elf em=armfbsdvfp ;; | |
94089a50 | 158 | arm-*-linux-*eabi*) fmt=elf em=armlinuxeabi ;; |
ed84e695 | 159 | arm-*-linux-*) fmt=elf em=linux ;; |
9fcfe2ed | 160 | arm-*-uclinux*eabi*) fmt=elf em=armlinuxeabi ;; |
14ee9f48 | 161 | arm-*-uclinux*) fmt=elf em=linux ;; |
b38cadfb | 162 | arm-*-nacl*) fmt=elf em=nacl ;; |
2e175383 | 163 | arm-*-netbsd* | arm-*-openbsd*) fmt=elf em=nbsd ;; |
14ee9f48 | 164 | arm-*-nto*) fmt=elf ;; |
361dff73 DK |
165 | arm-wince-pe | arm-*-wince | arm*-*-mingw32ce* | arm*-*-cegcc*) |
166 | fmt=coff em=wince-pe ;; | |
8c5fc800 | 167 | arm-*-pe) fmt=coff em=pe ;; |
d5451cd4 | 168 | arm-*-fuchsia*) fmt=elf ;; |
d85e70a3 | 169 | arm-*-haiku*) fmt=elf em=haiku ;; |
14ee9f48 | 170 | |
07c1b327 | 171 | avr-*-*) fmt=elf bfd_gas=yes ;; |
fe4fa32c MF |
172 | |
173 | bfin-*-linux-uclibc) fmt=fdpicelf em=linux ;; | |
174 | bfin-*-uclinux*) fmt=elf em=linux ;; | |
07c1b327 | 175 | bfin-*elf) fmt=elf ;; |
fe4fa32c | 176 | |
487565fe | 177 | cr16-*-elf*) fmt=elf ;; |
14ee9f48 | 178 | |
ed84e695 | 179 | cris-*-linux-* | crisv32-*-linux-*) |
6f19c13c AM |
180 | fmt=multi em=linux ;; |
181 | cris-*-* | crisv32-*-*) fmt=multi ;; | |
14ee9f48 | 182 | |
487565fe | 183 | crx-*-elf*) fmt=elf ;; |
14ee9f48 | 184 | |
b8891f8d AJ |
185 | csky-*-elf*abiv1) fmt=elf em=csky_abiv1 ;; |
186 | csky-*-elf*) fmt=elf em=csky_abiv2 ;; | |
187 | csky-*-linux*abiv1) fmt=elf em=csky_abiv1_linux ;; | |
188 | csky-*-linux*) fmt=elf em=csky_abiv2_linux ;; | |
189 | ||
14ee9f48 ILT |
190 | d10v-*-*) fmt=elf ;; |
191 | d30v-*-*) fmt=elf ;; | |
192 | dlx-*-*) fmt=elf ;; | |
193 | ||
f8861f5d | 194 | bpf-*-*) fmt=elf ;; |
cfb8c092 NC |
195 | epiphany-*-*) fmt=elf ;; |
196 | ||
14ee9f48 ILT |
197 | fr30-*-*) fmt=elf ;; |
198 | frv-*-*linux*) fmt=elf em=linux;; | |
199 | frv-*-*) fmt=elf ;; | |
200 | ||
3f8107ab AM |
201 | ft32-*-*) fmt=elf ;; |
202 | ||
14ee9f48 ILT |
203 | hppa-*-linux*) |
204 | case ${cpu} in | |
205 | hppa*64*) fmt=elf em=hppalinux64 ;; | |
206 | hppa*) fmt=elf em=linux ;; | |
207 | esac ;; | |
208 | hppa-*-*elf*) fmt=elf em=hppa ;; | |
209 | hppa-*-lites*) fmt=elf em=hppa ;; | |
210 | hppa-*-netbsd*) fmt=elf em=nbsd ;; | |
211 | hppa-*-openbsd*) fmt=elf em=hppa ;; | |
212 | hppa-*-osf*) fmt=som em=hppa ;; | |
14ee9f48 ILT |
213 | hppa-*-hpux11*) |
214 | case ${cpu} in | |
215 | hppa*64*) fmt=elf em=hppa64 ;; | |
216 | hppa*) fmt=som em=hppa ;; | |
217 | esac ;; | |
218 | hppa-*-hpux*) fmt=som em=hppa ;; | |
219 | hppa-*-mpeix*) fmt=som em=hppa ;; | |
220 | hppa-*-bsd*) fmt=som em=hppa ;; | |
221 | hppa-*-hiux*) fmt=som em=hppa ;; | |
222 | ||
de514cf3 | 223 | h8300-*-elf) fmt=elf ;; |
5518c738 | 224 | h8300-*-linux*) fmt=elf em=linux ;; |
14ee9f48 | 225 | |
14ee9f48 ILT |
226 | i386-*-beospe*) fmt=coff em=pe ;; |
227 | i386-*-beos*) fmt=elf ;; | |
5197d474 | 228 | i386-*-elfiamcu) fmt=elf arch=iamcu ;; |
b633b725 | 229 | i386-*-elf*) fmt=elf ;; |
d5451cd4 | 230 | i386-*-fuchsia*) fmt=elf ;; |
d85e70a3 | 231 | i386-*-haiku*) fmt=elf em=haiku ;; |
1f568f9a | 232 | i386-*-genode*) fmt=elf ;; |
14ee9f48 | 233 | i386-*-bsd*) fmt=aout em=386bsd ;; |
14ee9f48 ILT |
234 | i386-*-netbsd*-gnu* | \ |
235 | i386-*-knetbsd*-gnu | \ | |
c65c21e1 | 236 | i386-*-netbsd* | \ |
333f7af7 | 237 | i386-*-openbsd*) fmt=elf em=nbsd ;; |
3c995545 L |
238 | i386-*-linux-*) fmt=elf em=linux |
239 | case ${cpu}-${os} in | |
240 | x86_64*-linux-gnux32) arch=x86_64:32 ;; | |
241 | esac ;; | |
6f19c13c | 242 | i386-*-lynxos*) fmt=elf em=lynx ;; |
f2e2d2f5 | 243 | i386-*-redox*) fmt=elf ;; |
2774199c | 244 | i386-*-solaris*) fmt=elf em=solaris ;; |
5b806d27 NC |
245 | i386-*-freebsd* \ |
246 | | i386-*-kfreebsd*-gnu) fmt=elf em=freebsd ;; | |
14ee9f48 | 247 | i386-*-msdosdjgpp* \ |
14c194bb | 248 | | i386-*-go32*) fmt=coff em=go32 ;; |
3896cfd5 | 249 | i386-*-gnu*) fmt=elf em=gnu ;; |
14ee9f48 ILT |
250 | i386-*-msdos*) fmt=aout ;; |
251 | i386-*-moss*) fmt=elf ;; | |
252 | i386-*-pe) fmt=coff em=pe ;; | |
cb948fc0 KT |
253 | i386-*-cygwin*) |
254 | case ${cpu} in | |
255 | x86_64*) fmt=coff em=pep ;; | |
256 | i*) fmt=coff em=pe ;; | |
257 | esac ;; | |
14ee9f48 | 258 | i386-*-interix*) fmt=coff em=interix ;; |
42037fe5 NC |
259 | i386-*-mingw*) |
260 | case ${cpu} in | |
261 | x86_64*) fmt=coff em=pep ;; | |
262 | i*) fmt=coff em=pe ;; | |
263 | esac ;; | |
14ee9f48 ILT |
264 | i386-*-nto-qnx*) fmt=elf ;; |
265 | i386-*-*nt*) fmt=coff em=pe ;; | |
b59bea8a | 266 | i386-*-rdos*) fmt=elf ;; |
e57f8c65 | 267 | i386-*-darwin*) fmt=macho ;; |
14ee9f48 | 268 | |
2f5f29ca AJ |
269 | ia16-*-elf*) fmt=elf ;; |
270 | ||
14ee9f48 | 271 | ia64-*-elf*) fmt=elf ;; |
01e1a5bc | 272 | ia64-*-*vms*) fmt=elf em=vms ;; |
14ee9f48 | 273 | ia64-*-aix*) fmt=elf em=ia64aix ;; |
ed84e695 | 274 | ia64-*-linux-*) fmt=elf em=linux ;; |
14ee9f48 ILT |
275 | ia64-*-hpux*) fmt=elf em=hpux ;; |
276 | ia64-*-netbsd*) fmt=elf em=nbsd ;; | |
277 | ||
278 | ip2k-*-*) fmt=elf ;; | |
279 | ||
487565fe | 280 | iq2000-*-elf) fmt=elf ;; |
14ee9f48 | 281 | |
84e94c90 NC |
282 | lm32-*-*) fmt=elf ;; |
283 | ||
4462d7c4 | 284 | loongarch*) fmt=elf ;; |
285 | ||
de514cf3 | 286 | m32c-*-elf) fmt=elf ;; |
d3bf77be | 287 | |
de514cf3 | 288 | m32r-*-elf*) fmt=elf ;; |
14ee9f48 ILT |
289 | m32r-*-linux*) fmt=elf em=linux;; |
290 | ||
291 | m68hc11-*-* | m6811-*-*) fmt=elf ;; | |
292 | m68hc12-*-* | m6812-*-*) fmt=elf ;; | |
293 | ||
14ee9f48 | 294 | m68k-*-elf*) fmt=elf ;; |
ed84e695 | 295 | m68k-*-linux-*) fmt=elf em=linux ;; |
2c678708 | 296 | m68k-*-uclinux*) fmt=elf em=uclinux ;; |
14ee9f48 | 297 | m68k-*-gnu*) fmt=elf ;; |
ab4f385b | 298 | m68k-*-netbsd*) fmt=elf em=nbsd ;; |
d85e70a3 | 299 | m68k-*-haiku*) fmt=elf em=haiku ;; |
14ee9f48 | 300 | |
7b4ae824 JD |
301 | s12z-*-*) fmt=elf ;; |
302 | ||
280d71bf DB |
303 | mep-*-elf) fmt=elf ;; |
304 | ||
a3c62988 NC |
305 | metag-*-elf) fmt=elf ;; |
306 | metag-*-linux*) fmt=elf em=linux ;; | |
307 | ||
14ee9f48 ILT |
308 | mcore-*-elf) fmt=elf ;; |
309 | mcore-*-pe) fmt=coff em=pe bfd_gas=yes ;; | |
310 | ||
7ba29e2a NC |
311 | microblaze-*-*) fmt=elf ;; |
312 | ||
14ee9f48 ILT |
313 | mips-*-irix6*) fmt=elf em=irix ;; |
314 | mips-*-irix5*) fmt=elf em=irix ;; | |
14ee9f48 | 315 | mips*-*-linux*) fmt=elf em=tmips ;; |
aeffff67 RS |
316 | mips*-*-freebsd* | mips*-*-kfreebsd*-gnu) |
317 | fmt=elf em=freebsd ;; | |
c00f0d7a | 318 | mips-*-sysv4* | mips-*-gnu*) fmt=elf em=tmips ;; |
a9d58c06 AB |
319 | mips*-sde-elf* | mips*-mti-elf* | mips*-img-elf*) |
320 | fmt=elf em=tmips ;; | |
d85e70a3 | 321 | mips-*-haiku*) fmt=elf em=haiku ;; |
de514cf3 | 322 | mips-*-elf*) fmt=elf ;; |
aaa2ab3d | 323 | mips-*-netbsd*) fmt=elf em=tmips ;; |
26eebcf5 | 324 | mips-*-openbsd*) fmt=elf em=tmips ;; |
1e3f5548 | 325 | mips-*-windiss) fmt=elf ;; |
14ee9f48 ILT |
326 | |
327 | mmix-*-*) fmt=elf ;; | |
328 | ||
329 | mn10200-*-*) fmt=elf ;; | |
330 | ||
331 | # cpu_type for am33_2.0 is set to mn10300 | |
6f19c13c | 332 | mn10300-*-linux*) fmt=elf em=linux ;; |
14ee9f48 ILT |
333 | mn10300-*-*) fmt=elf ;; |
334 | ||
48494700 AG |
335 | moxie-*-uclinux) fmt=elf em=linux ;; |
336 | moxie-*-moxiebox*) fmt=elf endian=little ;; | |
487565fe | 337 | moxie-*-*) fmt=elf ;; |
886a2506 | 338 | |
4970f871 | 339 | mt-*-elf) fmt=elf bfd_gas=yes ;; |
e729279b | 340 | |
14ee9f48 ILT |
341 | msp430-*-*) fmt=elf ;; |
342 | ||
35c08157 KLC |
343 | nds32-*-elf*) fmt=elf ;; |
344 | nds32-*-linux*) fmt=elf em=linux ;; | |
345 | ||
ea33f281 | 346 | nios2*-linux*) fmt=elf em=linux ;; |
36591ba1 | 347 | |
14ee9f48 ILT |
348 | ns32k-pc532-mach*) fmt=aout em=pc532mach ;; |
349 | ns32k-pc532-ux*) fmt=aout em=pc532mach ;; | |
350 | ns32k-pc532-lites*) fmt=aout em=nbsd532 ;; | |
351 | ns32k-*-*n*bsd*) fmt=aout em=nbsd532 ;; | |
352 | ||
8a196b99 JS |
353 | or1k*-*-elf | or1k*-*-rtems*) fmt=elf endian=big ;; |
354 | or1k*-*-linux*) fmt=elf em=linux endian=big ;; | |
14ee9f48 ILT |
355 | |
356 | pj*) fmt=elf ;; | |
357 | ||
14ee9f48 | 358 | ppc-*-aix5.[01]) fmt=coff em=aix5 ;; |
e5231592 | 359 | ppc-*-aix[5-9].*) fmt=coff em=aix5 ;; |
c322dea4 | 360 | ppc-*-aix*) fmt=coff em=aix ;; |
14ee9f48 ILT |
361 | ppc-*-beos*) fmt=coff ;; |
362 | ppc-*-*n*bsd* | ppc-*-elf*) fmt=elf ;; | |
363 | ppc-*-eabi* | ppc-*-sysv4*) fmt=elf ;; | |
d85e70a3 | 364 | ppc-*-haiku*) fmt=elf em=haiku ;; |
ed84e695 | 365 | ppc-*-linux-*) fmt=elf em=linux ;; |
2774199c | 366 | ppc-*-solaris*) fmt=elf em=solaris ;; |
14ee9f48 ILT |
367 | ppc-*-macos*) fmt=coff em=macos ;; |
368 | ppc-*-nto*) fmt=elf ;; | |
369 | ppc-*-kaos*) fmt=elf ;; | |
14ee9f48 | 370 | |
93f11b16 DD |
371 | pru-*-*) fmt=elf ;; |
372 | ||
d85e70a3 | 373 | riscv*-*-haiku*) fmt=elf endian=little em=haiku ;; |
fbc09e7a | 374 | riscv*-*-*) fmt=elf ;; |
e23eba97 | 375 | |
8d3c78e4 YS |
376 | rx-*-linux*) fmt=elf em=linux ;; |
377 | ||
ed84e695 | 378 | s390-*-linux-*) fmt=elf em=linux ;; |
14ee9f48 ILT |
379 | s390-*-tpf*) fmt=elf ;; |
380 | ||
487565fe | 381 | score-*-elf) fmt=elf ;; |
1c0d3aa6 | 382 | |
14ee9f48 ILT |
383 | sh*-*-linux*) fmt=elf em=linux |
384 | case ${cpu} in | |
385 | sh*eb) endian=big ;; | |
386 | *) endian=little ;; | |
387 | esac ;; | |
ab4f385b | 388 | sh*-*-netbsd*) fmt=elf em=nbsd |
7e127222 KK |
389 | case ${cpu} in |
390 | sh*l*) endian=little ;; | |
391 | *) endian=big ;; | |
392 | esac ;; | |
8e45593f NC |
393 | sh-*-elf*) fmt=elf ;; |
394 | sh-*-uclinux* | sh[12]-*-uclinux*) fmt=elf em=uclinux ;; | |
14ee9f48 ILT |
395 | sh-*-coff*) fmt=coff ;; |
396 | sh-*-nto*) fmt=elf ;; | |
e2201c2a | 397 | sh-*-pe*) fmt=coff em=pe endian=little ;; |
14ee9f48 ILT |
398 | sh-*-kaos*) fmt=elf ;; |
399 | shle*-*-kaos*) fmt=elf ;; | |
14ee9f48 | 400 | |
d85e70a3 | 401 | sparc-*-haiku*) fmt=elf em=haiku ;; |
ed84e695 | 402 | sparc-*-linux-*) fmt=elf em=linux ;; |
2774199c | 403 | sparc-*-solaris*) fmt=elf em=solaris ;; |
c24d0e8d | 404 | sparc-*-freebsd*) fmt=elf em=freebsd ;; |
c9098af4 | 405 | sparc-*-*bsd*) fmt=elf em=nbsd ;; |
14ee9f48 | 406 | |
e9f53129 AM |
407 | spu-*-elf) fmt=elf ;; |
408 | ||
14ee9f48 ILT |
409 | tic30-*-*coff*) fmt=coff bfd_gas=yes ;; |
410 | tic4x-*-* | c4x-*-*) fmt=coff bfd_gas=yes ;; | |
411 | tic54x-*-* | c54x*-*-*) fmt=coff bfd_gas=yes need_libm=yes;; | |
40b36596 | 412 | tic6x-*-*) fmt=elf ;; |
14ee9f48 | 413 | |
fb6cedde | 414 | tilepro-*-* | tilegx*-*-*) fmt=elf ;; |
aa137e4d | 415 | |
1cd986c5 | 416 | v850*-*-*) fmt=elf ;; |
14ee9f48 | 417 | |
ab4f385b JE |
418 | vax-*-netbsdaout) fmt=aout em=nbsd ;; |
419 | vax-*-netbsd*) fmt=elf em=nbsd ;; | |
ed84e695 | 420 | vax-*-linux-*) fmt=elf em=linux ;; |
14ee9f48 | 421 | |
b6605ddd EB |
422 | visium-*-elf) fmt=elf ;; |
423 | ||
f96bd6c2 PC |
424 | wasm32-*-*) fmt=elf ;; |
425 | ||
14ee9f48 | 426 | xstormy16-*-*) fmt=elf ;; |
886a2506 | 427 | |
f6c1a2d5 | 428 | xgate-*-*) fmt=elf ;; |
14ee9f48 | 429 | |
f8a52b59 | 430 | xtensa*-*-*) fmt=elf ;; |
14ee9f48 | 431 | |
3c9b82ba NC |
432 | z80-*-coff) fmt=coff ;; |
433 | ||
14ee9f48 ILT |
434 | z8k-*-coff | z8k-*-sim) fmt=coff ;; |
435 | ||
436 | *-*-aout | *-*-scout) fmt=aout ;; | |
12400dcc | 437 | *-*-cloudabi*) fmt=elf em=cloudabi ;; |
5b806d27 | 438 | *-*-dragonfly*) fmt=elf em=dragonfly ;; |
14ee9f48 | 439 | *-*-freebsd* | *-*-kfreebsd*-gnu) fmt=elf em=freebsd ;; |
14ee9f48 ILT |
440 | *-*-generic) fmt=generic ;; |
441 | *-*-xray | *-*-hms) fmt=coff ;; | |
442 | *-*-sim) fmt=coff ;; | |
de514cf3 | 443 | *-*-elf | *-*-rtems* | *-*-sysv4*) fmt=elf ;; |
2774199c | 444 | *-*-solaris*) fmt=elf em=solaris ;; |
6f19c13c | 445 | *-*-aros*) fmt=elf em=linux ;; |
478ec1e3 | 446 | *-*-vxworks* | *-*-windiss) fmt=elf em=vxworks ;; |
14ee9f48 ILT |
447 | esac |
448 | ||
449 | case ${cpu_type} in | |
e2201c2a | 450 | aarch64 | alpha | arm | csky | i386 | ia64 | microblaze | mips | ns32k | \ |
4462d7c4 | 451 | or1k | or1knd | pdp11 | ppc | riscv | sh | sparc | z80 | z8k | loongarch) |
14ee9f48 ILT |
452 | bfd_gas=yes |
453 | ;; | |
454 | esac | |
455 | case ${fmt} in | |
fe4fa32c | 456 | elf | ecoff | fdpicelf | multi | som) |
14ee9f48 ILT |
457 | bfd_gas=yes |
458 | ;; | |
459 | esac | |
7be1c489 AM |
460 | |
461 | if test $bfd_gas != yes; then | |
462 | echo This target is no longer supported in gas | |
463 | exit 1 | |
464 | fi | |
4e3e1fdf L |
465 | |
466 | case ${cpu_type}-${fmt}-${os} in | |
467 | i386-elf-linux*) | |
468 | # Default to compress DWARF debug sections for Linux/x86. | |
469 | if test ${ac_default_compressed_debug_sections} = unset; then | |
470 | ac_default_compressed_debug_sections=yes | |
471 | fi | |
472 | ;; | |
473 | esac |