1# gas target specific configuration file.  This is a -*- sh -*- file.
2#
3#   Copyright (C) 2012-2017 Free Software Foundation, Inc.
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.
9# 
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.
14# 
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#
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
31
32# Optional output shell variables; these are not always set:
33#   arch	the default architecture; sets DEFAULT_ARCH on some systems
34#   endian	"big" or "little"; used on bi-endian systems
35
36cpu_type=
37fmt=
38em=generic
39bfd_gas=no
40arch=
41endian=
42
43eval `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.
48case ${cpu} in
49  aarch64)		cpu_type=aarch64 endian=little ;;
50  aarch64_be)		cpu_type=aarch64 endian=big ;;
51  alpha*)		cpu_type=alpha ;;
52  am33_2.0)		cpu_type=mn10300 endian=little ;;
53  arc*eb)		cpu_type=arc endian=big ;;
54  arm*be|arm*b)		cpu_type=arm endian=big ;;
55  arm*)			cpu_type=arm endian=little ;;
56  bfin*)		cpu_type=bfin endian=little ;;
57  c4x*)			cpu_type=tic4x ;;
58  cr16*)		cpu_type=cr16 endian=little ;;
59  crisv32)		cpu_type=cris arch=crisv32 ;;
60  crx*)			cpu_type=crx endian=little ;;
61  epiphany*)		cpu_type=epiphany endian=little ;;
62  fido)			cpu_type=m68k ;;
63  hppa*)		cpu_type=hppa ;;
64  i[3-7]86)		cpu_type=i386 arch=i386;;
65  ia64)			cpu_type=ia64 ;;
66  ip2k)			cpu_type=ip2k endian=big ;;
67  iq2000)		cpu_type=iq2000 endian=big ;;
68  lm32)			cpu_type=lm32 ;;
69  m32c)			cpu_type=m32c endian=little ;;
70  m32r)			cpu_type=m32r endian=big ;;
71  m32rle)		cpu_type=m32r endian=little ;;
72  m5200)		cpu_type=m68k ;;
73  m68008)		cpu_type=m68k ;;
74  m680[012346]0)	cpu_type=m68k ;;
75  m6811|m6812|m68hc12)	cpu_type=m68hc11 ;;
76  m683??)		cpu_type=m68k ;;
77  mep)			cpu_type=mep endian=little ;;
78  microblazeel*)	cpu_type=microblaze endian=little;;
79  microblaze*)		cpu_type=microblaze endian=big;;
80  mips*el)		cpu_type=mips endian=little ;;
81  mips*)		cpu_type=mips endian=big ;;
82  mt)			cpu_type=mt endian=big ;;
83  nds32be)		cpu_type=nds32 endian=big ;;
84  nds32le)		cpu_type=nds32 endian=little ;;
85  or1k* | or1knd*)	cpu_type=or1k endian=big ;;
86  pjl*)			cpu_type=pj endian=little ;;
87  pj*)			cpu_type=pj endian=big ;;
88  powerpc*le*)		cpu_type=ppc endian=little ;;
89  powerpc*)		cpu_type=ppc endian=big ;;
90  riscv32*)		cpu_type=riscv endian=little arch=riscv32 ;;
91  riscv64*)		cpu_type=riscv endian=little arch=riscv64 ;;
92  rs6000*)		cpu_type=ppc ;;
93  rl78*)		cpu_type=rl78 ;;
94  rx)			cpu_type=rx ;;
95  s390x*)		cpu_type=s390 arch=s390x ;;
96  s390*)		cpu_type=s390 arch=s390 ;;
97  score*l)		cpu_type=score endian=little ;;
98  score*)		cpu_type=score endian=big ;;
99  sh5le*)		cpu_type=sh64 endian=little ;;
100  sh5*)			cpu_type=sh64 endian=big ;;
101  sh64le*)		cpu_type=sh64 endian=little ;;
102  sh64*)		cpu_type=sh64 endian=big ;;
103  sh*le)		cpu_type=sh endian=little ;;
104  sh*)			cpu_type=sh endian=big ;;
105  sparc64*)		cpu_type=sparc arch=v9-64 ;;
106  sparc86x*)		cpu_type=sparc arch=sparc86x  ;;
107  sparclet*)		cpu_type=sparc arch=sparclet ;;
108  sparclite*)		cpu_type=sparc arch=sparclite ;;
109  sparc*)		cpu_type=sparc arch=sparclite ;; # ??? See tc-sparc.c.
110  tilegx*be)		cpu_type=tilegx endian=big ;;
111  tilegx*)		cpu_type=tilegx endian=little ;;
112  v850*)		cpu_type=v850 ;;
113  visium)		cpu_type=visium endian=big ;;
114  x86_64*)		cpu_type=i386 arch=x86_64;;
115  xgate)		cpu_type=xgate ;;
116  xtensa*)		cpu_type=xtensa arch=xtensa ;;
117  *)			cpu_type=${cpu} ;;
118esac
119
120
121# Assign object format.  Set fmt, em, and bfd_gas.
122generic_target=${cpu_type}-$vendor-$os
123# Note: This table is alpha-sorted, please try to keep it that way.
124case ${generic_target} in
125  aarch64*-*-elf | aarch64*-*-rtems*)	fmt=elf;;
126  aarch64*-*-fuchsia*)			fmt=elf;;
127  aarch64*-*-linux*)			fmt=elf em=linux ;;
128
129  alpha-*-*vms*)			fmt=evax ;;
130  alpha-*-osf*)				fmt=ecoff ;;
131  alpha-*-linux*ecoff*)			fmt=ecoff ;;
132  alpha-*-linux-*)			fmt=elf em=linux ;;
133  alpha-*-netbsd* | alpha-*-openbsd*)	fmt=elf em=nbsd ;;
134
135  arc-*-elf*)				fmt=elf ;;
136  arc*-*-linux*)			fmt=elf bfd_gas=yes ;;
137
138  arm-*-aout)				fmt=aout ;;
139  arm-*-coff)				fmt=coff ;;
140  arm-*-phoenix*)			fmt=elf ;;
141  arm-*-rtems*)				fmt=elf ;;
142  arm-*-elf)				fmt=elf ;;
143  arm-*-eabi*)				fmt=elf em=armeabi ;;
144  arm-*-symbianelf*)			fmt=elf em=symbian ;;
145  arm-*-kaos*)				fmt=elf ;;
146  arm-*-conix*)				fmt=elf ;;
147  arm-*-freebsd[89].* | armeb-*-freebsd[89].*)
148					fmt=elf  em=freebsd ;;
149  arm-*-freebsd* | armeb-*-freebsd*)	fmt=elf  em=armfbsdeabi ;;
150  arm*-*-freebsd*)			fmt=elf  em=armfbsdvfp ;;
151  arm-*-linux*aout*)			fmt=aout em=linux ;;
152  arm-*-linux-*eabi*)			fmt=elf  em=armlinuxeabi ;;
153  arm-*-linux-*)			fmt=elf  em=linux ;;
154  arm-*-uclinux*eabi*)			fmt=elf  em=armlinuxeabi ;;
155  arm-*-uclinux*)			fmt=elf  em=linux ;;
156  arm-*-nacl*)				fmt=elf  em=nacl ;;
157  arm-*-netbsdelf*)			fmt=elf  em=nbsd ;;
158  arm-*-*n*bsd*)			fmt=aout em=nbsd ;;
159  arm-*-nto*)				fmt=elf ;;
160  arm-epoc-pe)				fmt=coff em=epoc-pe ;;
161  arm-wince-pe | arm-*-wince | arm*-*-mingw32ce* | arm*-*-cegcc*)
162					fmt=coff em=wince-pe ;;
163  arm-*-pe)				fmt=coff em=pe ;;
164  arm-*-riscix*)			fmt=aout em=riscix ;;
165  arm-*-fuchsia*)			fmt=elf ;;
166  arm-*-haiku*)				fmt=elf  em=haiku ;;
167
168  avr-*-*)				fmt=elf bfd_gas=yes ;;
169
170  bfin-*-linux-uclibc)			fmt=fdpicelf em=linux ;;
171  bfin-*-uclinux*)			fmt=elf em=linux ;;
172  bfin-*-rtems*)			fmt=elf ;;
173  bfin-*elf)				fmt=elf ;;
174
175  cr16-*-elf*)				fmt=elf ;;
176
177  cris-*-linux-* | crisv32-*-linux-*)
178					fmt=multi em=linux ;;
179  cris-*-* | crisv32-*-*)		fmt=multi ;;
180
181  crx-*-elf*)				fmt=elf ;;
182
183  d10v-*-*)				fmt=elf ;;
184  d30v-*-*)				fmt=elf ;;
185  dlx-*-*)				fmt=elf ;;
186
187  epiphany-*-*)				fmt=elf ;;
188
189  fr30-*-*)				fmt=elf ;;
190  frv-*-*linux*)			fmt=elf em=linux;;
191  frv-*-*)				fmt=elf ;;
192
193  ft32-*-*)				fmt=elf ;;
194
195  hppa-*-linux*)
196    case ${cpu} in
197      hppa*64*)				fmt=elf em=hppalinux64 ;;
198      hppa*)				fmt=elf em=linux ;;
199    esac ;;
200  hppa-*-*elf*)				fmt=elf em=hppa ;;
201  hppa-*-lites*)			fmt=elf em=hppa ;;
202  hppa-*-netbsd*)			fmt=elf em=nbsd ;;
203  hppa-*-openbsd*)			fmt=elf em=hppa ;;
204  hppa-*-osf*)				fmt=som em=hppa ;;
205  hppa-*-hpux11*)
206    case ${cpu} in
207      hppa*64*)				fmt=elf em=hppa64 ;;
208      hppa*)				fmt=som em=hppa ;;
209    esac ;;
210  hppa-*-hpux*)				fmt=som em=hppa ;;
211  hppa-*-mpeix*)			fmt=som em=hppa ;;
212  hppa-*-bsd*)				fmt=som em=hppa ;;
213  hppa-*-hiux*)				fmt=som em=hppa ;;
214
215  h8300-*-elf | h8300-*-rtems*)		fmt=elf ;;
216  h8300-*-linux*)			fmt=elf em=linux ;;
217
218  i370-*-elf* | i370-*-linux*)		fmt=elf ;;
219
220  i386-ibm-aix*)			fmt=coff em=i386aix ;;
221  i386-sequent-bsd*)			fmt=aout em=dynix ;;
222  i386-*-beospe*)			fmt=coff em=pe ;;
223  i386-*-beos*)				fmt=elf em=beos ;;
224  i386-*-coff)				fmt=coff ;;
225  i386-*-elfiamcu)			fmt=elf arch=iamcu ;;
226  i386-*-elf)				fmt=elf ;;
227  i386-*-fuchsia*)			fmt=elf ;;
228  i386-*-haiku*)			fmt=elf em=haiku ;;
229  i386-*-kaos*)				fmt=elf ;;
230  i386-*-bsd*)				fmt=aout em=386bsd ;;
231  i386-*-nacl*)				fmt=elf em=nacl
232    case ${cpu} in
233      x86_64*)				arch=x86_64:32 ;;
234    esac ;;
235  i386-*-netbsd0.8)			fmt=aout em=386bsd ;;
236  i386-*-netbsdpe*)			fmt=coff em=pe ;;
237  i386-*-netbsd*-gnu* | \
238  i386-*-knetbsd*-gnu | \
239  i386-*-netbsdelf*)			fmt=elf em=nbsd ;;
240  i386-*-netbsd*)
241    case ${cpu} in
242      x86_64)				fmt=elf em=nbsd ;;
243      *)				fmt=aout em=nbsd ;;
244    esac ;;
245  i386-*-openbsd[0-2].* | \
246  i386-*-openbsd3.[0-2])		fmt=aout em=nbsd ;;
247  i386-*-openbsd*)			fmt=elf em=nbsd ;;
248  i386-*-linux*aout*)			fmt=aout em=linux ;;
249  i386-*-linux*oldld)			fmt=aout em=linux ;;
250  i386-*-linux*coff*)			fmt=coff em=linux ;;
251  i386-*-linux-*)			fmt=elf em=linux
252    case ${cpu}-${os} in
253      x86_64*-linux-gnux32)		arch=x86_64:32 ;;
254    esac ;;
255  i386-*-lynxos*)			fmt=elf em=lynx ;;
256  i386-*-sysv[45]*)			fmt=elf ;;
257  i386-*-solaris*)			fmt=elf em=solaris ;;
258  i386-*-freebsdaout*)			fmt=aout em=386bsd ;;
259  i386-*-freebsd[12].*)			fmt=aout em=386bsd ;;
260  i386-*-freebsd[12])			fmt=aout em=386bsd ;;
261  i386-*-freebsd* \
262  | i386-*-kfreebsd*-gnu)		fmt=elf em=freebsd ;;
263  i386-*-sysv*)				fmt=coff ;;
264  i386-*-sco3.2v5*coff)			fmt=coff ;;
265  i386-*-isc*)				fmt=coff ;;
266  i386-*-sco3.2v5*)			fmt=elf ;;
267  i386-*-sco3.2*)			fmt=coff ;;
268  i386-*-vsta)				fmt=aout ;;
269  i386-*-msdosdjgpp* \
270  | i386-*-go32*)			fmt=coff em=go32 ;;
271  i386-*-rtems*)			fmt=elf ;;
272  i386-*-gnu*)				fmt=elf em=gnu ;;
273  i386-*-mach*)				fmt=aout em=mach ;;
274  i386-*-msdos*)			fmt=aout ;;
275  i386-*-moss*)				fmt=elf ;;
276  i386-*-pe)				fmt=coff em=pe ;;
277  i386-*-cygwin*)
278   case ${cpu} in
279     x86_64*)				fmt=coff em=pep ;;
280     i*)				fmt=coff em=pe ;;
281   esac ;;
282  i386-*-interix*)			fmt=coff em=interix ;;
283  i386-*-mingw*)
284    case ${cpu} in
285      x86_64*)				fmt=coff em=pep ;;
286      i*)				fmt=coff em=pe ;;
287    esac ;;
288  i386-*-nto-qnx*)			fmt=elf ;;
289  i386-*-*nt*)				fmt=coff em=pe ;;
290  i386-*-chaos)				fmt=elf ;;
291  i386-*-rdos*)				fmt=elf ;;
292  i386-*-darwin*)			fmt=macho ;;
293
294  i860-*-*)				fmt=elf endian=little ;;
295
296  i960-*-elf*)				fmt=elf ;;
297
298  ia64-*-elf*)				fmt=elf ;;
299  ia64-*-*vms*)				fmt=elf em=vms ;;
300  ia64-*-aix*)				fmt=elf em=ia64aix ;;
301  ia64-*-linux-*)			fmt=elf em=linux ;;
302  ia64-*-hpux*)				fmt=elf em=hpux ;;
303  ia64-*-netbsd*)			fmt=elf em=nbsd ;;
304
305  ip2k-*-*)				fmt=elf ;;
306
307  iq2000-*-elf)				fmt=elf ;;
308
309  lm32-*-*)				fmt=elf ;;
310
311  m32c-*-elf | m32c-*-rtems*)		fmt=elf ;;
312
313  m32r-*-elf* | m32r-*-rtems*)		fmt=elf ;;
314  m32r-*-linux*)			fmt=elf em=linux;;
315
316  m68hc11-*-* | m6811-*-*)		fmt=elf ;;
317  m68hc12-*-* | m6812-*-*)		fmt=elf ;;
318
319  m68k-*-aout)				fmt=aout bfd_gas=yes ;;
320  m68k-*-elf*)				fmt=elf ;;
321  m68k-*-sysv4*)			fmt=elf em=svr4 ;;
322  m68k-*-rtems*)			fmt=elf ;;
323  m68k-*-linux-*)			fmt=elf em=linux ;;
324  m68k-*-uclinux*)			fmt=elf em=uclinux ;;
325  m68k-*-gnu*)				fmt=elf ;;
326  m68k-*-netbsdelf*)			fmt=elf em=nbsd ;;
327  m68k-*-netbsd*)			fmt=aout em=nbsd bfd_gas=yes ;;
328  m68k-*-openbsd*)			fmt=aout em=nbsd bfd_gas=yes ;;
329  m68k-*-psos*)				fmt=elf em=psos;;
330  m68k-*-haiku*)			fmt=elf em=haiku ;;
331
332  mep-*-elf)				fmt=elf ;;
333
334  metag-*-elf)				fmt=elf ;;
335  metag-*-linux*)			fmt=elf em=linux ;;
336
337  mcore-*-elf)				fmt=elf ;;
338  mcore-*-pe)				fmt=coff em=pe bfd_gas=yes ;;
339
340  microblaze-*-*)			fmt=elf ;;
341
342  mips-*-irix6*)			fmt=elf em=irix ;;
343  mips-*-irix5*)			fmt=elf em=irix ;;
344  mips*-*-linux*)			fmt=elf em=tmips ;;
345  mips*-*-freebsd* | mips*-*-kfreebsd*-gnu)
346					fmt=elf em=freebsd ;;
347  mips-*-sysv4*MP* | mips-*-gnu*)	fmt=elf em=tmips ;;
348  mips*-sde-elf* | mips*-mti-elf* | mips*-img-elf*)
349					fmt=elf em=tmips ;;
350  mips-*-elf* | mips-*-rtems*)		fmt=elf ;;
351  mips-*-netbsd*)			fmt=elf em=tmips ;;
352  mips-*-openbsd*)			fmt=elf em=tmips ;;
353  mips*-*-haiku*)			fmt=elf endian=little em=haiku ;;
354
355  mmix-*-*)				fmt=elf ;;
356
357  mn10200-*-*)				fmt=elf ;;
358
359  # cpu_type for am33_2.0 is set to mn10300
360  mn10300-*-linux*)			fmt=elf em=linux ;;
361  mn10300-*-*)				fmt=elf ;;
362
363  moxie-*-uclinux)			fmt=elf em=linux ;;
364  moxie-*-moxiebox*)                    fmt=elf endian=little ;;
365  moxie-*-*)				fmt=elf ;;
366    
367  mt-*-elf)				fmt=elf bfd_gas=yes ;;
368
369  msp430-*-*)				fmt=elf ;;
370
371  nds32-*-elf*)				fmt=elf ;;
372  nds32-*-linux*)			fmt=elf em=linux ;;
373
374  nios2-*-rtems*)			fmt=elf ;;
375  nios2*-linux*)			fmt=elf em=linux ;;
376
377  ns32k-pc532-mach*)			fmt=aout em=pc532mach ;;
378  ns32k-pc532-ux*)			fmt=aout em=pc532mach ;;
379  ns32k-pc532-lites*)			fmt=aout em=nbsd532 ;;
380  ns32k-*-*n*bsd*)			fmt=aout em=nbsd532 ;;
381
382  or1k*-*-elf | or1k*-*-rtems*) 	fmt=elf endian=big ;;
383  or1k*-*-linux*)			fmt=elf em=linux endian=big ;;
384
385  pj*)					fmt=elf ;;
386
387  ppc-*-pe | ppc-*-cygwin*)		fmt=coff em=pe ;;
388  ppc-*-winnt*)				fmt=coff em=pe ;;
389  ppc-*-aix5.[01])			fmt=coff em=aix5 ;;
390  ppc-*-aix[5-9].*)			fmt=coff em=aix5 ;;
391  ppc-*-aix*)				fmt=coff em=aix ;;
392  ppc-*-beos*)				fmt=coff em=beos ;;
393  ppc-*-*n*bsd* | ppc-*-elf*)		fmt=elf ;;
394  ppc-*-eabi* | ppc-*-sysv4*)		fmt=elf ;;
395  ppc-*-haiku*)				fmt=elf em=haiku ;;
396  ppc-*-linux-*)			fmt=elf em=linux ;;
397  ppc-*-solaris*)			fmt=elf em=solaris ;;
398  ppc-*-rtems*)				fmt=elf ;;
399  ppc-*-macos*)				fmt=coff em=macos ;;
400  ppc-*-nto*)				fmt=elf ;;
401  ppc-*-kaos*)				fmt=elf ;;
402  ppc-*-lynxos*)			fmt=elf em=lynx ;;
403
404  riscv*-*-*)				fmt=elf endian=little ;;
405
406  s390-*-linux-*)			fmt=elf em=linux ;;
407  s390-*-tpf*)				fmt=elf ;;
408
409  score-*-elf)				fmt=elf ;;
410
411  sh*-*-linux*)				fmt=elf em=linux
412    case ${cpu} in
413      sh*eb)	endian=big ;;
414      *)	endian=little ;;
415    esac ;;
416  sh5*-*-netbsd*)			fmt=elf em=nbsd ;;
417  sh64*-*-netbsd*)			fmt=elf em=nbsd ;;
418  sh*-*-netbsdelf*)			fmt=elf em=nbsd
419    case ${cpu} in
420      sh*l*)	endian=little ;;
421      *)	endian=big ;;
422    esac ;;
423  sh*-*-symbianelf*)			fmt=elf endian=little ;;
424  sh-*-elf*)				fmt=elf ;;
425  sh-*-uclinux* | sh[12]-*-uclinux*)	fmt=elf em=uclinux ;;
426  sh-*-coff*)				fmt=coff ;;
427  sh-*-nto*)				fmt=elf ;;
428  sh-*-pe*)				fmt=coff em=pe bfd_gas=yes endian=little ;;
429  sh-*-rtemscoff*)			fmt=coff ;;
430  sh-*-rtems*)				fmt=elf ;;
431  sh-*-kaos*)				fmt=elf ;;
432  shle*-*-kaos*)			fmt=elf ;;
433  sh64-*-elf*)				fmt=elf ;;
434
435  sparc64-*-rtems*)			fmt=elf ;;
436  sparc-*-rtems*)			fmt=elf ;;
437  sparc-*-sunos4*)			fmt=aout em=sun3 ;;
438  sparc-*-aout)				fmt=aout em=sparcaout ;;
439  sparc-*-coff)				fmt=coff ;;
440  sparc-*-linux*aout*)			fmt=aout em=linux ;;
441  sparc-*-linux-*)			fmt=elf em=linux ;;
442  sparc-fujitsu-none)			fmt=aout ;;
443  sparc-*-elf)				fmt=elf ;;
444  sparc-*-sysv4*)			fmt=elf ;;
445  sparc-*-solaris*)			fmt=elf em=solaris ;;
446  sparc-*-netbsdelf*)			fmt=elf em=nbsd ;;
447  sparc-*-netbsd*)
448    case ${cpu} in
449      sparc64)				fmt=elf em=nbsd ;;
450      *)				fmt=aout em=nbsd ;;
451    esac ;;
452  sparc-*-openbsd[0-2].* | \
453  sparc-*-openbsd3.[0-1])
454    case ${cpu} in
455      sparc64)				fmt=elf em=nbsd ;;
456      *)				fmt=aout em=nbsd ;;
457    esac ;;
458  sparc-*-openbsd*)			fmt=elf em=nbsd ;;
459
460  spu-*-elf)				fmt=elf ;;
461
462  tic30-*-*aout*)			fmt=aout bfd_gas=yes ;;
463  tic30-*-*coff*)			fmt=coff bfd_gas=yes ;;
464  tic4x-*-* | c4x-*-*)			fmt=coff bfd_gas=yes ;;
465  tic54x-*-* | c54x*-*-*)		fmt=coff bfd_gas=yes need_libm=yes;;
466  tic6x-*-*)				fmt=elf ;;
467
468  tilepro-*-* | tilegx*-*-*)		fmt=elf ;;
469
470  v850*-*-*)				fmt=elf ;;
471
472  vax-*-netbsdelf*)			fmt=elf em=nbsd ;;
473  vax-*-linux-*)			fmt=elf em=linux ;;
474
475  visium-*-elf)				fmt=elf ;;
476
477  xstormy16-*-*)			fmt=elf ;;
478  
479  xgate-*-*)    			fmt=elf ;;
480
481  xtensa*-*-*)				fmt=elf ;;
482
483  z80-*-coff)				fmt=coff ;;
484
485  z8k-*-coff | z8k-*-sim)		fmt=coff ;;
486
487  *-*-aout | *-*-scout)			fmt=aout ;;
488  *-*-cloudabi*)			fmt=elf ;;
489  *-*-dragonfly*)			fmt=elf em=dragonfly ;;
490  *-*-freebsd* | *-*-kfreebsd*-gnu)	fmt=elf em=freebsd ;;
491  *-*-bsd*)				fmt=aout em=sun3 ;;
492  *-*-generic)				fmt=generic ;;
493  *-*-xray | *-*-hms)			fmt=coff ;;
494  *-*-sim)				fmt=coff ;;
495  *-*-elf | *-*-sysv4*)			fmt=elf ;;
496  *-*-solaris*)				fmt=elf em=solaris ;;
497  *-*-aros*)				fmt=elf em=linux ;;
498  *-*-vxworks* | *-*-windiss)		fmt=elf em=vxworks ;;
499  *-*-netware)				fmt=elf em=netware ;;
500esac
501
502case ${cpu_type} in
503  aarch64 | alpha | arm | i386 | ia64 | microblaze | mips | ns32k | or1k | or1knd | pdp11 | ppc | riscv | sparc | z80 | z8k)
504    bfd_gas=yes
505    ;;
506esac
507case ${fmt} in
508  elf | ecoff | fdpicelf | multi | som)
509    bfd_gas=yes
510    ;;
511esac
512
513if test $bfd_gas != yes; then
514  echo This target is no longer supported in gas
515  exit 1
516fi
517
518case ${cpu_type}-${fmt}-${os} in
519i386-elf-linux*)
520  # Default to compress DWARF debug sections for Linux/x86.
521  if test ${ac_default_compressed_debug_sections} = unset; then
522    ac_default_compressed_debug_sections=yes
523  fi
524  ;;
525esac
526