OSDN Git Service

2001-11-14 David O'Brien <obrien@FreeBSD.org>
[pf3gnuchains/gcc-fork.git] / gcc / config.gcc
1 # GCC build-, host- and target-specific configuration file.
2 # Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
3
4 #This file is part of GCC.
5
6 #GCC is free software; you can redistribute it and/or modify it under
7 #the terms of the GNU General Public License as published by the Free
8 #Software Foundation; either version 2, or (at your option) any later
9 #version.
10
11 #GCC is distributed in the hope that it will be useful, but WITHOUT
12 #ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 #FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
14 #for more details.
15
16 #You should have received a copy of the GNU General Public License
17 #along with GCC; see the file COPYING.  If not, write to the Free
18 #Software Foundation, 59 Temple Place - Suite 330, Boston, MA
19 #02111-1307, USA.
20
21 # This is the GCC build-, host- and target-specific configuration file
22 # where a configuration type, as recognized and generated by config.bfd,
23 # is mapped to different system-specific definitions and files.  This is
24 # invoked by the autoconf-generated configure script, called for build,
25 # host and target in that order, setting ${machine} to each.  Putting it
26 # in a separate shell file lets us skip running autoconf when modifying
27 # build-, host- and target-specific information.
28
29 # This file switches on the shell variable ${machine}, and also uses the
30 # following shell variables:
31 #
32 #  with_*               Various variables as set by configure.
33 #
34 #  enable_threads_flag  Either the name, yes or no depending on whether
35 #                       threads support was requested.
36 #
37 #  gas_flag             Either yes or no depending on whether GNU as was
38 #                       requested.
39 #
40 #  gnu_ld_flag          Either yes or no depending on whether GNU ld was
41 #                       requested.
42
43 # This file sets the following shell variables for use by the
44 # autoconf-generated configure script:
45 #
46 #  cpu_type             The name of the cpu, if different from machine.
47 #
48 #  tm_file              A list of target macro files, if different from
49 #                       "$cpu_type/$cpu_type.h". Usually it's constructed
50 #                       per target in a way like this:
51 #                       tm_file="${tm_file} elfos.h svr4.h ${cpu_type.h}/elf.h"
52 #                       Note that the preferred order is:
53 #                       - specific target header "${cpu_type}/${cpu_type.h}"
54 #                       - generic headers like elfos.h, netware.h, etc.
55 #                       - specializing target headers like ${cpu_type.h}/elf.h
56 #                       This helps to keep OS specific stuff out of the CPU
57 #                       defining header ${cpu_type}/${cpu_type.h}.
58 #
59 #  tm_p_file            Location of file with declarations for functions
60 #                       in $out_file.
61 #
62 #  out_file             The name of the machine description C support
63 #                       file, if different from "$cpu_type/$cpu_type.c".
64 #
65 #  md_file              The name of the machine-description file, if
66 #                       different from "$cpu_type/$cpu_type.md".
67 #
68 #  tmake_file           A list of machine-description-specific
69 #                       makefile-fragments, if different from
70 #                       "$cpu_type/t-$cpu_type".
71 #
72 #  float_format         Set to the symbolic name for the floating-point
73 #                       formats used for this machine, if different from
74 #                       "i64".  Used to derive a header file name to
75 #                       include, like "vax" for "float-vax.h".  If no such
76 #                       file is wanted, set to "none".
77 #
78 #  extra_objs           List of extra objects that should be linked into
79 #                       the compiler proper (cc1, cc1obj, cc1plus)
80 #                       depending on target.
81 #
82 #  extra_headers        List of used header files from the directory
83 #                       ginclude.
84 #
85 #  host_xmake_file      List of host-specific makefile-fragments.
86 #
87 #  extra_passes         List of extra executables compiled for this target
88 #                       machine, used for compiling from source to object.
89 #
90 #  extra_parts          List of extra object files that should be compiled
91 #                       for this target machine.
92 #
93 #  extra_programs       Like extra_passes, but these are used when linking.
94 #
95 #  host_extra_objs      List of extra host-dependent objects that should
96 #                       be linked into the compiler proper.
97 #
98 #  host_extra_gcc_objs  List of extra host-dependent objects that should
99 #                       be linked into the gcc driver.
100 #
101 #  c_target_objs        List of extra target-dependent objects that be
102 #                       linked into the C compiler only.
103 #
104 #  cxx_target_objs      List of extra target-dependent objects that be
105 #                       linked into the C++ compiler only.
106 #
107 #  build_xm_defines     List of macros to define when compiling for the
108 #                       build machine.
109 #
110 #  build_xm_file        List of files to include when compiling for the
111 #                       build machine.
112 #
113 #  host_xm_defines      List of macros to define when compiling for the
114 #                       host machine.
115 #
116 #  host_xm_file         List of files to include when compiling for the
117 #                       host machine.
118 #
119 #  xm_defines           List of macros to define when compiling for the
120 #                       target machine.
121 #
122 #  xm_file              List of files to include when compiling for the
123 #                       target machine.
124 #
125 #  use_collect2         Set to yes or no, depending on whether collect2
126 #                       will be used.
127 #
128 #  target_cpu_default   Set to override the default target model.
129 #
130 #  build_install_headers_dir
131 #                       Target to use when installing header files.
132 #
133 #  host_truncate_target
134 #                       Non-empty if the target name should be truncated
135 #                       on this host, due to filename length issues.
136 #
137 #  gdb_needs_out_file_path
138 #                       Set to yes if gdb needs a dir command with
139 #                       `dirname $out_file`.
140 #
141 #  build_exeext         Set to the suffix, if the build machine requires
142 #                       executables to have a file name suffix.
143 #
144 #  host_exeext          Set to the suffix, if the host machine requires
145 #                       executables to have a file name suffix.
146 #
147 #  thread_file          Set to control which thread package to use.
148 #
149 #  gas                  Set to yes or no depending on whether the target
150 #                       system normally uses GNU as.
151
152 # The following variables are used in each case-construct to build up the
153 # outgoing variables:
154 #
155 #  xmake_file           Makefile-fragment when this system is as a host,
156 #                       for host_xmake_file.
157 #
158 #  extra_host_objs      List of extra objects that should be linked into
159 #                       the compiler proper when this system is a host,
160 #                       for host_extra_objs.
161 #
162 #  install_headers_dir  Makefile-target for how the header file directory
163 #                       is installed, when this system is a build system,
164 #                       for build_install_headers_dir.
165 #
166 #  truncate_target      Non-empty if the target name should be truncated
167 #                       when this system is a host, due to filename length
168 #                       issues.  For host_truncate_target.
169 #
170 #  exeext               The suffix for executables on this system.
171 #
172 #  gnu_ld               Set to yes or no depending on whether the target
173 #                       system normally uses GNU ld.
174
175 out_file=
176 xmake_file=
177 tmake_file=
178 extra_headers=
179 extra_passes=
180 extra_parts=
181 extra_programs=
182 extra_objs=
183 extra_host_objs=
184 extra_gcc_objs=
185 c_target_objs=
186 cxx_target_objs=
187 xm_defines=
188 float_format=
189 # Set this to force installation and use of collect2.
190 use_collect2=
191 # Set this to override the default target model.
192 target_cpu_default=
193 # Set this to control how the header file directory is installed.
194 install_headers_dir=install-headers-tar
195 # Set this if directory names should be truncated to 14 characters.
196 truncate_target=
197 # Set this if gdb needs a dir command with `dirname $out_file`
198 gdb_needs_out_file_path=
199 # Set this if the build machine requires executables to have a
200 # file name suffix.
201 exeext=
202 # Set this to control which thread package will be used.
203 thread_file=
204 # Reinitialize these from the flag values every loop pass, since some
205 # configure entries modify them.
206 gas="$gas_flag"
207 gnu_ld="$gnu_ld_flag"
208 enable_threads=$enable_threads_flag
209
210 # Set default cpu_type, tm_file, tm_p_file and xm_file so it can be
211 # updated in each machine entry.
212 tm_p_file=
213 cpu_type=`echo $machine | sed 's/-.*$//'`
214 case $machine in
215 alpha*-*-*)
216         cpu_type=alpha
217         ;;
218 strongarm*-*-*)
219         cpu_type=arm
220         ;;
221 arm*-*-*)
222         cpu_type=arm
223         ;;
224 xscale-*-*)
225         cpu_type=arm
226         ;;
227 c*-convex-*)
228         cpu_type=convex
229         ;;
230 i[34567]86-*-*)
231         cpu_type=i386
232         ;;
233 x86_64-*-*)
234         cpu_type=i386
235         ;;
236 hppa*-*-* | parisc*-*-*)
237         cpu_type=pa
238         ;;
239 m680[02]0-*-*)
240         cpu_type=m68k
241         ;;
242 mips*-*-*)
243         cpu_type=mips
244         ;;
245 pj*-*-*)
246         cpu_type=pj
247         ;;
248 powerpc*-*-*)
249         cpu_type=rs6000
250         ;;
251 sparc*-*-*)
252         cpu_type=sparc
253         ;;
254 esac
255
256 tm_file=${cpu_type}/${cpu_type}.h
257 if test -f ${srcdir}/config/${cpu_type}/${cpu_type}-protos.h
258 then
259         tm_p_file=${cpu_type}/${cpu_type}-protos.h
260 fi
261 # On a.out targets, we need to use collect2.
262 case $machine in
263 *-*-*aout*)
264         use_collect2=yes
265         ;;
266 esac
267
268 # Common parts for GNU/Linux, GNU/Hurd, OpenBSD and FreeBSD systems.
269 case $machine in
270 *-*-linux*)
271         xm_defines=POSIX
272         ;;
273 *-*-gnu*)
274         # On the Hurd, the setup is just about the same on
275         # each different CPU.  The specific machines that we
276         # support are matched above and just set $cpu_type.
277         xm_defines=POSIX
278         tm_file="${cpu_type}/gnu.h"
279         extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
280         # GNU always uses ELF.
281         elf=yes
282         # GNU tools are the only tools.
283         gnu_ld=yes
284         gas=yes
285         # These details are the same as for Linux.
286         xmake_file=x-linux
287         # But here we need a little extra magic.
288         tmake_file="t-slibgcc-elf-ver t-linux t-gnu"
289         case $machine in
290         i[34567]86-*-*)
291                 tm_file="${cpu_type}/${cpu_type}.h i386/att.h elfos.h svr4.h linux.h i386/linux.h gnu.h ${tm_file}"
292                 ;;
293         esac
294         ;;
295 *-*-openbsd*)
296         tm_file=${cpu_type}/openbsd.h
297         tmake_file="t-libc-ok t-openbsd t-libgcc-pic"
298         xm_defines=POSIX
299         if test x$enable_threads = xyes; then
300                 thread_file='posix'
301                 tmake_file="${tmake_file} t-openbsd-thread"
302         fi
303         ;;
304 *-*-freebsd[12] | *-*-freebsd[12].* | *-*-freebsd*aout*)
305         # This is the place-holder for the generic a.out configuration
306         # of FreeBSD.  No actual configuration resides here since
307         # there was only ever a bare-bones ix86 configuration for
308         # a.out and it exists solely in the machine-specific section.
309         # This place-holder must exist to avoid dropping into
310         # the generic ELF configuration of FreeBSD (i.e. it must be
311         # ordered before that section).
312         ;;
313 *-*-freebsd*)
314         # This is the generic ELF configuration of FreeBSD.  Later
315         # machine-specific sections may refine and add to this
316         # configuration.
317         #
318         # Due to tm_file entry ordering issues that vary between cpu
319         # architectures, we only define fbsd_tm_file to allow the
320         # machine-specific section to dictate the final order of all
321         # entries of tm_file with the minor exception that components
322         # of the tm_file set here will always be of the form:
323         #
324         # freebsd<version_number>.h [freebsd-<conf_option>.h ...] freebsd.h
325         #
326         # The machine-specific section should not tamper with this
327         # ordering but may order all other entries of tm_file as it
328         # pleases around the provided core setting.
329         gas=yes
330         gnu_ld=yes
331         extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
332         case $machine in
333         *-*-freebsd3 | *-*-freebsd[3].*) fbsd_tm_file="freebsd3.h";;
334         *-*-freebsd4 | *-*-freebsd[4].*) fbsd_tm_file="freebsd4.h";;
335         *-*-freebsd5 | *-*-freebsd[5].*) fbsd_tm_file="freebsd5.h";;
336         *-*-freebsd6 | *-*-freebsd[6].*) fbsd_tm_file="freebsd6.h";;
337         *) echo 'Please update *-*-freebsd* in gcc/config.gcc'; exit 1;;
338         esac
339         tmake_file=t-freebsd
340         xmake_file=none
341         xm_defines=POSIX
342         case x${enable_threads} in
343         xno) fbsd_tm_file="${fbsd_tm_file} freebsd-nthr.h";;
344         x | xyes | xpthreads | xposix)
345                 thread_file='posix'
346                 tmake_file="${tmake_file} t-freebsd-thread"
347                 ;;
348         *) echo 'Unknown thread configuration for FreeBSD'; exit 1;;
349         esac
350         fbsd_tm_file="${fbsd_tm_file} freebsd.h"
351         if test x${thread_file} = xposix; then
352           if test x${enable_libgcj} = xyes; then
353             echo 'FreeBSD does not currently handle --enable-threads (now'
354             echo 'the default to match system compiler) and --enable-libgcj.'
355             echo 'Please explicitly configure with --disable-threads or'
356             echo '--disable-libgcj'
357             exit 1
358           fi
359         fi
360         ;;
361 esac
362
363 case $machine in
364 # Support site-specific machine types.
365 *local*)
366         rest=`echo $machine | sed -e "s/$cpu_type-//"`
367         tm_file=${cpu_type}/$rest.h
368         if test -f $srcdir/config/${cpu_type}/xm-$rest.h
369         then xm_file=${cpu_type}/xm-$rest.h
370         fi
371         if test -f $srcdir/config/${cpu_type}/x-$rest
372         then xmake_file=${cpu_type}/x-$rest
373         fi
374         if test -f $srcdir/config/${cpu_type}/t-$rest
375         then tmake_file=${cpu_type}/t-$rest
376         fi
377         ;;
378 1750a-*-*)
379         # 1750a is only supported as a target.
380         case "$build,$host" in 1750a*,* | *,1750a* )
381                 echo "*** $machine is only supported as a target" >&2
382                 exit 1
383         esac
384         ;;
385 a29k-*-bsd* | a29k-*-sym1*)
386         tm_file="${tm_file} a29k/unix.h"
387         xm_defines=POSIX
388         use_collect2=yes
389         ;;
390 a29k-*-udi | a29k-*-coff)
391         tm_file="${tm_file} dbxcoff.h"
392         tmake_file=a29k/t-a29kbare
393         ;;
394 a29k*-*-rtems*)
395         tm_file=a29k/rtems.h
396         tmake_file="a29k/t-a29kbare t-rtems"
397         if test x$enable_threads = xyes; then
398           thread_file='rtems'
399         fi
400         ;;
401 a29k-wrs-vxworks*)
402         tm_file="${tm_file} dbxcoff.h a29k/vx29k.h"
403         tmake_file=a29k/t-vx29k
404         extra_parts="crtbegin.o crtend.o"
405         thread_file='vxworks'
406         ;;
407 a29k-*-*)                       # Default a29k environment.
408         use_collect2=yes
409         ;;
410 alpha*-*-unicosmk*)
411         use_collect2=yes
412         tm_file="${tm_file} alpha/unicosmk.h"
413
414         # Don't include t-ieee for now because we don't support that yet
415         # tmake_file="alpha/t-ieee"
416         tmake_file="alpha/t-unicosmk"
417         ;;
418 alpha-*-interix)
419         tm_file="${tm_file} alpha/alpha32.h interix.h alpha/alpha-interix.h"
420
421         # GAS + IEEE_CONFORMANT+IEEE (no inexact);
422         #target_cpu_default="MASK_GAS|MASK_IEEE_CONFORMANT|MASK_IEEE"
423
424         # GAS + IEEE_CONFORMANT
425         target_cpu_default="MASK_GAS|MASK_IEEE_CONFORMANT"
426
427         xm_defines=POSIX
428         xm_file="alpha/xm-alpha-interix.h xm-interix.h"
429         xmake_file=x-interix
430         tmake_file="alpha/t-alpha alpha/t-interix alpha/t-ieee"
431         if test x$enable_threads = xyes ; then
432                 thread_file='posix'
433         fi
434         if test x$stabs = xyes ; then
435                 tm_file="${tm_file} dbxcoff.h"
436         fi
437         #prefix='$$INTERIX_ROOT'/usr/contrib
438         #local_prefix='$$INTERIX_ROOT'/usr/contrib
439         ;;
440 alpha*-*-linux*ecoff*)
441         tm_file="${tm_file} alpha/linux-ecoff.h alpha/linux.h"
442         target_cpu_default="MASK_GAS"
443         tmake_file="alpha/t-alpha alpha/t-ieee"
444         gas=no
445         gas=yes gnu_ld=yes
446         ;;
447 alpha*-*-linux*libc1*)
448         tm_file="${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h"
449         target_cpu_default="MASK_GAS"
450         tmake_file="t-slibgcc-elf-ver t-linux t-linux-gnulibc1 alpha/t-alpha alpha/t-crtbe alpha/t-crtfm alpha/t-ieee"
451         gas=yes gnu_ld=yes
452         if test x$enable_threads = xyes; then
453                 thread_file='posix'
454         fi
455         ;;
456 alpha*-*-linux*)
457         tm_file="${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h"
458         target_cpu_default="MASK_GAS"
459         tmake_file="t-slibgcc-elf-ver t-linux alpha/t-crtbe alpha/t-crtfm alpha/t-alpha alpha/t-ieee"
460         gas=yes gnu_ld=yes
461         if test x$enable_threads = xyes; then
462                 thread_file='posix'
463         fi
464         ;;
465 alpha*-*-freebsd*)
466         tm_file="${tm_file} ${fbsd_tm_file} alpha/elf.h alpha/freebsd.h"
467         target_cpu_default="MASK_GAS"
468         tmake_file="${tmake_file} alpha/t-crtbe alpha/t-crtfm alpha/t-alpha alpha/t-ieee"
469         ;;
470 alpha*-*-netbsd*)
471         xm_defines=POSIX
472         tm_file="${tm_file} alpha/elf.h alpha/netbsd.h alpha/netbsd-elf.h"
473         target_cpu_default="MASK_GAS"
474         tmake_file="alpha/t-crtbe alpha/t-crtfm alpha/t-alpha alpha/t-ieee"
475         gas=yes gnu_ld=yes
476         ;;
477
478 alpha*-*-openbsd*)
479         # default x-alpha is only appropriate for dec-osf.
480         target_cpu_default="MASK_GAS"
481         tmake_file="alpha/t-alpha alpha/t-ieee"
482         ;;
483
484 alpha*-dec-osf*)
485         xm_defines=POSIX
486         if test x$stabs = xyes
487         then
488                 tm_file="${tm_file} dbx.h"
489         fi
490         if test x$gas != xyes
491         then
492                 extra_passes="mips-tfile mips-tdump"
493         fi
494         use_collect2=yes
495         tmake_file="alpha/t-alpha alpha/t-ieee alpha/t-osf alpha/t-crtfm"
496         case $machine in
497           *-*-osf1*)
498             tm_file="${tm_file} alpha/osf.h alpha/osf12.h alpha/osf2or3.h"
499             ;;
500           *-*-osf[23]*)
501             tm_file="${tm_file} alpha/osf.h alpha/osf2or3.h"
502             ;;
503           *-*-osf4*)
504             tm_file="${tm_file} alpha/osf.h"
505             tmake_file="$tmake_file alpha/t-osf4"
506             # Some versions of OSF4 (specifically X4.0-9 296.7) have
507             # a broken tar, so we use cpio instead.
508             install_headers_dir=install-headers-cpio
509             ;;
510           *-*-osf5*)
511             tm_file="${tm_file} alpha/osf.h alpha/osf5.h"
512             tmake_file="$tmake_file alpha/t-osf4"
513             float_format=i128
514             ;;
515         esac
516         case $machine in
517           *-*-osf4.0[b-z] | *-*-osf4.[1-9]* | *-*-osf5*)
518             target_cpu_default=MASK_SUPPORT_ARCH
519             ;;
520         esac
521         ;;
522 alpha*-*-vxworks*)
523         xm_defines=POSIX
524         tm_file="${tm_file} dbx.h alpha/vxworks.h"
525         tmake_file="alpha/t-alpha alpha/t-ieee"
526         if [ x$gas != xyes ]
527         then
528                 extra_passes="mips-tfile mips-tdump"
529         fi
530         use_collect2=yes
531         thread_file='vxworks'
532         ;;
533 alpha*-dec-vms*)
534         xm_defines=POSIX
535         tm_file=alpha/vms.h
536         xm_file=alpha/xm-vms.h
537         tmake_file="alpha/t-alpha alpha/t-vms alpha/t-ieee"
538         ;;
539 arc-*-elf*)
540         tm_file="elfos.h svr4.h ${tm_file}"
541         extra_parts="crtinit.o crtfini.o"
542         ;;
543 arm*-*-rtems*)
544         tm_file="elfos.h arm/unknown-elf.h arm/elf.h arm/rtems-elf.h rtems.h"
545         tmake_file="arm/t-arm-elf t-rtems"
546         if test x$enable_threads = xyes; then
547           thread_file='rtems'
548         fi
549         ;;
550 arm-*-coff* | armel-*-coff*)
551         tm_file=arm/coff.h
552         tmake_file=arm/t-arm-coff
553         ;;
554 arm-*-vxworks*)
555         tm_file=arm/vxarm.h
556         tmake_file=arm/t-arm-coff
557         thread_file='vxworks'
558         ;;
559 arm-*-riscix1.[01]*)            # Acorn RISC machine (early versions)
560         tm_file=arm/riscix1-1.h
561         use_collect2=yes
562         ;;
563 arm-*-riscix*)                  # Acorn RISC machine
564         if test x$gas = xyes
565         then
566             tm_file=arm/rix-gas.h
567         else
568             tm_file=arm/riscix.h
569         fi
570         xmake_file=arm/x-riscix
571         tmake_file=arm/t-riscix
572         use_collect2=yes
573         ;;
574 arm-semi-aout | armel-semi-aout)
575         tm_file=arm/semi.h
576         tmake_file=arm/t-semi
577         ;;
578 arm-semi-aof | armel-semi-aof)
579         tm_file=arm/semiaof.h
580         tmake_file=arm/t-semi
581         ;;
582 arm*-*-netbsd*)
583         tm_file=arm/netbsd.h
584         tmake_file="t-netbsd arm/t-netbsd"
585         use_collect2=yes
586         ;;
587 arm*-*-linux*)                  # ARM GNU/Linux with ELF
588         xmake_file=x-linux
589         tm_file="elfos.h arm/unknown-elf.h arm/elf.h arm/linux-gas.h arm/linux-elf.h"
590         tmake_file="t-slibgcc-elf-ver t-linux arm/t-linux"
591         extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
592         gnu_ld=yes
593         case x${enable_threads} in
594         x | xyes | xpthreads | xposix)
595                 thread_file='posix'
596                 ;;
597         esac
598         ;;
599 arm*-*-uclinux*)                # ARM ucLinux
600         tm_file="elfos.h arm/unknown-elf.h arm/elf.h arm/linux-gas.h arm/linux-elf.h arm/uclinux-elf.h"
601         tmake_file=arm/t-arm-elf
602         ;;
603 arm*-*-aout)
604         tm_file=arm/aout.h
605         tmake_file=arm/t-arm-aout
606         ;;
607 arm*-*-ecos-elf)
608         tm_file="elfos.h arm/unknown-elf.h arm/elf.h arm/ecos-elf.h"
609         tmake_file=arm/t-arm-elf
610         ;;
611 arm*-*-elf)
612         tm_file="elfos.h arm/unknown-elf.h arm/elf.h"
613         tmake_file=arm/t-arm-elf
614         ;;
615 arm*-*-conix*)
616         tm_file="elfos.h arm/unknown-elf.h arm/elf.h arm/conix-elf.h"
617         tmake_file=arm/t-arm-elf
618         ;;
619 arm*-*-oabi)
620         tm_file="arm/unknown-elf-oabi.h elfos.h arm/unknown-elf.h arm/elf.h"
621         tmake_file=arm/t-arm-elf
622         ;;
623 arm-*-pe*)
624         tm_file=arm/pe.h
625         tmake_file=arm/t-pe
626         extra_objs="pe.o"
627         ;;
628 avr-*-*)
629         ;;
630 c1-convex-*)                    # Convex C1
631         target_cpu_default=1
632         use_collect2=yes
633         ;;
634 c2-convex-*)                    # Convex C2
635         target_cpu_default=2
636         use_collect2=yes
637         ;;
638 c32-convex-*)
639         target_cpu_default=4
640         use_collect2=yes
641         ;;
642 c34-convex-*)
643         target_cpu_default=8
644         use_collect2=yes
645         ;;
646 c38-convex-*)
647         target_cpu_default=16
648         use_collect2=yes
649         ;;
650 c4x-*-rtems*)
651         tmake_file="c4x/t-c4x t-rtems"
652         tm_file=c4x/rtems.h
653         if test x$enable_threads = xyes; then
654           thread_file='rtems'
655         fi
656         c_target_objs="c4x-c.o"
657         cxx_target_objs="c4x-c.o"
658         ;;
659 c4x-*)
660         float_format=c4x
661         tmake_file=c4x/t-c4x
662         c_target_objs="c4x-c.o"
663         cxx_target_objs="c4x-c.o"
664         ;;
665 clipper-intergraph-clix*)
666         tm_file="${tm_file} svr3.h clipper/clix.h"
667         xm_defines=POSIX
668         extra_headers=va-clipper.h
669         extra_parts="crtbegin.o crtend.o"
670         install_headers_dir=install-headers-cpio
671         ;;
672 cris-*-aout)
673         tm_file="dbxelf.h ${tm_file} cris/aout.h"
674         gas=yes
675         tmake_file="cris/t-cris cris/t-aout"
676         ;;
677 cris-*-elf | cris-*-none)
678         tm_file="elfos.h ${tm_file}"
679         tmake_file="cris/t-cris cris/t-elfmulti"
680         gas=yes
681         ;;
682 cris-*-linux*)
683         tm_file="elfos.h svr4.h ${tm_file} linux.h cris/linux.h"
684         tmake_file="cris/t-cris t-slibgcc-elf-ver cris/t-linux"
685         extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
686         case x${enable_threads} in
687         x | xyes | xpthreads | xposix)
688                 thread_file=posix
689                 ;;
690         esac
691         gas=yes
692         ;;
693 d30v-*)
694         tm_file="elfos.h svr4.h ${tm_file}"
695         float_format=i64
696         ;;
697 dsp16xx-*)
698         ;;
699 elxsi-elxsi-*)
700         use_collect2=yes
701         ;;
702 fr30-*-elf)
703         tm_file="elfos.h svr4.h ${tm_file}"
704         tmake_file=fr30/t-fr30
705         extra_parts="crti.o crtn.o crtbegin.o crtend.o"
706         ;;
707 h8300-*-rtems*)
708         tmake_file="h8300/t-h8300 t-rtems"
709         tm_file=h8300/rtems.h
710         if test x$enable_threads = xyes; then
711           thread_file='rtems'
712         fi
713         float_format=i32
714         ;;
715 h8300-*-elf*)
716         tmake_file="h8300/t-h8300 h8300/t-elf"
717         tm_file="h8300/h8300.h h8300/elf.h"
718         float_format=i32
719         ;;
720 h8300-*-*)
721         float_format=i32
722         ;;
723 hppa*64*-*-linux* | parisc*64*-*-linux*)
724         target_cpu_default="(MASK_PA_11 | MASK_PA_20)"
725         tm_file="pa/pa64-start.h ${tm_file} elfos.h svr4.h linux.h pa/pa-linux.h \
726                  pa/pa64-regs.h pa/pa-64.h pa/pa64-linux.h"
727         tmake_file=pa/t-linux64
728         gas=yes gnu_ld=yes
729         ;;
730 hppa*-*-linux* | parisc*-*-linux*)
731         target_cpu_default="MASK_PA_11"
732         tm_file="${tm_file} elfos.h svr4.h linux.h pa/pa-linux.h \
733                  pa/pa32-regs.h pa/pa32-linux.h"
734         tmake_file="t-slibgcc-elf-ver t-linux pa/t-linux"
735         extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
736         gas=yes gnu_ld=yes
737         if test x$enable_threads = xyes; then
738                 thread_file='posix'
739         fi
740         ;;
741 hppa*-*-openbsd*)
742         target_cpu_default="MASK_PA_11"
743         tmake_file=pa/t-openbsd
744         ;;
745 hppa1.1-*-pro*)
746         target_cpu_default="(MASK_JUMP_IN_DELAY | MASK_PORTABLE_RUNTIME | MASK_GAS | MASK_NO_SPACE_REGS | MASK_SOFT_FLOAT)"
747         tm_file="${tm_file} pa/pa32-regs.h elfos.h pa/elf.h pa/pa-pro-end.h libgloss.h"
748         tmake_file=pa/t-pro
749         ;;
750 hppa1.1-*-osf*)
751         target_cpu_default="MASK_PA_11"
752         tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-osf.h"
753         use_collect2=yes
754         ;;
755 hppa1.1-*-rtems*)
756         target_cpu_default="(MASK_JUMP_IN_DELAY | MASK_PORTABLE_RUNTIME | MASK_GAS | MASK_NO_SPACE_REGS | MASK_SOFT_FLOAT)"
757         tm_file="${tm_file} pa/pa32-regs.h elfos.h pa/elf.h pa/pa-pro-end.h libgloss.h pa/rtems.h"
758         tmake_file=pa/t-pro
759         ;;
760 hppa1.0-*-osf*)
761         tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-osf.h"
762         use_collect2=yes
763         ;;
764 hppa1.1-*-bsd*)
765         tm_file="${tm_file} pa/pa32-regs.h pa/som.h"
766         target_cpu_default="MASK_PA_11"
767         use_collect2=yes
768         ;;
769 hppa1.0-*-bsd*)
770         tm_file="${tm_file} pa/pa32-regs.h pa/som.h"
771         use_collect2=yes
772         ;;
773 hppa1.0-*-hpux7*)
774         tm_file="pa/pa-oldas.h ${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux7.h"
775         xm_defines=POSIX
776         xmake_file=pa/x-pa-hpux
777         install_headers_dir=install-headers-cpio
778         use_collect2=yes
779         ;;
780 hppa1.0-*-hpux8.0[0-2]*)
781         tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h"
782         xm_defines=POSIX
783         xmake_file=pa/x-pa-hpux
784         if test x$gas != xyes
785         then
786                 tm_file="pa/pa-oldas.h ${tm_file}"
787         fi
788         install_headers_dir=install-headers-cpio
789         use_collect2=yes
790         ;;
791 hppa1.1-*-hpux8.0[0-2]*)
792         target_cpu_default="MASK_PA_11"
793         tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h"
794         xm_defines=POSIX
795         xmake_file=pa/x-pa-hpux
796         if test x$gas != xyes
797         then
798                 tm_file="pa/pa-oldas.h ${tm_file}"
799         fi
800         install_headers_dir=install-headers-cpio
801         use_collect2=yes
802         ;;
803 hppa1.1-*-hpux8*)
804         target_cpu_default="MASK_PA_11"
805         tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h"
806         xm_defines=POSIX
807         xmake_file=pa/x-pa-hpux
808         install_headers_dir=install-headers-cpio
809         use_collect2=yes
810         ;;
811 hppa1.0-*-hpux8*)
812         tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h"
813         xm_defines=POSIX
814         xmake_file=pa/x-pa-hpux
815         install_headers_dir=install-headers-cpio
816         use_collect2=yes
817         ;;
818 hppa1.1-*-hpux10* | hppa2*-*-hpux10*)
819         target_cpu_default="MASK_PA_11"
820         tm_file="${tm_file} pa/pa32-regs.h pa/long_double.h pa/som.h pa/pa-hpux.h pa/pa-hpux10.h"
821         float_format=i128
822         xm_defines=POSIX
823         xmake_file=pa/x-pa-hpux
824         tmake_file=pa/t-pa
825         if test x$enable_threads = x; then
826             enable_threads=$have_pthread_h
827         fi
828         case x${enable_threads} in
829         xyes | xdce)
830                 tmake_file="${tmake_file} pa/t-dce-thr"
831                 ;;
832         esac
833         install_headers_dir=install-headers-cpio
834         use_collect2=yes
835         ;;
836 hppa1.0-*-hpux10*)
837         tm_file="${tm_file} pa/pa32-regs.h pa/long_double.h pa/som.h pa/pa-hpux.h pa/pa-hpux10.h"
838         float_format=i128
839         xm_defines=POSIX
840         xmake_file=pa/x-pa-hpux
841         tmake_file=pa/t-pa
842         if test x$enable_threads = x; then
843             enable_threads=$have_pthread_h
844         fi
845         case x${enable_threads} in
846         xyes | xdce)
847                 tmake_file="${tmake_file} pa/t-dce-thr"
848                 ;;
849         esac
850         install_headers_dir=install-headers-cpio
851         use_collect2=yes
852         ;;
853 hppa*64*-*-hpux11*)
854         xm_defines=POSIX
855         xmake_file=pa/x-pa-hpux
856         tmake_file=pa/t-pa
857         tm_file="pa/pa64-start.h ${tm_file} pa/pa64-regs.h pa/long_double.h pa/elf.h pa/pa-hpux.h pa/pa-hpux11.h pa/pa-64.h pa/pa64-hpux.h"
858         float_format=i128
859         tmake_file=pa/t-pa64
860         target_cpu_default="(MASK_PA_11|MASK_PA_20|MASK_GAS)"
861
862 #       if [ x$enable_threads = x ]; then
863 #           enable_threads=$have_pthread_h
864 #       fi
865 #       if [ x$enable_threads = xyes ]; then
866 #               thread_file='dce'
867 #               tmake_file="${tmake_file} pa/t-dce-thr"
868 #       fi
869         install_headers_dir=install-headers-cpio
870         use_collect2=yes
871         ;;
872 hppa1.1-*-hpux11* | hppa2*-*-hpux11*)
873         target_cpu_default="MASK_PA_11"
874         tm_file="${tm_file} pa/pa32-regs.h pa/long_double.h pa/som.h pa/pa-hpux.h pa/pa-hpux11.h"
875         float_format=i128
876         xm_defines=POSIX
877         xmake_file=pa/x-pa-hpux
878         tmake_file=pa/t-pa
879 #       if test x$enable_threads = x; then
880 #           enable_threads=$have_pthread_h
881 #       fi
882 #       if test x$enable_threads = xyes; then
883 #               thread_file='dce'
884 #               tmake_file="${tmake_file} pa/t-dce-thr"
885 #       fi
886         install_headers_dir=install-headers-cpio
887         use_collect2=yes
888         ;;
889 hppa1.0-*-hpux11*)
890         tm_file="${tm_file} pa/pa32-regs.h pa/long_double.h pa/som.h pa/pa-hpux.h pa/pa-hpux11.h"
891         float_format=i128
892         xm_defines=POSIX
893         xmake_file=pa/x-pa-hpux
894 #       if test x$enable_threads = x; then
895 #           enable_threads=$have_pthread_h
896 #       fi
897 #       if test x$enable_threads = xyes; then
898 #               thread_file='dce'
899 #               tmake_file="${tmake_file} pa/t-dce-thr"
900 #       fi
901         install_headers_dir=install-headers-cpio
902         use_collect2=yes
903         ;;
904 hppa1.1-*-hpux* | hppa2*-*-hpux*)
905         target_cpu_default="MASK_PA_11"
906         tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h pa/pa-hpux9.h"
907         xm_defines=POSIX
908         xmake_file=pa/x-pa-hpux
909         install_headers_dir=install-headers-cpio
910         use_collect2=yes
911         ;;
912 hppa1.0-*-hpux*)
913         tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h pa/pa-hpux9.h"
914         xm_defines=POSIX
915         xmake_file=pa/x-pa-hpux
916         install_headers_dir=install-headers-cpio
917         use_collect2=yes
918         ;;
919 hppa1.1-*-hiux* | hppa2*-*-hiux*)
920         target_cpu_default="MASK_PA_11"
921         tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h pa/pa-hiux.h"
922         xm_defines=POSIX
923         xmake_file=pa/x-pa-hpux
924         install_headers_dir=install-headers-cpio
925         use_collect2=yes
926         ;;
927 hppa1.0-*-hiux*)
928         tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h pa/pa-hiux.h"
929         xm_defines=POSIX
930         xmake_file=pa/x-pa-hpux
931         install_headers_dir=install-headers-cpio
932         use_collect2=yes
933         ;;
934 hppa*-*-lites*)
935         tm_file="${tm_file} pa/pa32-regs.h elfos.h pa/elf.h"
936         target_cpu_default="MASK_PA_11"
937         use_collect2=yes
938         ;;
939 hppa*-*-mpeix*)
940         tm_file="${tm_file} pa/pa32-regs.h pa/long_double.h pa/som.h pa/pa-mpeix.h"
941         xmake_file=pa/x-pa-mpeix
942         echo "You must use gas. Assuming it is already installed."
943         gas=yes
944         install_headers_dir=install-headers-tar
945         use_collect2=yes
946         ;;
947 i370-*-opened*)                  # IBM 360/370/390 Architecture
948         xm_defines='POSIX FATAL_EXIT_CODE=12'
949         tm_file=i370/oe.h
950         tmake_file="i370/t-i370"
951         xmake_file=i370/x-oe
952         c_target_objs="i370-c.o"
953         cxx_target_objs="i370-c.o"
954         ;;
955 i370-*-mvs*)
956         xm_defines='POSIX FATAL_EXIT_CODE=12'
957         tm_file=i370/mvs.h
958         tmake_file="i370/t-i370"
959         c_target_objs="i370-c.o"
960         cxx_target_objs="i370-c.o"
961         ;;
962 i370-*-linux*)
963         xmake_file=x-linux
964         tm_file="elfos.h svr4.h linux.h i370/linux.h ${tm_file}"
965         tmake_file="t-slibgcc-elf-ver t-linux"
966         # broken_install=yes
967         extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
968         # extra_parts="crtbegin.o crtend.o"
969         gnu_ld=yes
970         gas=yes
971         elf=yes
972         if test x$enable_threads = xyes; then
973                 thread_file='posix'
974         fi
975         ;;
976 i[34567]86-*-chorusos*)
977         xm_defines=POSIX
978         tm_file="${tm_file} i386/att.h elfos.h i386/i386elf.h chorus.h"
979         tmake_file=i386/t-i386elf
980         xmake_file=x-svr4
981         case x${enable_threads} in
982           xyes | xpthreads | xposix)
983                 thread_file='posix'
984                 ;;
985         esac
986         ;;
987 i[34567]86-*-elf*)
988         xm_defines=POSIX
989         tm_file="${tm_file} i386/att.h elfos.h i386/i386elf.h"
990         tmake_file=i386/t-i386elf
991         xmake_file=x-svr4
992         ;;
993 i[34567]86-ibm-aix*)            # IBM PS/2 running AIX
994         if test x$gas = xyes
995         then
996                 tm_file=i386/aix386.h
997                 extra_parts="crtbegin.o crtend.o"
998                 tmake_file=i386/t-crtstuff
999         else
1000                 tm_file=i386/aix386ng.h
1001                 use_collect2=yes
1002         fi
1003         xm_defines=POSIX
1004         ;;
1005 i[34567]86-ncr-sysv4*)          # NCR 3000 - ix86 running system V.4
1006         xm_defines="POSIX SMALL_ARG_MAX"
1007         if test x$stabs = xyes -a x$gas = xyes
1008         then
1009                 tm_file=i386/sysv4gdb.h
1010         else
1011                 tm_file="${tm_file} i386/att.h elfos.h svr4.h i386/sysv4.h"
1012         fi
1013         extra_parts="crtbegin.o crtend.o"
1014         tmake_file=i386/t-crtpic
1015         ;;
1016 i[34567]86-next-*)
1017         tm_file=i386/next.h
1018         tmake_file=i386/t-next
1019         extra_objs=nextstep.o
1020         extra_parts="crtbegin.o crtend.o"
1021         if test x$enable_threads = xyes; then
1022                 thread_file='mach'
1023         fi
1024         ;;
1025 i[34567]86-*-netware)           # Intel 80386's running netware
1026         tm_file="${tm_file} i386/att.h elfos.h svr4.h i386/sysv4.h netware.h i386/netware.h"
1027         tmake_file=i386/t-netware
1028         ;;
1029 i[34567]86-sequent-bsd*)                # 80386 from Sequent
1030         use_collect2=yes
1031         if test x$gas = xyes
1032         then
1033                 tm_file=i386/seq-gas.h
1034         else
1035                 tm_file=i386/sequent.h
1036         fi
1037         ;;
1038 i[34567]86-sequent-ptx1*)
1039         xm_defines=POSIX
1040         tm_file=i386/seq-sysv3.h
1041         tmake_file=i386/t-crtstuff
1042         extra_parts="crtbegin.o crtend.o"
1043         install_headers_dir=install-headers-cpio
1044         ;;
1045 i[34567]86-sequent-ptx2* | i[34567]86-sequent-sysv3*)
1046         xm_defines=POSIX
1047         tm_file=i386/seq2-sysv3.h
1048         tmake_file=i386/t-crtstuff
1049         extra_parts="crtbegin.o crtend.o"
1050         install_headers_dir=install-headers-cpio
1051         ;;
1052 i[34567]86-sequent-ptx4* | i[34567]86-sequent-sysv4*)
1053         if test x$gas = xyes
1054         then
1055                 tm_file="${tm_file} usegas.h"
1056         fi
1057         xm_defines="POSIX SMALL_ARG_MAX"
1058         xmake_file=x-svr4
1059         tm_file="${tm_file} i386/att.h elfos.h ptx4.h i386/ptx4-i.h"
1060         tmake_file=t-svr4
1061         extra_parts="crtbegin.o crtend.o"
1062         install_headers_dir=install-headers-cpio
1063         ;;
1064 i386-sun-sunos*)                # Sun i386 roadrunner
1065         xm_defines=POSIX
1066         tm_file=i386/sun.h
1067         use_collect2=yes
1068         ;;
1069 i[34567]86-wrs-vxworks*)
1070         tm_file=i386/vxi386.h
1071         thread_file='vxworks'
1072         ;;
1073 i[34567]86-*-aout*)
1074         tm_file=i386/i386-aout.h
1075         ;;
1076 i[34567]86-*-beoself* | i[34567]86-*-beos*)
1077         xm_defines=POSIX
1078         tmake_file='i386/t-beos i386/t-crtpic'
1079         tm_file="${tm_file} i386/att.h elfos.h svr4.h i386/beos-elf.h"
1080         xmake_file=i386/x-beos
1081         extra_parts='crtbegin.o crtend.o'
1082         ;;
1083 i[34567]86-*-bsdi* | i[34567]86-*-bsd386*)
1084         tm_file="i386/386bsd.h i386/bsd386.h"
1085 #       tmake_file=t-libc-ok
1086         ;;
1087 i[34567]86-*-bsd*)
1088         tm_file=i386/386bsd.h
1089 #       tmake_file=t-libc-ok
1090 # Next line turned off because both 386BSD and BSD/386 use GNU ld.
1091 #       use_collect2=yes
1092         ;;
1093 i[34567]86-*-freebsd[12] | i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd*aout*)
1094         tm_file=i386/freebsd-aout.h
1095         tmake_file=t-freebsd
1096         ;;
1097 i[34567]86-*-freebsd*)
1098         tm_file="${tm_file} i386/att.h elfos.h svr4.h ${fbsd_tm_file} i386/freebsd.h"
1099         ;;
1100 i[34567]86-*-netbsdelf*)
1101         xm_defines=POSIX
1102         tm_file="${tm_file} i386/att.h elfos.h svr4.h i386/netbsd-elf.h"
1103         tmake_file=t-netbsd
1104         gnu_ld=yes
1105         float_format=i386
1106         ;;
1107 i[34567]86-*-netbsd*)
1108         tm_file=i386/netbsd.h
1109         tmake_file=t-netbsd
1110         use_collect2=yes
1111         ;;
1112 i[34567]86-*-openbsd*)
1113         # needed to unconfuse gdb
1114         tmake_file="t-libc-ok t-openbsd i386/t-openbsd"
1115         # we need collect2 until our bug is fixed...
1116         use_collect2=yes
1117         ;;
1118 i[34567]86-*-coff*)
1119         tm_file=i386/i386-coff.h
1120         ;;
1121 i[34567]86-*-isc*)              # 80386 running ISC system
1122         xm_defines=POSIX
1123         if test x$gas = xyes -a x$stabs = xyes
1124         then
1125                 tm_file=i386/iscdbx.h
1126                 tmake_file=i386/t-svr3dbx
1127                 extra_parts="svr3.ifile svr3z.ifile"
1128         else
1129                 tm_file=i386/isccoff.h
1130                 tmake_file=i386/t-crtstuff
1131                 extra_parts="crtbegin.o crtend.o"
1132         fi
1133         install_headers_dir=install-headers-cpio
1134         ;;
1135 i[34567]86-*-linux*oldld*)      # Intel 80386's running GNU/Linux
1136                                 # with a.out format using
1137                                 # pre BFD linkers
1138         tmake_file="t-linux-aout i386/t-crtstuff"
1139         tm_file=i386/linux-oldld.h
1140         gnu_ld=yes
1141         float_format=i386
1142         ;;
1143 i[34567]86-*-linux*aout*)       # Intel 80386's running GNU/Linux
1144                                 # with a.out format
1145         tmake_file="t-linux-aout i386/t-crtstuff"
1146         tm_file=i386/linux-aout.h
1147         gnu_ld=yes
1148         float_format=i386
1149         ;;
1150 i[34567]86-*-linux*libc1)       # Intel 80386's running GNU/Linux
1151                                 # with ELF format using the
1152                                 # GNU/Linux C library 5
1153         xmake_file=x-linux      
1154         tm_file="${tm_file} i386/att.h elfos.h svr4.h linux.h i386/linux.h"
1155         tmake_file="t-slibgcc-elf-ver t-linux t-linux-gnulibc1 i386/t-crtstuff"
1156         extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
1157         gnu_ld=yes
1158         float_format=i386
1159         if test x$enable_threads = xyes; then
1160                 thread_file='single'
1161         fi
1162         ;;
1163 i[34567]86-*-linux*)    # Intel 80386's running GNU/Linux
1164                         # with ELF format using glibc 2
1165                         # aka GNU/Linux C library 6
1166         xmake_file=x-linux
1167         tm_file="${tm_file} i386/att.h elfos.h svr4.h linux.h i386/linux.h"
1168         tmake_file="t-slibgcc-elf-ver t-linux i386/t-crtstuff"
1169         extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
1170         gnu_ld=yes
1171         float_format=i386
1172         if test x$enable_threads = xyes; then
1173                 thread_file='posix'
1174         fi
1175         ;;
1176 x86_64-*-linux*)
1177         xmake_file=x-linux
1178         tm_file="i386/biarch64.h i386/i386.h i386/att.h elfos.h svr4.h linux.h \
1179                  i386/x86-64.h i386/linux64.h"
1180         tmake_file="t-slibgcc-elf-ver t-linux i386/t-crtstuff"
1181         extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
1182         gnu_ld=yes
1183         float_format=i386
1184         if test x$enable_threads = xyes; then
1185                 thread_file='posix'
1186         fi
1187         ;;
1188 i[34567]86-*-gnu*)
1189         float_format=i386
1190         ;;
1191 i[34567]86-go32-msdos | i[34567]86-*-go32*)
1192         echo "GO32/DJGPP V1.X is no longer supported. Use *-pc-msdosdjgpp for DJGPP V2.X instead."
1193         exit 1
1194         ;;
1195 i[34567]86-pc-msdosdjgpp*)
1196         xm_file=i386/xm-djgpp.h
1197         tm_file=i386/djgpp.h
1198         xmake_file=i386/x-djgpp
1199         gnu_ld=yes
1200         gas=yes
1201         exeext=.exe
1202         float_format=none
1203         case $host in *pc-msdosdjgpp*)
1204                 target_alias=djgpp
1205                 ;;
1206         esac
1207         ;;
1208 i[34567]86-moss-msdos* | i[34567]86-*-moss*)
1209         tm_file="${tm_file} i386/att.h elfos.h svr4.h linux.h i386/linux.h i386/moss.h"
1210         tmake_file=t-libc-ok
1211         gnu_ld=yes
1212         gas=yes
1213         ;;
1214 i[34567]86-*-lynxos*)
1215         if test x$gas = xyes
1216         then
1217                 tm_file=i386/lynx.h
1218         else
1219                 tm_file=i386/lynx-ng.h
1220         fi
1221         ;;
1222 i[34567]86-*-mach*)
1223         tm_file=i386/mach.h
1224 #       tmake_file=t-libc-ok
1225         use_collect2=yes
1226         ;;
1227 i[34567]86-*-osfrose*)          # 386 using OSF/rose
1228         if test x$elf = xyes
1229         then
1230                 tm_file=i386/osfelf.h
1231                 use_collect2=
1232         else
1233                 tm_file=i386/osfrose.h
1234                 use_collect2=yes
1235         fi
1236         tmake_file=i386/t-osf
1237         extra_objs=halfpic.o
1238         ;;
1239 i[34567]86-go32-rtems*)
1240         tm_file=i386/djgpp-rtems.h
1241         tmake_file=t-rtems
1242         if test x$enable_threads = xyes; then
1243           thread_file='rtems'
1244         fi
1245         ;;
1246 i[34567]86-*-rtemscoff*)
1247         tm_file=i386/rtems.h
1248         tmake_file=t-rtems
1249         if test x$enable_threads = xyes; then
1250           thread_file='rtems'
1251         fi
1252         ;;
1253 i[34567]86-*-rtems*|i[34567]86-*-rtemself*)
1254         tm_file="${tm_file} i386/att.h elfos.h svr4.h linux.h i386/rtemself.h rtems.h"
1255         extra_parts="crtbegin.o crtend.o crti.o crtn.o"
1256         tmake_file="i386/t-rtems-i386 i386/t-crtstuff t-rtems"
1257         if test x$enable_threads = xyes; then
1258           thread_file='rtems'
1259         fi
1260         ;;
1261 i[34567]86-*-sco3.2v5*) # 80386 running SCO Open Server 5
1262         xm_defines=POSIX
1263         xmake_file=i386/x-sco5
1264         install_headers_dir=install-headers-cpio
1265         tm_file=i386/sco5.h
1266         if test x$gas = xyes
1267         then
1268                 tm_file="usegas.h ${tm_file}"
1269                 tmake_file=i386/t-sco5gas
1270         else
1271                 tmake_file=i386/t-sco5
1272         fi
1273         extra_parts="crti.o crtbegin.o crtend.o crtbeginS.o crtendS.o"
1274         ;;
1275 i[34567]86-*-solaris2*)
1276         xm_defines="POSIX SMALL_ARG_MAX"
1277         tm_file="${tm_file} i386/att.h elfos.h svr4.h i386/sysv4.h i386/sol2.h"
1278         if test x$gas = xyes; then
1279                 # Only needed if gas does not support -s
1280                 tm_file="i386/sol2gas.h ${tm_file}"
1281         fi
1282         tmake_file=i386/t-sol2
1283         if test x$gnu_ld = xyes; then
1284                 tmake_file="$tmake_file t-slibgcc-elf-ver"
1285         else
1286                 tmake_file="$tmake_file t-slibgcc-sld"
1287         fi
1288         extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o"
1289         xmake_file=x-svr4
1290         if test x${enable_threads} = x; then
1291             enable_threads=$have_pthread_h
1292             if test x${enable_threads} = x; then
1293                 enable_threads=$have_thread_h
1294             fi
1295         fi
1296         if test x${enable_threads} = xyes; then
1297             if test x${have_pthread_h} = xyes; then
1298                 thread_file='posix'
1299             else
1300                 thread_file='solaris'
1301             fi
1302         fi
1303         ;;
1304 i[34567]86-*-sysv5*)           # Intel x86 on System V Release 5
1305        xm_defines=POSIX
1306        tm_file="${tm_file} i386/att.h elfos.h svr4.h i386/sysv4.h i386/sysv5.h"
1307        if test x$stabs = xyes
1308        then
1309                tm_file="${tm_file} dbx.h"
1310        fi
1311        tmake_file=i386/t-crtpic
1312        xmake_file=x-svr4
1313        extra_parts="crtbegin.o crtend.o"
1314        if test x$enable_threads = xyes; then
1315                thread_file='posix'
1316        fi
1317        ;;
1318 i[34567]86-*-sysv4*)            # Intel 80386's running system V.4
1319         xm_defines="POSIX SMALL_ARG_MAX"
1320         tm_file="${tm_file} i386/att.h elfos.h svr4.h i386/sysv4.h"
1321         if test x$stabs = xyes
1322         then
1323                 tm_file="${tm_file} dbx.h"
1324         fi
1325         tmake_file=i386/t-crtpic
1326         xmake_file=x-svr4
1327         extra_parts="crtbegin.o crtend.o"
1328         ;;
1329 i[34567]86-*-udk*)      # Intel x86 on SCO UW/OSR5 Dev Kit
1330         xm_defines=POSIX
1331         tm_file="${tm_file} i386/att.h elfos.h svr4.h i386/sysv4.h i386/sysv5.h i386/udk.h"
1332         tmake_file="i386/t-crtpic i386/t-udk"
1333         xmake_file=x-svr4
1334         extra_parts="crtbegin.o crtend.o"
1335         install_headers_dir=install-headers-cpio
1336         ;;
1337 i[34567]86-*-osf1*)             # Intel 80386's running OSF/1 1.3+
1338         xm_file=i386/xm-osf1elf.h
1339         xm_defines='POSIX USE_C_ALLOCA SMALL_ARG_MAX'
1340         if test x$stabs = xyes
1341         then
1342                 tm_file="${tm_file} i386/att.h elfos.h svr4.h i386/sysv4.h i386/osf1elf.h i386/osf1elfgdb.h"
1343         else
1344                 tm_file="${tm_file} i386/att.h elfos.h svr4.h i386/sysv4.h i386/osf1elf.h"
1345         fi
1346         tmake_file=i386/t-osf1elf
1347         extra_parts="crti.o crtn.o crtbegin.o crtend.o"
1348         ;;
1349 i[34567]86-*-sysv*)             # Intel 80386's running system V
1350         xm_defines=POSIX
1351         if test x$gas = xyes
1352         then
1353                 if test x$stabs = xyes
1354                 then
1355                         tm_file=i386/svr3dbx.h
1356                         tmake_file=i386/t-svr3dbx
1357                         extra_parts="svr3.ifile svr3z.rfile"
1358                 else
1359                         tm_file=i386/svr3gas.h
1360                         extra_parts="crtbegin.o crtend.o"
1361                         tmake_file=i386/t-crtstuff
1362                 fi
1363         else
1364                 tm_file=i386/sysv3.h
1365                 extra_parts="crtbegin.o crtend.o"
1366                 tmake_file=i386/t-crtstuff
1367         fi
1368         tmake_file="$tmake_file i386/t-crtpic"
1369         ;;
1370 i386-*-vsta)                    # Intel 80386's running VSTa kernel
1371         xm_file=i386/xm-vsta.h
1372         tm_file=i386/vsta.h
1373         ;;
1374 i[34567]86-*-win32)
1375         xm_defines=POSIX
1376         xm_file=i386/xm-cygwin.h
1377         float_format=i386
1378         tmake_file=i386/t-cygwin
1379         tm_file=i386/win32.h
1380         xmake_file=i386/x-cygwin
1381         extra_objs=winnt.o
1382         if test x$enable_threads = xyes; then
1383                 thread_file='win32'
1384         fi
1385         exeext=.exe
1386         ;;
1387 i[34567]86-*-pe | i[34567]86-*-cygwin*)
1388         xm_defines=POSIX
1389         xm_file=i386/xm-cygwin.h
1390         float_format=i386
1391         tmake_file=i386/t-cygwin
1392         tm_file=i386/cygwin.h
1393         xmake_file=i386/x-cygwin
1394         extra_objs=winnt.o
1395         if test x$enable_threads = xyes; then
1396                 thread_file='win32'
1397         fi
1398         exeext=.exe
1399         ;;
1400 i[34567]86-*-mingw32*)
1401         tm_file=i386/mingw32.h
1402         float_format=i386
1403         xm_defines=POSIX
1404         xm_file=i386/xm-mingw32.h
1405         tmake_file="i386/t-cygwin i386/t-mingw32"
1406         extra_objs=winnt.o
1407         xmake_file=i386/x-cygwin
1408         if test x$enable_threads = xyes; then
1409                 thread_file='win32'
1410         fi
1411         exeext=.exe
1412         case $machine in
1413                 *mingw32crt*)
1414                         tm_file="${tm_file} i386/crtdll.h"
1415                         ;;
1416                 *minwg32msv* | *mingw32*)
1417                         ;;
1418         esac
1419         ;;
1420 i[34567]86-*-uwin*)
1421         tm_file=i386/uwin.h
1422         tmake_file="i386/t-cygwin i386/t-uwin"
1423         extra_objs=winnt.o
1424         xmake_file=i386/x-cygwin
1425         if test x$enable_threads = xyes; then
1426                 thread_file='win32'
1427         fi
1428         exeext=.exe
1429         ;;
1430 i[34567]86-*-interix*)
1431         tm_file="i386/i386-interix.h interix.h"
1432         xm_file="i386/xm-i386-interix.h xm-interix.h"
1433         xm_defines=POSIX
1434         tmake_file="i386/t-interix"
1435         extra_objs=interix.o
1436         xmake_file=x-interix
1437         if test x$enable_threads = xyes ; then
1438                 thread_file='posix'
1439         fi
1440         if test x$stabs = xyes ; then
1441                 tm_file="${tm_file} dbxcoff.h"
1442         fi
1443         ;;
1444 i[34567]86-dg-dgux*)
1445         xm_defines=POSIX
1446         tm_file="${tm_file} i386/att.h elfos.h svr4.h i386/sysv4.h i386/dgux.h"
1447         tmake_file=i386/t-dgux
1448         xmake_file=i386/x-dgux
1449         install_headers_dir=install-headers-cpio
1450       ;;
1451 i860-alliant-*)         # Alliant FX/2800
1452         tm_file="${tm_file} elfos.h svr4.h i860/sysv4.h i860/fx2800.h"
1453         tmake_file=i860/t-fx2800
1454         extra_parts="crtbegin.o crtend.o"
1455         ;;
1456 i860-*-bsd*)
1457         tm_file="${tm_file} i860/bsd.h"
1458         if test x$gas = xyes
1459         then
1460                 tm_file="${tm_file} i860/bsd-gas.h"
1461         fi
1462         use_collect2=yes
1463         ;;
1464 i860-*-mach*)
1465         tm_file="${tm_file} i860/mach.h"
1466         tmake_file=t-libc-ok
1467         ;;
1468 i860-*-osf*)                    # Intel Paragon XP/S, OSF/1AD
1469         tm_file="${tm_file} svr3.h i860/paragon.h"
1470         xm_defines=POSIX
1471         ;;
1472 i860-*-sysv3*)
1473         tm_file="${tm_file} svr3.h i860/sysv3.h"
1474         xm_defines=POSIX
1475         extra_parts="crtbegin.o crtend.o"
1476         ;;
1477 i860-*-sysv4*)
1478         tm_file="${tm_file} elfos.h svr4.h i860/sysv4.h"
1479         xm_defines=POSIX
1480         tmake_file=t-svr4
1481         extra_parts="crtbegin.o crtend.o"
1482         ;;
1483 i960-wrs-vxworks5 | i960-wrs-vxworks5.0*)
1484         tm_file="${tm_file} i960/vx960.h"
1485         tmake_file=i960/t-vxworks960
1486         use_collect2=yes
1487         thread_file='vxworks'
1488         c_target_objs="i960-c.o"
1489         cxx_target_objs="i960-c.o"
1490         ;;
1491 i960-wrs-vxworks5* | i960-wrs-vxworks)
1492         tm_file="${tm_file} dbxcoff.h i960/i960-coff.h i960/vx960-coff.h"
1493         tmake_file=i960/t-vxworks960
1494         use_collect2=yes
1495         thread_file='vxworks'
1496         c_target_objs="i960-c.o"
1497         cxx_target_objs="i960-c.o"
1498         ;;
1499 i960-wrs-vxworks*)
1500         tm_file="${tm_file} i960/vx960.h"
1501         tmake_file=i960/t-vxworks960
1502         use_collect2=yes
1503         thread_file='vxworks'
1504         c_target_objs="i960-c.o"
1505         cxx_target_objs="i960-c.o"
1506         ;;
1507 i960-*-coff*)
1508         tm_file="${tm_file} dbxcoff.h i960/i960-coff.h libgloss.h"
1509         tmake_file=i960/t-960bare
1510         c_target_objs="i960-c.o"
1511         cxx_target_objs="i960-c.o"
1512         ;;
1513 i960-*-rtems)
1514         tmake_file="i960/t-960bare t-rtems"
1515         tm_file="${tm_file} dbxcoff.h i960/rtems.h"
1516         if test x$enable_threads = xyes; then
1517           thread_file='rtems'
1518         fi
1519         c_target_objs="i960-c.o"
1520         cxx_target_objs="i960-c.o"
1521         ;;
1522 i960-*-*)                       # Default i960 environment.
1523         use_collect2=yes
1524         tmake_file=i960/t-960bare
1525         c_target_objs="i960-c.o"
1526         cxx_target_objs="i960-c.o"
1527         ;;
1528 ia64*-*-aix*)
1529         tm_file="${tm_file} elfos.h svr4.h ia64/sysv4.h ia64/aix.h"
1530         tmake_file="ia64/t-ia64 ia64/t-aix"
1531         target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
1532         ;;
1533 ia64*-*-elf*)
1534         tm_file="${tm_file} elfos.h ia64/sysv4.h ia64/elf.h"
1535         tmake_file="ia64/t-ia64"
1536         target_cpu_default="0"
1537         if test x$gas = xyes
1538         then
1539                 target_cpu_default="${target_cpu_default}|MASK_GNU_AS"
1540         fi
1541         if test x$gnu_ld = xyes
1542         then
1543                 target_cpu_default="${target_cpu_default}|MASK_GNU_LD"
1544         fi
1545         float_format=i386
1546         ;;
1547 ia64*-*-freebsd*)
1548         tm_file="${tm_file} ${fbsd_tm_file} elfos.h ia64/sysv4.h ia64/freebsd.h"
1549         target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
1550         tmake_file="${tmake_file} ia64/t-ia64"
1551         float_format=i386
1552         ;;
1553 ia64*-*-linux*)
1554         tm_file="${tm_file} elfos.h svr4.h linux.h ia64/sysv4.h ia64/linux.h"
1555         tmake_file="t-slibgcc-elf-ver t-linux ia64/t-ia64 ia64/t-glibc"
1556         target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
1557         if test x$enable_threads = xyes; then
1558                 thread_file='posix'
1559         fi
1560         float_format=i386
1561         ;;
1562 ia64*-*-hpux*)
1563         tm_file="${tm_file} elfos.h svr4.h ia64/sysv4.h ia64/hpux.h ia64/hpux_longdouble.h"
1564         tmake_file="ia64/t-ia64 ia64/t-hpux"
1565         target_cpu_default="MASK_GNU_AS"
1566         if test x$enable_threads = xyes; then
1567                 thread_file='posix'
1568         fi
1569         float_format=i386
1570         ;;
1571 m32r-*-elf*)
1572         tm_file="elfos.h svr4.h ${tm_file}"
1573         extra_parts="crtinit.o crtfini.o"
1574         ;;
1575 # m68hc11 and m68hc12 share the same machine description.
1576 m68hc11-*-*|m6811-*-*)
1577         tm_file="elfos.h m68hc11/m68hc11.h"
1578         tm_p_file="m68hc11/m68hc11-protos.h"
1579         md_file="m68hc11/m68hc11.md"
1580         out_file="m68hc11/m68hc11.c"
1581         tmake_file="m68hc11/t-m68hc11-gas"
1582         ;;
1583 m68hc12-*-*|m6812-*-*)
1584         tm_file="m68hc11/m68hc12.h elfos.h m68hc11/m68hc11.h"
1585         tm_p_file="m68hc11/m68hc11-protos.h"
1586         md_file="m68hc11/m68hc11.md"
1587         out_file="m68hc11/m68hc11.c"
1588         tmake_file="m68hc11/t-m68hc11-gas"
1589         ;;
1590 m68000-convergent-sysv*)
1591         tm_file=m68k/ctix.h
1592         xm_defines=POSIX
1593         use_collect2=yes
1594         extra_headers=math-68881.h
1595         ;;
1596 m68000-hp-bsd*)                 # HP 9000/200 running BSD
1597         tm_file=m68k/hp2bsd.h
1598         use_collect2=yes
1599         extra_headers=math-68881.h
1600         ;;
1601 m68000-hp-hpux*)                # HP 9000 series 300
1602         xm_defines=POSIX
1603         if test x$gas = xyes
1604         then
1605                 xmake_file=m68k/x-hp320g
1606                 tm_file=m68k/hp310g.h
1607         else
1608                 xmake_file=m68k/x-hp320
1609                 tm_file=m68k/hp310.h
1610         fi
1611         install_headers_dir=install-headers-cpio
1612         use_collect2=yes
1613         extra_headers=math-68881.h
1614         ;;
1615 m68000-sun-sunos3*)
1616         tm_file=m68k/sun2.h
1617         use_collect2=yes
1618         extra_headers=math-68881.h
1619         ;;
1620 m68000-sun-sunos4*)
1621         tm_file=m68k/sun2o4.h
1622         use_collect2=yes
1623         extra_headers=math-68881.h
1624         ;;
1625 m68000-att-sysv*)
1626         xm_defines=POSIX
1627         if test x$gas = xyes
1628         then
1629                 tm_file=m68k/3b1g.h
1630         else
1631                 tm_file=m68k/3b1.h
1632         fi
1633         use_collect2=yes
1634         extra_headers=math-68881.h
1635         ;;
1636 m68k-apple-aux*)                # Apple Macintosh running A/UX
1637         xm_defines=POSIX
1638         tmake_file=m68k/t-aux
1639         install_headers_dir=install-headers-cpio
1640         extra_headers=math-68881.h
1641         extra_parts="crt1.o mcrt1.o maccrt1.o crt2.o crtn.o"
1642         tm_file=
1643         if test "$gnu_ld" = yes
1644         then
1645                 tm_file="${tm_file} m68k/auxgld.h"
1646         else
1647                 tm_file="${tm_file} m68k/auxld.h"
1648         fi
1649         if test "$gas" = yes
1650         then
1651                 tm_file="${tm_file} m68k/auxgas.h"
1652         else
1653                 tm_file="${tm_file} m68k/auxas.h"
1654         fi
1655         tm_file="${tm_file} m68k/a-ux.h"
1656         float_format=m68k
1657         ;;
1658 m68k-apollo-*)
1659         tm_file=m68k/apollo68.h
1660         use_collect2=yes
1661         extra_headers=math-68881.h
1662         float_format=m68k
1663         ;;
1664 m68k-altos-sysv*)                  # Altos 3068
1665         if test x$gas = xyes
1666         then
1667                 tm_file=m68k/altos3068.h
1668                 xm_defines=POSIX
1669         else
1670                 echo "The Altos is supported only with the GNU assembler" 1>&2
1671                 exit 1
1672         fi
1673         extra_headers=math-68881.h
1674         ;;
1675 m68k-bull-sysv*)                # Bull DPX/2
1676         if test x$gas = xyes
1677         then
1678                 if test x$stabs = xyes
1679                 then
1680                         tm_file=m68k/dpx2cdbx.h
1681                 else
1682                         tm_file=m68k/dpx2g.h
1683                 fi
1684         else
1685                 tm_file=m68k/dpx2.h
1686         fi
1687         xm_defines=POSIX
1688         use_collect2=yes
1689         extra_headers=math-68881.h
1690         ;;
1691 m68k-atari-sysv4*)              # Atari variant of V.4.
1692         tm_file=m68k/atari.h
1693         xm_defines=POSIX
1694         tmake_file=t-svr4
1695         extra_parts="crtbegin.o crtend.o"
1696         extra_headers=math-68881.h
1697         float_format=m68k
1698         ;;
1699 m68k-motorola-sysv*)
1700         tm_file=m68k/mot3300.h
1701         xm_defines=POSIX
1702         if test x$gas = xyes
1703         then
1704                 if test x$gnu_ld = xyes
1705                 then
1706                         tmake_file=m68k/t-mot3300-gald
1707                 else
1708                         tmake_file=m68k/t-mot3300-gas
1709                         use_collect2=yes
1710                 fi
1711         else
1712                 if test x$gnu_ld = xyes
1713                 then
1714                         tmake_file=m68k/t-mot3300-gld
1715                 else
1716                         tmake_file=m68k/t-mot3300
1717                         use_collect2=yes
1718                 fi
1719         fi
1720         gdb_needs_out_file_path=yes
1721         extra_parts="crt0.o mcrt0.o"
1722         extra_headers=math-68881.h
1723         float_format=m68k
1724         ;;
1725 m68k-ncr-sysv*)                 # NCR Tower 32 SVR3
1726         tm_file=m68k/tower-as.h
1727         xm_defines=POSIX
1728         extra_parts="crtbegin.o crtend.o"
1729         extra_headers=math-68881.h
1730         ;;
1731 m68k-plexus-sysv*)
1732         tm_file=m68k/plexus.h
1733         xm_defines=POSIX
1734         use_collect2=yes
1735         extra_headers=math-68881.h
1736         ;;
1737 m68k-tti-*)
1738         tm_file=m68k/pbb.h
1739         xm_defines=POSIX
1740         extra_headers=math-68881.h
1741         ;;
1742 m68k-crds-unos*)
1743         xm_defines=POSIX
1744         tm_file=m68k/crds.h
1745         use_collect2=yes
1746         extra_headers=math-68881.h
1747         ;;
1748 m68k-cbm-sysv4*)                # Commodore variant of V.4.
1749         tm_file=m68k/amix.h
1750         xm_defines=POSIX
1751         tmake_file=t-svr4
1752         extra_parts="crtbegin.o crtend.o"
1753         extra_headers=math-68881.h
1754         float_format=m68k
1755         ;;
1756 m68k-ccur-rtu)
1757         tm_file=m68k/ccur-GAS.h
1758         extra_headers=math-68881.h
1759         use_collect2=yes
1760         float_format=m68k
1761         ;;
1762 m68k-hp-bsd4.4*)                # HP 9000/3xx running 4.4bsd
1763         tm_file=m68k/hp3bsd44.h
1764         use_collect2=yes
1765         extra_headers=math-68881.h
1766         float_format=m68k
1767         ;;
1768 m68k-hp-bsd*)                   # HP 9000/3xx running Berkeley Unix
1769         tm_file=m68k/hp3bsd.h
1770         use_collect2=yes
1771         extra_headers=math-68881.h
1772         float_format=m68k
1773         ;;
1774 m68k-isi-bsd*)
1775         if test x$with_fp = xno
1776         then
1777                 tm_file=m68k/isi-nfp.h
1778         else
1779                 tm_file=m68k/isi.h
1780                 float_format=m68k
1781         fi
1782         use_collect2=yes
1783         extra_headers=math-68881.h
1784         ;;
1785 m68k-hp-hpux7*) # HP 9000 series 300 running HPUX version 7.
1786         xm_defines=POSIX
1787         if test x$gas = xyes
1788         then
1789                 xmake_file=m68k/x-hp320g
1790                 tm_file=m68k/hp320g.h
1791         else
1792                 xmake_file=m68k/x-hp320
1793                 tm_file=m68k/hpux7.h
1794         fi
1795         install_headers_dir=install-headers-cpio
1796         use_collect2=yes
1797         extra_headers=math-68881.h
1798         float_format=m68k
1799         ;;
1800 m68k-hp-hpux*)  # HP 9000 series 300
1801         xm_defines=POSIX
1802         if test x$gas = xyes
1803         then
1804                 xmake_file=m68k/x-hp320g
1805                 tm_file=m68k/hp320g.h
1806         else
1807                 xmake_file=m68k/x-hp320
1808                 tm_file=m68k/hp320.h
1809         fi
1810         install_headers_dir=install-headers-cpio
1811         use_collect2=yes
1812         extra_headers=math-68881.h
1813         float_format=m68k
1814         ;;
1815 m68k-sun-mach*)
1816         tm_file=m68k/sun3mach.h
1817         use_collect2=yes
1818         extra_headers=math-68881.h
1819         float_format=m68k
1820         ;;
1821 m68k-sony-newsos3*)
1822         if test x$gas = xyes
1823         then
1824                 tm_file=m68k/news3gas.h
1825         else
1826                 tm_file=m68k/news3.h
1827         fi
1828         use_collect2=yes
1829         extra_headers=math-68881.h
1830         float_format=m68k
1831         ;;
1832 m68k-sony-bsd* | m68k-sony-newsos*)
1833         if test x$gas = xyes
1834         then
1835                 tm_file=m68k/newsgas.h
1836         else
1837                 tm_file=m68k/news.h
1838         fi
1839         use_collect2=yes
1840         extra_headers=math-68881.h
1841         float_format=m68k
1842         ;;
1843 m68k-next-nextstep2*)
1844         tm_file=m68k/next21.h
1845         tmake_file=m68k/t-next
1846         xmake_file=m68k/x-next
1847         extra_objs=nextstep.o
1848         extra_headers=math-68881.h
1849         use_collect2=yes
1850         float_format=m68k
1851         ;;
1852 m68k-next-nextstep[34]*)
1853         tm_file=m68k/next.h
1854         tmake_file=m68k/t-next
1855         xmake_file=m68k/x-next
1856         extra_objs=nextstep.o
1857         extra_parts="crtbegin.o crtend.o"
1858         extra_headers=math-68881.h
1859         float_format=m68k
1860         if test x$enable_threads = xyes; then
1861                 thread_file='mach'
1862         fi
1863         ;;
1864 m68k-sun-sunos3*)
1865         if test x$with_fp = xno
1866         then
1867                 tm_file=m68k/sun3n3.h
1868         else
1869                 tm_file=m68k/sun3o3.h
1870                 float_format=m68k
1871         fi
1872         use_collect2=yes
1873         extra_headers=math-68881.h
1874         ;;
1875 m68k-sun-sunos*)                        # For SunOS 4 (the default).
1876         if test x$with_fp = xno
1877         then
1878                 tm_file=m68k/sun3n.h
1879         else
1880                 tm_file=m68k/sun3.h
1881                 float_format=m68k
1882         fi
1883         use_collect2=yes
1884         extra_headers=math-68881.h
1885         ;;
1886 m68k-wrs-vxworks*)
1887         tm_file=m68k/vxm68k.h
1888         tmake_file=m68k/t-vxworks68
1889         extra_headers=math-68881.h
1890         thread_file='vxworks'
1891         float_format=m68k
1892         ;;
1893 m68k-*-aout*)
1894         tmake_file=m68k/t-m68kbare
1895         tm_file="m68k/m68k-aout.h libgloss.h"
1896         extra_headers=math-68881.h
1897         float_format=m68k
1898         ;;
1899 m68k-*-coff*)
1900         tmake_file=m68k/t-m68kbare
1901         tm_file="m68k/m68k-coff.h dbx.h"
1902         extra_headers=math-68881.h
1903         float_format=m68k
1904         ;;
1905 m68020-*-elf* | m68k-*-elf*)
1906         tm_file="m68k/m68020-elf.h"
1907         xm_defines=POSIX
1908         tmake_file=m68k/t-m68kelf
1909         header_files=math-68881.h
1910         extra_parts="crtbegin.o crtend.o"
1911         ;;
1912 m68k-*-lynxos*)
1913         if test x$gas = xyes
1914         then
1915                 tm_file=m68k/lynx.h
1916         else
1917                 tm_file=m68k/lynx-ng.h
1918         fi
1919         tmake_file=m68k/t-lynx
1920         extra_headers=math-68881.h
1921         float_format=m68k
1922         ;;
1923 m68k*-*-netbsd*)
1924         tm_file=m68k/netbsd.h
1925         tmake_file=t-netbsd
1926         float_format=m68k
1927         use_collect2=yes
1928         ;;
1929 m68k*-*-openbsd*)
1930         # needed to unconfuse gdb
1931         tmake_file="t-libc-ok t-openbsd m68k/t-openbsd"
1932         float_format=m68k
1933         # we need collect2 until our bug is fixed...
1934         use_collect2=yes
1935         ;;
1936 m68k-*-sysv3*)                  # Motorola m68k's running system V.3
1937         xm_defines=POSIX
1938         extra_parts="crtbegin.o crtend.o"
1939         extra_headers=math-68881.h
1940         float_format=m68k
1941         ;;
1942 m68k-*-sysv4*)                  # Motorola m68k's running system V.4
1943         tm_file=m68k/m68kv4.h
1944         xm_defines=POSIX
1945         tmake_file=t-svr4
1946         extra_parts="crtbegin.o crtend.o"
1947         extra_headers=math-68881.h
1948         float_format=m68k
1949         ;;
1950 m68k-*-linux*aout*)             # Motorola m68k's running GNU/Linux
1951                                 # with a.out format
1952         xmake_file=x-linux
1953         tm_file=m68k/linux-aout.h
1954         tmake_file="t-linux-aout m68k/t-linux-aout"
1955         extra_headers=math-68881.h
1956         float_format=m68k
1957         gnu_ld=yes
1958         ;;
1959 m68k-*-linux*libc1)             # Motorola m68k's running GNU/Linux
1960                                 # with ELF format using the
1961                                 # GNU/Linux C library 5
1962         xmake_file=x-linux
1963         tm_file=m68k/linux.h
1964         tmake_file="t-slibgcc-elf-ver t-linux t-linux-gnulibc1 m68k/t-linux"
1965         extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
1966         extra_headers=math-68881.h
1967         float_format=m68k
1968         gnu_ld=yes
1969         ;;
1970 m68k-*-linux*)          # Motorola m68k's running GNU/Linux
1971                                 # with ELF format using glibc 2
1972                                 # aka the GNU/Linux C library 6.
1973         xmake_file=x-linux
1974         tm_file=m68k/linux.h
1975         tmake_file="t-slibgcc-elf-ver t-linux m68k/t-linux"
1976         extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
1977         extra_headers=math-68881.h
1978         float_format=m68k
1979         gnu_ld=yes
1980         if test x$enable_threads = xyes; then
1981                 thread_file='posix'
1982         fi
1983         ;;
1984 m68k-*-psos*)
1985         tmake_file=m68k/t-m68kbare
1986         tm_file=m68k/m68k-psos.h
1987         extra_headers=math-68881.h
1988         float_format=m68k
1989         ;;
1990 m68k-*-rtemscoff*)
1991         tmake_file="m68k/t-m68kbare t-rtems"
1992         tm_file=m68k/rtems.h
1993         extra_headers=math-68881.h
1994         float_format=m68k
1995         if test x$enable_threads = xyes; then
1996           thread_file='rtems'
1997         fi
1998         ;;
1999 m68k-*-rtemself*|m68k-*-rtems*)
2000         tmake_file="m68k/t-m68kbare t-rtems m68k/t-crtstuff"
2001         tm_file=m68k/rtemself.h
2002         extra_headers=math-68881.h
2003         float_format=m68k
2004         extra_parts="crtbegin.o crtend.o"
2005         if test x$enable_threads = xyes; then
2006           thread_file='rtems'
2007         fi
2008         ;;
2009 m88k-dg-dgux*)
2010         xm_defines=POSIX
2011         case $machine in
2012           m88k-dg-dguxbcs*)
2013             tm_file="elfos.h svr4.h m88k/dgux.h m88k/dguxbcs.h"
2014             tmake_file=m88k/t-dguxbcs
2015             ;;
2016           *)
2017             tm_file="elfos.h svr4.h m88k/dgux.h"
2018             tmake_file=m88k/t-dgux
2019             ;;
2020         esac
2021         extra_parts="crtbegin.o bcscrtbegin.o crtend.o m88kdgux.ld"
2022         xmake_file=m88k/x-dgux
2023         if test x$gas = xyes
2024         then
2025                 tmake_file=m88k/t-dgux-gas
2026         fi
2027         ;;
2028 m88k-dolphin-sysv3*)
2029         xm_defines=POSIX
2030         tm_file=m88k/dolph.h
2031         extra_parts="crtbegin.o crtend.o"
2032         xmake_file=m88k/x-dolph
2033         if test x$gas = xyes
2034         then
2035                 tmake_file=m88k/t-m88k-gas
2036         fi
2037         ;;
2038 m88k-tektronix-sysv3)
2039         xm_defines=POSIX
2040         tm_file=m88k/tekXD88.h
2041         extra_parts="crtbegin.o crtend.o"
2042         xmake_file=m88k/x-tekXD88
2043         if test x$gas = xyes
2044         then
2045                 tmake_file=m88k/t-m88k-gas
2046         fi
2047         ;;
2048 m88k-*-aout*)
2049         xm_defines=POSIX
2050         tm_file=m88k/m88k-aout.h
2051         ;;
2052 m88k-*-coff*)
2053         xm_defines=POSIX
2054         tm_file=m88k/m88k-coff.h
2055         tmake_file=m88k/t-bug
2056         ;;
2057 m88k-*-luna*)
2058         tm_file=m88k/luna.h
2059         extra_parts="crtbegin.o crtend.o"
2060         if test x$gas = xyes
2061         then
2062                 tmake_file=m88k/t-luna-gas
2063         else
2064                 tmake_file=m88k/t-luna
2065         fi
2066         ;;
2067 m88k-*-openbsd*)
2068         tmake_file="${tmake_file} m88k/t-luna-gas"
2069         tm_file="m88k/aout-dbx.h aoutos.h m88k/m88k.h openbsd.h ${tm_file}"
2070         ;;
2071 m88k-*-sysv3*)
2072         xm_defines=POSIX
2073         tm_file=m88k/sysv3.h
2074         extra_parts="crtbegin.o crtend.o"
2075         if test x$gas = xyes
2076         then
2077                 tmake_file=m88k/t-m88k-gas
2078         fi
2079         ;;
2080 m88k-*-sysv4*)
2081         xm_defines=POSIX
2082         tm_file="elfos.h svr4.h m88k/sysv4.h"
2083         extra_parts="crtbegin.o crtend.o"
2084         tmake_file=m88k/t-sysv4
2085         ;;
2086 mcore-*-elf)
2087         tm_file="elfos.h svr4.h ${tm_file} mcore/mcore-elf.h"
2088         tmake_file=mcore/t-mcore
2089         ;;
2090 mcore-*-pe*)
2091         tm_file=mcore/mcore-pe.h
2092         tmake_file=mcore/t-mcore-pe
2093         ;;
2094 mips-sgi-irix6*)                # SGI System V.4., IRIX 6
2095         if test "x$gnu_ld" = xyes
2096         then
2097                 tm_file="mips/iris6.h mips/iris6gld.h"
2098         else
2099                 tm_file=mips/iris6.h
2100         fi
2101         tmake_file=mips/t-iris6
2102         xm_defines=POSIX
2103         xmake_file=mips/x-iris6
2104 #       if test x$enable_threads = xyes; then
2105 #               thread_file='irix'
2106 #       fi
2107         ;;
2108 mips-wrs-vxworks)
2109         tm_file="mips/elf.h mips/vxworks.h"
2110         tmake_file=mips/t-ecoff
2111         gas=yes
2112         gnu_ld=yes
2113         extra_parts="crtbegin.o crtend.o"
2114         thread_file='vxworks'
2115         ;;
2116 mips-sgi-irix5cross64)          # Irix5 host, Irix 6 target, cross64
2117         tm_file="mips/iris6.h mips/cross64.h"
2118         xm_defines=POSIX
2119         xm_file=mips/xm-iris5.h
2120         xmake_file=mips/x-iris
2121         tmake_file=mips/t-cross64
2122         # See comment in mips/iris[56].h files.
2123         use_collect2=yes
2124 #       if test x$enable_threads = xyes; then
2125 #               thread_file='irix'
2126 #       fi
2127         ;;
2128 mips-sni-sysv4)
2129         if test x$gas = xyes
2130         then
2131                 if test x$stabs = xyes
2132                 then
2133                         tm_file=mips/iris5gdb.h
2134                 else
2135                         tm_file="mips/sni-svr4.h mips/sni-gas.h"
2136                 fi
2137         else
2138                 tm_file=mips/sni-svr4.h
2139         fi
2140         xm_defines=POSIX
2141         if test x$gnu_ld != xyes
2142         then
2143                 use_collect2=yes
2144         fi
2145         ;;
2146 mips-sgi-irix5*)                # SGI System V.4., IRIX 5
2147         if test x$gas = xyes
2148         then
2149                 tm_file="mips/iris5.h mips/iris5gas.h"
2150                 if test x$stabs = xyes
2151                 then
2152                         tm_file="${tm_file} dbx.h"
2153                 fi
2154         else
2155                 tm_file=mips/iris5.h
2156         fi
2157         xm_defines=POSIX
2158         xm_file=mips/xm-iris5.h
2159         xmake_file=mips/x-iris
2160         # mips-tfile doesn't work yet
2161         # See comment in mips/iris5.h file.
2162         use_collect2=yes
2163 #       if test x$enable_threads = xyes; then
2164 #               thread_file='irix'
2165 #       fi
2166         ;;
2167 mips-sgi-irix4loser*)           # Mostly like a MIPS.
2168         tm_file="mips/iris4loser.h mips/iris3.h ${tm_file} mips/iris4.h"
2169         if test x$stabs = xyes; then
2170                 tm_file="${tm_file} dbx.h"
2171         fi
2172         xm_defines=POSIX
2173         xmake_file=mips/x-iris
2174         if test x$gas = xyes
2175         then    :
2176         else
2177                 extra_passes="mips-tfile mips-tdump"
2178         fi
2179         if test x$gnu_ld != xyes
2180         then
2181                 use_collect2=yes
2182         fi
2183 #       if test x$enable_threads = xyes; then
2184 #               thread_file='irix'
2185 #       fi
2186         ;;
2187 mips-sgi-irix4*)                # Mostly like a MIPS.
2188         tm_file="mips/iris3.h ${tm_file} mips/iris4.h"
2189         if test x$stabs = xyes; then
2190                 tm_file="${tm_file} dbx.h"
2191         fi
2192         xm_defines=POSIX
2193         xmake_file=mips/x-iris
2194         if test x$gas = xyes
2195         then    :
2196         else
2197                 extra_passes="mips-tfile mips-tdump"
2198         fi
2199         if test x$gnu_ld != xyes
2200         then
2201                 use_collect2=yes
2202         fi
2203 #       if test x$enable_threads = xyes; then
2204 #               thread_file='irix'
2205 #       fi
2206         ;;
2207 mips-sgi-*)                     # Mostly like a MIPS.
2208         tm_file="mips/iris3.h ${tm_file}"
2209         if test x$stabs = xyes; then
2210                 tm_file="${tm_file} dbx.h"
2211         fi
2212         xm_defines=POSIX
2213         if test x$gas = xyes
2214         then    :
2215         else
2216                 extra_passes="mips-tfile mips-tdump"
2217         fi
2218         if test x$gnu_ld != xyes
2219         then
2220                 use_collect2=yes
2221         fi
2222         ;;
2223 mips-dec-osfrose*)              # Decstation running OSF/1 reference port with OSF/rose.
2224         tm_file="mips/osfrose.h ${tm_file}"
2225         extra_objs=halfpic.o
2226         use_collect2=yes
2227         ;;
2228 mips-dec-osf*)                  # Decstation running OSF/1 as shipped by DIGITAL
2229         tm_file=mips/dec-osf1.h
2230         if test x$stabs = xyes; then
2231                 tm_file="${tm_file} dbx.h"
2232         fi
2233         if test x$gas = xyes
2234         then    :
2235         else
2236                 tmake_file=mips/t-ultrix
2237                 extra_passes="mips-tfile mips-tdump"
2238         fi
2239         if test x$gnu_ld != xyes
2240         then
2241                 use_collect2=yes
2242         fi
2243         ;;
2244 mips-dec-bsd*)                  # Decstation running 4.4 BSD
2245       tm_file=mips/dec-bsd.h
2246       if test x$gas = xyes
2247       then      :
2248       else
2249                 tmake_file=mips/t-ultrix
2250                 extra_passes="mips-tfile mips-tdump"
2251       fi
2252       if test x$gnu_ld != xyes
2253       then
2254                 use_collect2=yes
2255       fi
2256       ;;
2257 mipsel-*-netbsd* | mips-dec-netbsd*)    # Decstation running NetBSD
2258         tm_file=mips/netbsd.h
2259         # On NetBSD, the headers are already okay, except for math.h.
2260         tmake_file=t-netbsd
2261         ;;
2262 mips*-*-linux*)                         # Linux MIPS, either endian.
2263         xmake_file=x-linux
2264         tm_file="elfos.h svr4.h linux.h mips/linux.h"
2265         case $machine in
2266         mipsisa32*-*)
2267                 tm_file="$tm_file mips/isa32-linux.h"
2268                 target_cpu_default="MASK_SOFT_FLOAT"
2269                 ;;
2270         esac
2271         case $machine in
2272         mips*el-*)
2273                 tm_file="mips/little.h $tm_file"
2274                 ;;
2275         esac
2276         tmake_file="t-slibgcc-elf-ver t-linux"
2277         extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
2278         gnu_ld=yes
2279         gas=yes
2280         if test x$enable_threads = xyes; then
2281                 thread_file='posix'
2282         fi
2283         ;;
2284 mips*el-*-openbsd*)     # mips little endian
2285         target_cpu_default="MASK_GAS|MASK_ABICALLS"
2286         ;;
2287 mips*-*-openbsd*)               # mips big endian
2288         target_cpu_default="MASK_GAS|MASK_ABICALLS"
2289         tm_file="mips/openbsd-be.h ${tm_file}"
2290         ;;
2291 mips-sony-bsd* | mips-sony-newsos*)     # Sony NEWS 3600 or risc/news.
2292         tm_file="mips/news4.h ${tm_file}"
2293         if test x$stabs = xyes; then
2294                 tm_file="${tm_file} dbx.h"
2295         fi
2296         if test x$gas = xyes
2297         then    :
2298         else
2299                 extra_passes="mips-tfile mips-tdump"
2300         fi
2301         if test x$gnu_ld != xyes
2302         then
2303                 use_collect2=yes
2304         fi
2305         ;;
2306 mips-sony-sysv*)                # Sony NEWS 3800 with NEWSOS5.0.
2307                                 # That is based on svr4.
2308         # t-svr4 is not right because this system doesn't use ELF.
2309         tm_file="mips/news5.h ${tm_file}"
2310         if test x$stabs = xyes; then
2311                 tm_file="${tm_file} dbx.h"
2312         fi
2313         xm_defines=POSIX
2314         if test x$gas = xyes
2315         then    :
2316         else
2317                 extra_passes="mips-tfile mips-tdump"
2318         fi
2319         if test x$gnu_ld != xyes
2320         then
2321                 use_collect2=yes
2322         fi
2323         ;;
2324 mips-tandem-sysv4*)             # Tandem S2 running NonStop UX
2325         tm_file="mips/svr4-5.h mips/svr4-t.h"
2326         if test x$stabs = xyes; then
2327                 tm_file="${tm_file} dbx.h"
2328         fi
2329         xm_defines=POSIX
2330         if test x$gas = xyes
2331         then
2332                 extra_parts="crtbegin.o crtend.o"
2333         else
2334                 extra_passes="mips-tfile mips-tdump"
2335         fi
2336         if test x$gnu_ld != xyes
2337         then
2338                 use_collect2=yes
2339         fi
2340         ;;
2341 mips-*-ultrix* | mips-dec-mach3)        # Decstation.
2342         tm_file="mips/ultrix.h ${tm_file}"
2343         if test x$stabs = xyes; then
2344                 tm_file="${tm_file} dbx.h"
2345         fi
2346         if test x$gas = xyes
2347         then    :
2348         else
2349                 tmake_file=mips/t-ultrix
2350                 extra_passes="mips-tfile mips-tdump"
2351         fi
2352         if test x$gnu_ld != xyes
2353         then
2354                 use_collect2=yes
2355         fi
2356         ;;
2357 mips-*-riscos[56789]bsd*)
2358         tm_file=mips/bsd-5.h    # MIPS BSD 4.3, RISC-OS 5.0
2359         if test x$stabs = xyes; then
2360                 tm_file="${tm_file} dbx.h"
2361         fi
2362         if test x$gas = xyes
2363         then
2364                 tmake_file=mips/t-bsd-gas
2365         else
2366                 tmake_file=mips/t-bsd
2367                 extra_passes="mips-tfile mips-tdump"
2368         fi
2369         if test x$gnu_ld != xyes
2370         then
2371                 use_collect2=yes
2372         fi
2373         ;;
2374 mips-*-bsd* | mips-*-riscosbsd* | mips-*-riscos[1234]bsd*)
2375         tm_file="mips/bsd-4.h ${tm_file}" # MIPS BSD 4.3, RISC-OS 4.0
2376         if test x$stabs = xyes; then
2377                 tm_file="${tm_file} dbx.h"
2378         fi
2379         if test x$gas = xyes
2380         then
2381                 tmake_file=mips/t-bsd-gas
2382         else
2383                 tmake_file=mips/t-bsd
2384                 extra_passes="mips-tfile mips-tdump"
2385         fi
2386         if test x$gnu_ld != xyes
2387         then
2388                 use_collect2=yes
2389         fi
2390         ;;
2391 mips-*-riscos[56789]sysv4*)
2392         tm_file=mips/svr4-5.h   # MIPS System V.4., RISC-OS 5.0
2393         if test x$stabs = xyes; then
2394                 tm_file="${tm_file} dbx.h"
2395         fi
2396         if test x$gas = xyes
2397         then
2398                 tmake_file=mips/t-svr4-gas
2399         else
2400                 tmake_file=mips/t-svr4
2401                 extra_passes="mips-tfile mips-tdump"
2402         fi
2403         if test x$gnu_ld != xyes
2404         then
2405                 use_collect2=yes
2406         fi
2407         ;;
2408 mips-*-sysv4* | mips-*-riscos[1234]sysv4* | mips-*-riscossysv4*)
2409         tm_file="mips/svr4-4.h ${tm_file}"
2410         if test x$stabs = xyes; then
2411                 tm_file="${tm_file} dbx.h"
2412         fi
2413         xm_defines=POSIX
2414         if test x$gas = xyes
2415         then
2416                 tmake_file=mips/t-svr4-gas
2417         else
2418                 tmake_file=mips/t-svr4
2419                 extra_passes="mips-tfile mips-tdump"
2420         fi
2421         if test x$gnu_ld != xyes
2422         then
2423                 use_collect2=yes
2424         fi
2425         ;;
2426 mips-*-riscos[56789]sysv*)
2427         tm_file=mips/svr3-5.h   # MIPS System V.3, RISC-OS 5.0
2428         if test x$stabs = xyes; then
2429                 tm_file="${tm_file} dbx.h"
2430         fi
2431         xm_defines=POSIX
2432         if test x$gas = xyes
2433         then
2434                 tmake_file=mips/t-svr3-gas
2435         else
2436                 tmake_file=mips/t-svr3
2437                 extra_passes="mips-tfile mips-tdump"
2438         fi
2439         if test x$gnu_ld != xyes
2440         then
2441                 use_collect2=yes
2442         fi
2443         ;;
2444 mips-*-sysv* | mips-*-riscos*sysv*)
2445         tm_file="mips/svr3-4.h ${tm_file}"
2446         if test x$stabs = xyes; then
2447                 tm_file="${tm_file} dbx.h"
2448         fi
2449         xm_defines=POSIX
2450         if test x$gas = xyes
2451         then
2452                 tmake_file=mips/t-svr3-gas
2453         else
2454                 tmake_file=mips/t-svr3
2455                 extra_passes="mips-tfile mips-tdump"
2456         fi
2457         if test x$gnu_ld != xyes
2458         then
2459                 use_collect2=yes
2460         fi
2461         ;;
2462 mips-*-riscos[56789]*)          # Default MIPS RISC-OS 5.0.
2463         tm_file=mips/mips-5.h
2464         if test x$stabs = xyes; then
2465                 tm_file="${tm_file} dbx.h"
2466         fi
2467         if test x$gas = xyes
2468         then    :
2469         else
2470                 extra_passes="mips-tfile mips-tdump"
2471         fi
2472         if test x$gnu_ld != xyes
2473         then
2474                 use_collect2=yes
2475         fi
2476         ;;
2477 mipsel-*-ecoff*)
2478         tm_file=mips/ecoffl.h
2479         if test x$stabs = xyes; then
2480                 tm_file="${tm_file} dbx.h"
2481         fi
2482         tmake_file=mips/t-ecoff
2483         ;;
2484 mips-*-ecoff*)
2485         tm_file="gofast.h mips/ecoff.h"
2486         if test x$stabs = xyes; then
2487                 tm_file="${tm_file} dbx.h"
2488         fi
2489         tmake_file=mips/t-ecoff
2490         ;;
2491 mipsisa32-*-elf*)
2492         tm_file="mips/isa3264.h mips/abi64.h"
2493         tmake_file=mips/t-isa3264
2494         target_cpu_default="MASK_SOFT_FLOAT"
2495         ;;
2496 mipsel-*-elf*)
2497         tm_file="mips/elfl.h"
2498         tmake_file=mips/t-elf
2499         ;;
2500 mips-*-elf*)
2501         tm_file="mips/elf.h"
2502         tmake_file=mips/t-elf
2503         ;;
2504 mips64el-*-elf*)
2505         tm_file="mips/elfl64.h"
2506         tmake_file=mips/t-elf
2507         ;;
2508 mips64orionel-*-elf*)
2509         tm_file="mips/elforion.h mips/elfl64.h"
2510         tmake_file=mips/t-elf
2511         ;;
2512 mips64-*-elf*)
2513         tm_file="mips/elf64.h"
2514         tmake_file=mips/t-elf
2515         ;;
2516 mips64orion-*-elf*)
2517         tm_file="mips/elforion.h mips/elf64.h"
2518         tmake_file=mips/t-elf
2519         ;;
2520 mips64orion-*-rtems*)
2521         tm_file="mips/elforion.h mips/elf64.h mips/rtems64.h"
2522         tmake_file="mips/t-elf t-rtems"
2523         if test x$enable_threads = xyes; then
2524           thread_file='rtems'
2525         fi
2526         ;;
2527 mips*-*-rtems*)
2528         tm_file="mips/elf.h mips/rtems.h"
2529         tmake_file="mips/t-elf t-rtems"
2530         if test x$enable_threads = xyes; then
2531           thread_file='rtems'
2532         fi
2533         ;;
2534 mipstx39el-*-elf*)
2535         tm_file="mips/r3900.h mips/elfl.h mips/abi64.h"
2536         tmake_file=mips/t-r3900
2537         target_cpu_default="MASK_SOFT_FLOAT"
2538         ;;
2539 mipstx39-*-elf*)
2540         tm_file="mips/r3900.h mips/elf.h mips/abi64.h"
2541         tmake_file=mips/t-r3900
2542         ;;
2543 mips-*-*)                               # Default MIPS RISC-OS 4.0.
2544         if test x$stabs = xyes; then
2545                 tm_file="${tm_file} dbx.h"
2546         fi
2547         if test x$gas = xyes
2548         then    :
2549         else
2550                 extra_passes="mips-tfile mips-tdump"
2551         fi
2552         if test x$gnu_ld != xyes
2553         then
2554                 use_collect2=yes
2555         fi
2556         ;;
2557 mmix-knuth-mmixware)
2558         ;;
2559 mn10200-*-*)
2560         float_format=i32
2561         tm_file="elfos.h svr4.h ${tm_file}"
2562         if test x$stabs = xyes
2563         then
2564                 tm_file="${tm_file} dbx.h"
2565         fi
2566         use_collect2=no
2567         ;;
2568 mn10300-*-*)
2569         tm_file="elfos.h svr4.h ${tm_file}"
2570         if test x$stabs = xyes
2571         then
2572                 tm_file="${tm_file} dbx.h"
2573         fi
2574         use_collect2=no
2575         ;;
2576 ns32k-encore-bsd*)
2577         tm_file=ns32k/encore.h
2578         use_collect2=yes
2579         ;;
2580 ns32k-sequent-bsd*)
2581         tm_file=ns32k/sequent.h
2582         use_collect2=yes
2583         ;;
2584 ns32k-tek6100-bsd*)
2585         tm_file=ns32k/tek6100.h
2586         use_collect2=yes
2587         ;;
2588 ns32k-tek6200-bsd*)
2589         tm_file=ns32k/tek6200.h
2590         use_collect2=yes
2591         ;;
2592 ns32k-merlin-*)
2593         tm_file=ns32k/merlin.h
2594         use_collect2=yes
2595         ;;
2596 ns32k-pc532-mach*)
2597         tm_file=ns32k/pc532-mach.h
2598         use_collect2=yes
2599         ;;
2600 ns32k-pc532-minix*)
2601         tm_file=ns32k/pc532-min.h
2602         xm_defines='POSIX HZ=60'
2603         use_collect2=yes
2604         ;;
2605 ns32k-*-netbsd*)
2606         tm_file=ns32k/netbsd.h
2607         # On NetBSD, the headers are already okay, except for math.h.
2608         tmake_file=t-netbsd
2609         use_collect2=yes
2610         ;;
2611 pdp11-*-bsd)
2612         tm_file="${tm_file} pdp11/2bsd.h"
2613         ;;
2614 pdp11-*-*)
2615         ;;
2616 avr-*-*)
2617         ;;
2618 ns32k-*-openbsd*)
2619         # Nothing special
2620         ;;
2621 pj*-linux*)
2622         tm_file="elfos.h svr4.h pj/linux.h ${tm_file}"
2623         ;;
2624 pj-*)
2625         ;;
2626 pjl-*)
2627         tm_file="elfos.h svr4.h pj/pjl.h ${tm_file}"
2628         ;;
2629
2630 romp-*-aos*)
2631         use_collect2=yes
2632         ;;
2633 romp-*-mach*)
2634         use_collect2=yes
2635         ;;
2636 romp-*-openbsd*)
2637         # Nothing special
2638         ;;
2639 powerpc-*-openbsd*)
2640         tmake_file="${tmake_file} rs6000/t-rs6000 rs6000/t-openbsd"
2641         ;;
2642 powerpc64-*-linux*)
2643         tm_file="${tm_file} elfos.h svr4.h rs6000/sysv4.h rs6000/linux64.h"
2644         out_file=rs6000/rs6000.c
2645         tmake_file="rs6000/t-ppcos t-slibgcc-elf-ver t-linux rs6000/t-ppccomm"
2646         xmake_file=x-linux
2647         extra_headers=ppc-asm.h
2648         ;;
2649 powerpc-*-beos*)
2650         tm_file="${tm_file} rs6000/aix.h rs6000/beos.h rs6000/xcoff.h"
2651         xm_defines=POSIX
2652         xm_file=rs6000/xm-beos.h
2653         tmake_file=rs6000/t-beos
2654         ;;
2655 powerpc-*-darwin*)
2656         tm_file="${tm_file} darwin.h rs6000/darwin.h"
2657         tm_p_file="${tm_p_file} darwin-protos.h"
2658         tmake_file=rs6000/t-darwin
2659         xmake_file=rs6000/x-darwin
2660         # Override the usual setting, since Apple's GCC has lame bugs
2661         # and can't handle the initializers.  Someday the bugs will be
2662         # fixed and we can get rid of this silliness.
2663         xm_defines="HAVE_DESIGNATED_INITIALIZERS=0"
2664         extra_objs="darwin.o"
2665         c_target_objs="darwin-c.o"
2666         cxx_target_objs="darwin-c.o"
2667         # Darwin linker does collect2 functionality
2668         use_collect2=no
2669         ;;
2670 powerpc-*-sysv*)
2671         tm_file="${tm_file} elfos.h svr4.h rs6000/sysv4.h"
2672         xm_defines=POSIX
2673         extra_headers=ppc-asm.h
2674         tmake_file="rs6000/t-ppcos rs6000/t-ppccomm"
2675         ;;
2676 powerpc-*-netbsd*)
2677         xm_defines=POSIX
2678         tm_file="${tm_file} elfos.h svr4.h rs6000/sysv4.h rs6000/netbsd.h"
2679         tmake_file="rs6000/t-ppcos rs6000/t-ppccomm"
2680         extra_headers=ppc-asm.h
2681         ;;
2682 powerpc-*-chorusos*)
2683         xm_defines=POSIX
2684         tm_file="${tm_file} elfos.h svr4.h rs6000/sysv4.h chorus.h"
2685         tmake_file="rs6000/t-ppcos rs6000/t-ppccomm"
2686         extra_headers=ppc-asm.h
2687         case x${enable_threads} in
2688           xyes | xpthreads | xposix)
2689                 thread_file='posix'
2690                 ;;
2691         esac
2692         ;;
2693 powerpc-*-eabiaix*)
2694         xm_defines=POSIX
2695         tm_file="${tm_file} elfos.h svr4.h rs6000/sysv4.h rs6000/eabi.h rs6000/eabiaix.h"
2696         tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
2697         extra_headers=ppc-asm.h
2698         ;;
2699 powerpc-*-eabisim*)
2700         xm_defines=POSIX
2701         tm_file="${tm_file} elfos.h svr4.h rs6000/sysv4.h rs6000/eabi.h rs6000/eabisim.h"
2702         tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
2703         extra_headers=ppc-asm.h
2704         ;;
2705 powerpc-*-elf*)
2706         xm_defines=POSIX
2707         tm_file="${tm_file} elfos.h svr4.h rs6000/sysv4.h"
2708         tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
2709         extra_headers=ppc-asm.h
2710         ;;
2711 powerpc-*-eabi*)
2712         xm_defines=POSIX
2713         tm_file="${tm_file} elfos.h svr4.h rs6000/sysv4.h rs6000/eabi.h"
2714         tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
2715         extra_headers=ppc-asm.h
2716         ;;
2717 powerpc-*-rtems*)
2718         xm_defines=POSIX
2719         tm_file="${tm_file} elfos.h svr4.h rs6000/sysv4.h rs6000/eabi.h rtems.h rs6000/rtems.h"
2720         tmake_file="rs6000/t-ppcgas t-rtems rs6000/t-ppccomm"
2721         extra_headers=ppc-asm.h
2722         if test x$enable_threads = xyes; then
2723           thread_file='rtems'
2724         fi
2725         ;;
2726 powerpc-*-linux*libc1)
2727         tm_file="${tm_file} elfos.h svr4.h rs6000/sysv4.h rs6000/linux.h"
2728         out_file=rs6000/rs6000.c
2729         tmake_file="rs6000/t-ppcos t-slibgcc-elf-ver t-linux t-linux-gnulibc1 rs6000/t-ppccomm"
2730         xmake_file=x-linux
2731         extra_headers=ppc-asm.h
2732         if test x$enable_threads = xyes; then
2733                 thread_file='posix'
2734         fi
2735         ;;
2736 powerpc-*-linux*)
2737         tm_file="${tm_file} elfos.h svr4.h rs6000/sysv4.h rs6000/linux.h"
2738         out_file=rs6000/rs6000.c
2739         tmake_file="rs6000/t-ppcos t-slibgcc-elf-ver t-linux rs6000/t-ppccomm"
2740         xmake_file=x-linux
2741         extra_headers=ppc-asm.h
2742         if test x$enable_threads = xyes; then
2743                 thread_file='posix'
2744         fi
2745         ;;
2746 powerpc-wrs-vxworks*)
2747         xm_defines=POSIX
2748         tm_file="${tm_file} elfos.h svr4.h rs6000/sysv4.h rs6000/vxppc.h"
2749         tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
2750         extra_headers=ppc-asm.h
2751         thread_file='vxworks'
2752         ;;
2753 powerpcle-wrs-vxworks*)
2754         xm_defines=POSIX
2755         tm_file="${tm_file} elfos.h svr4.h rs6000/sysv4.h rs6000/sysv4le.h rs6000/vxppc.h"
2756         tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
2757         extra_headers=ppc-asm.h
2758         thread_file='vxworks'
2759         ;;
2760 powerpcle-*-sysv*)
2761         tm_file="${tm_file} elfos.h svr4.h rs6000/sysv4.h rs6000/sysv4le.h"
2762         xm_defines=POSIX
2763         tmake_file="rs6000/t-ppcos rs6000/t-ppccomm"
2764         extra_headers=ppc-asm.h
2765         ;;
2766 powerpcle-*-elf*)
2767         xm_defines=POSIX
2768         tm_file="${tm_file} elfos.h svr4.h rs6000/sysv4.h rs6000/sysv4le.h"
2769         tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
2770         extra_headers=ppc-asm.h
2771         ;;
2772 powerpcle-*-eabisim*)
2773         xm_defines=POSIX
2774         tm_file="${tm_file} elfos.h svr4.h rs6000/sysv4.h rs6000/sysv4le.h rs6000/eabi.h rs6000/eabisim.h"
2775         tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
2776         extra_headers=ppc-asm.h
2777         ;;
2778 powerpcle-*-eabi*)
2779         xm_defines=POSIX
2780         tm_file="${tm_file} elfos.h svr4.h rs6000/sysv4.h rs6000/sysv4le.h rs6000/eabi.h"
2781         tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
2782         extra_headers=ppc-asm.h
2783         ;;
2784 powerpcle-*-solaris2*)
2785         tm_file="${tm_file} elfos.h svr4.h rs6000/sysv4.h rs6000/sysv4le.h rs6000/sol2.h"
2786         xm_defines=POSIX
2787         tmake_file="rs6000/t-ppcos rs6000/t-ppccomm"
2788         extra_headers=ppc-asm.h
2789         ;;
2790 rs6000-ibm-aix3.[01]*)
2791         xm_defines=POSIX
2792         tm_file="${tm_file} rs6000/aix.h rs6000/aix31.h rs6000/xcoff.h"
2793         float_format=none
2794         use_collect2=yes
2795         ;;
2796 rs6000-ibm-aix3.2.[456789]* | powerpc-ibm-aix3.2.[456789]*)
2797         xm_defines=POSIX
2798         tm_file="${tm_file} rs6000/aix.h rs6000/aix3newas.h rs6000/xcoff.h"
2799         tmake_file=rs6000/t-newas
2800         float_format=none
2801         use_collect2=yes
2802         ;;
2803 rs6000-ibm-aix4.[12]* | powerpc-ibm-aix4.[12]*)
2804         xm_defines=POSIX
2805         tm_file="${tm_file} rs6000/aix.h rs6000/aix41.h rs6000/xcoff.h"
2806         tmake_file=rs6000/t-newas
2807         float_format=none
2808         use_collect2=yes
2809         ;;
2810 rs6000-ibm-aix4.[3456789]* | powerpc-ibm-aix4.[3456789]*)
2811         xm_defines=POSIX
2812         tm_file="${tm_file} rs6000/aix.h rs6000/aix43.h rs6000/xcoff.h"
2813         tmake_file=rs6000/t-aix43
2814         float_format=none
2815         use_collect2=yes
2816         thread_file='aix'
2817         ;;
2818 rs6000-ibm-aix[56789].* | powerpc-ibm-aix[56789].*)
2819         xm_defines=POSIX
2820         tm_file="${tm_file} rs6000/aix.h rs6000/aix51.h rs6000/xcoff.h"
2821         tmake_file=rs6000/t-aix43
2822         float_format=none
2823         use_collect2=yes
2824         thread_file='aix'
2825         ;;
2826 rs6000-ibm-aix*)
2827         xm_defines=POSIX
2828         tm_file="${tm_file} rs6000/aix.h rs6000/xcoff.h"
2829         float_format=none
2830         use_collect2=yes
2831         ;;
2832 rs6000-bull-bosx)
2833         xm_defines=POSIX
2834         tm_file="${tm_file} rs6000/aix.h rs6000/xcoff.h"
2835         float_format=none
2836         use_collect2=yes
2837         ;;
2838 rs6000-*-mach*)
2839         tm_file="${tm_file} rs6000/mach.h"
2840         xm_defines=POSIX
2841         use_collect2=yes
2842         ;;
2843 rs6000-*-lynxos*)
2844         tm_file=rs6000/lynx.h
2845         tmake_file=rs6000/t-rs6000
2846         use_collect2=yes
2847         ;;
2848 s390-*-linux*)
2849         xmake_file=x-linux
2850         tm_file="s390/s390.h elfos.h svr4.h linux.h s390/linux.h"
2851         tmake_file="t-slibgcc-elf-ver t-linux s390/t-linux"
2852         extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
2853         if test x$enable_threads = xyes; then
2854                 thread_file='posix'
2855         fi
2856         ;;
2857 s390x-*-linux*)
2858         xmake_file=x-linux
2859         tm_file="s390/s390.h elfos.h svr4.h linux.h s390/linux.h s390/linux64.h"
2860         tm_p_file=s390/s390-protos.h
2861         md_file=s390/s390.md
2862         out_file=s390/s390.c
2863         tmake_file="t-slibgcc-elf-ver t-linux s390/t-linux"
2864         extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
2865         if test x$enable_threads = xyes; then
2866                 thread_file='posix'
2867         fi
2868         ;;
2869 sh-*-elf*)
2870         tmake_file="sh/t-sh sh/t-elf"
2871         tm_file="${tm_file} sh/elf.h"
2872         float_format=sh
2873         ;;
2874 sh-*-rtemself*)
2875         tmake_file="sh/t-sh sh/t-elf t-rtems"
2876         tm_file="${tm_file} sh/elf.h sh/rtemself.h"
2877         float_format=sh
2878         if test x$enable_threads = xyes; then
2879           thread_file='rtems'
2880         fi
2881         ;;
2882 sh-*-rtems*)
2883         tmake_file="sh/t-sh t-rtems"
2884         tm_file="${tm_file} sh/rtems.h"
2885         float_format=sh
2886         if test x$enable_threads = xyes; then
2887           thread_file='rtems'
2888         fi
2889         ;;
2890 sh-*-linux*)
2891         tm_file="${tm_file} sh/elf.h sh/linux.h"
2892         tmake_file="sh/t-sh sh/t-elf sh/t-linux"
2893         xmake_file=x-linux
2894         gas=yes gnu_ld=yes
2895         if test x$enable_threads = xyes; then
2896                 thread_file='posix'
2897         fi
2898         float_format=sh
2899         ;;
2900 sh-*-*)
2901         float_format=sh
2902         ;;
2903 sparc-tti-*)
2904         tm_file="${tm_file} sparc/pbd.h"
2905         xm_defines=POSIX
2906         ;;
2907 sparc64-wrs-vxworks*)
2908         tm_file="${tm_file} elfos.h svr4.h sparc/sysv4.h sparc/sol2.h sparc/elf.h sparc/sparc_bi.h gofast.h sparc/vxsparc64.h"
2909         tmake_file=sparc/t-vxsparc64
2910         use_collect2=yes
2911         ;;
2912 sparc-wrs-vxworks* | sparclite-wrs-vxworks*)
2913         tm_file="${tm_file} aoutos.h sparc/aout.h gofast.h sparc/vxsparc.h"
2914         tmake_file=sparc/t-vxsparc
2915         use_collect2=yes
2916         thread_file='vxworks'
2917         ;;
2918 sparc-*-aout*)
2919         tmake_file=sparc/t-sparcbare
2920         tm_file="sparc/sparc.h aoutos.h sparc/aout.h libgloss.h"
2921         ;;
2922 sparc-*-netbsd*)
2923         tm_file="${tm_file} sparc/aout.h netbsd.h sparc/netbsd.h"
2924         tmake_file=t-netbsd
2925         use_collect2=yes
2926         ;;
2927 sparc-*-openbsd*)
2928         tm_file="sparc/sparc.h ${tm_file}"
2929         # needed to unconfuse gdb
2930         tmake_file="t-libc-ok t-openbsd sparc/t-openbsd"
2931         # we need collect2 until our bug is fixed...
2932         use_collect2=yes
2933         ;;
2934 sparc-*-bsd*)
2935         tm_file="${tm_file} sparc/bsd.h"
2936         ;;
2937 sparc-*-chorusos*)
2938         tm_file="${tm_file} elfos.h svr4.h sparc/sysv4.h sparc/sol2.h sparc/elf.h chorus.h"
2939         tmake_file=sparc/t-chorus-elf
2940         extra_parts="crti.o crtn.o crtbegin.o crtend.o"
2941         float_format=i64
2942         case x${enable_threads} in
2943           xyes | xpthreads | xposix)
2944                 thread_file='posix'
2945                 ;;
2946         esac
2947         ;;
2948 sparc-*-elf*)
2949         tm_file="${tm_file} elfos.h svr4.h sparc/sysv4.h sparc/sol2.h sparc/elf.h"
2950         tmake_file=sparc/t-elf
2951         extra_parts="crti.o crtn.o crtbegin.o crtend.o"
2952         #float_format=i128
2953         float_format=i64
2954         ;;
2955 sparc-*-linux*aout*)            # Sparc's running GNU/Linux, a.out
2956         tm_file="aoutos.h sparc/sparc.h sparc/aout.h sparc/linux-aout.h"
2957         xmake_file=x-linux
2958         gnu_ld=yes
2959         ;;
2960 sparc-*-linux*libc1*)   # Sparc's running GNU/Linux, libc5
2961         xmake_file=x-linux
2962         tm_file="${tm_file} elfos.h svr4.h sparc/sysv4.h sparc/linux.h"
2963         tmake_file="t-slibgcc-elf-ver t-linux t-linux-gnulibc1"
2964         extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
2965         gnu_ld=yes
2966         float_format=sparc
2967         ;;
2968 sparc-*-linux*)         # Sparc's running GNU/Linux, libc6
2969         xmake_file=x-linux
2970         tm_file="${tm_file} elfos.h svr4.h sparc/sysv4.h sparc/linux.h"
2971         tmake_file="t-slibgcc-elf-ver t-linux"
2972         extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
2973         gnu_ld=yes
2974         if test x$enable_threads = xyes; then
2975                 thread_file='posix'
2976         fi
2977         float_format=sparc
2978         ;;
2979 sparc-*-lynxos*)
2980         if test x$gas = xyes
2981         then
2982                 tm_file="${tm_file} lynx.h sparc/aout.h sparc/lynx.h"
2983         else
2984                 tm_file="${tm_file} lynx-ng.h sparc/aout.h sparc/lynx-ng.h"
2985         fi
2986         tmake_file=sparc/t-sunos41
2987         ;;
2988 sparc-*-rtemsaout*)
2989         tmake_file="sparc/t-sparcbare t-rtems"
2990         tm_file="${tm_file} aoutos.h sparc/aout.h sparc/rtems.h rtems.h"
2991         if test x$enable_threads = xyes; then
2992           thread_file='rtems'
2993         fi
2994         ;;
2995 sparc-*-rtems*|sparc-*-rtemself*)
2996         tm_file="${tm_file} elfos.h svr4.h sparc/sysv4.h sparc/sol2.h sparc/elf.h sparc/rtemself.h rtems.h"
2997         tmake_file="sparc/t-elf t-rtems"
2998         extra_parts="crti.o crtn.o crtbegin.o crtend.o"
2999         #float_format=i128
3000         float_format=i64
3001         if test x$enable_threads = xyes; then
3002           thread_file='rtems'
3003         fi
3004         ;;
3005 sparcv9-*-solaris2* | sparc64-*-solaris2*)
3006         if test x$gnu_ld = xyes
3007         then
3008                 tm_file="sparc/sol2-sld-64.h sparc/sol2-64.h"
3009         else
3010                 tm_file=sparc/sol2-sld-64.h
3011         fi
3012         xm_defines=POSIX
3013         tmake_file="sparc/t-sol2 sparc/t-sol2-64"
3014         if test x$gnu_ld = xyes; then
3015                 tmake_file="$tmake_file t-slibgcc-elf-ver"
3016         else
3017                 tmake_file="$tmake_file t-slibgcc-sld"
3018         fi
3019         extra_parts="crt1.o crti.o crtn.o gcrt1.o crtbegin.o crtend.o"
3020         float_format=none
3021         if test x${enable_threads} = x ; then
3022             enable_threads=$have_pthread_h
3023             if test x${enable_threads} = x ; then
3024                 enable_threads=$have_thread_h
3025             fi
3026         fi
3027         if test x${enable_threads} = xyes ; then
3028             if test x${have_pthread_h} = xyes ; then
3029                 thread_file='posix'
3030             else
3031                 thread_file='solaris'
3032             fi
3033         fi
3034         ;;
3035 sparc-hal-solaris2*)
3036         xm_defines=POSIX
3037         tm_file="${tm_file} elfos.h svr4.h sparc/sysv4.h sparc/sol2.h sparc/hal.h"
3038         tmake_file="sparc/t-halos sparc/t-sol2"
3039         if test x$gnu_ld = xyes; then
3040                 tmake_file="$tmake_file t-slibgcc-elf-ver"
3041         else
3042                 tmake_file="$tmake_file t-slibgcc-sld"
3043         fi
3044         extra_parts="crt1.o crti.o crtn.o gmon.o crtbegin.o crtend.o"
3045         case $machine in
3046         *-*-solaris2.[0-4])
3047                 float_format=i128
3048         ;;
3049         *)
3050                 float_format=none
3051                 ;;
3052         esac
3053         thread_file='solaris'
3054         ;;
3055 sparc-*-solaris2*)
3056         if test x$gnu_ld = xyes
3057         then
3058                 tm_file="${tm_file} elfos.h svr4.h sparc/sysv4.h sparc/sol2.h"
3059         else
3060                 tm_file="${tm_file} elfos.h svr4.h sparc/sysv4.h sparc/sol2.h sparc/sol2-sld.h"
3061         fi
3062         xm_defines=POSIX
3063         tmake_file=sparc/t-sol2
3064         if test x$gnu_ld = xyes; then
3065                 tmake_file="$tmake_file t-slibgcc-elf-ver"
3066         else
3067                 tmake_file="$tmake_file t-slibgcc-sld"
3068         fi
3069         extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o"
3070         case $machine in
3071         *-*-solaris2.[0-6] | *-*-solaris2.[0-6].*) ;;
3072         *-*-solaris2*)
3073                 if test x$gnu_ld = xyes
3074                 then
3075                         tm_file="sparc/sol2-sld-64.h sparc/sol2-64.h"
3076                 else
3077                         tm_file="sparc/sol2-sld-64.h"
3078                 fi
3079                 tmake_file="$tmake_file sparc/t-sol2-64"
3080                 ;;
3081         esac
3082         case $machine in
3083         *-*-solaris2.[0-4])
3084                 float_format=i128
3085                 ;;
3086         *)
3087                 float_format=none
3088                 ;;
3089         esac
3090         if test x${enable_threads} = x; then
3091             enable_threads=$have_pthread_h
3092             if test x${enable_threads} = x; then
3093                 enable_threads=$have_thread_h
3094             fi
3095         fi
3096         if test x${enable_threads} = xyes; then
3097             if test x${have_pthread_h} = xyes; then
3098                 thread_file='posix'
3099             else
3100                 thread_file='solaris'
3101             fi
3102         fi
3103         ;;
3104 sparc-*-sunos4.0*)
3105         tm_file="${tm_file} sparc/aout.h sparc/sunos4.h"
3106         use_collect2=yes
3107         ;;
3108 sparc-*-sunos4*)
3109         tm_file="${tm_file} sparc/aout.h sparc/sunos4.h"
3110         tmake_file=sparc/t-sunos41
3111         use_collect2=yes
3112         if test x$gas = xyes; then
3113                 tm_file="${tm_file} sparc/sun4gas.h"
3114         fi
3115         ;;
3116 sparc-*-sunos3*)
3117         tm_file="${tm_file} sparc/aout.h sparc/sun4o3.h"
3118         use_collect2=yes
3119         ;;
3120 sparc-*-sysv4*)
3121         tm_file="${tm_file} elfos.h svr4.h sparc/sysv4.h"
3122         xm_defines=POSIX
3123         tmake_file=t-svr4
3124         extra_parts="crtbegin.o crtend.o"
3125         ;;
3126 sparc-*-vxsim*)
3127         xm_defines=POSIX
3128         tm_file="${tm_file} elfos.h svr4.h sparc/sysv4.h sparc/vxsim.h"
3129         tmake_file=sparc/t-vxsparc
3130         ;;
3131 sparclet-*-aout*)
3132         tm_file="${tm_file} aoutos.h sparc/aout.h sparc/splet.h libgloss.h"
3133         tmake_file=sparc/t-splet
3134         ;;
3135 sparclite-*-coff*)
3136         tm_file="${tm_file} gofast.h sparc/lite.h svr3.h sparc/litecoff.h dbxcoff.h libgloss.h"
3137         tmake_file=sparc/t-sparclite
3138         ;;
3139 sparclite-*-aout*)
3140         tm_file="${tm_file} gofast.h sparc/aout.h sparc/lite.h aoutos.h libgloss.h"
3141         tmake_file=sparc/t-sparclite
3142         ;;
3143 sparclite-*-elf*)
3144         tm_file="${tm_file} elfos.h svr4.h sparc/sysv4.h sparc/sol2.h sparc/elf.h gofast.h sparc/liteelf.h"
3145         tmake_file=sparc/t-sparclite
3146         extra_parts="crtbegin.o crtend.o"
3147         ;;
3148 sparc86x-*-aout*)
3149         tm_file="${tm_file} gofast.h sparc/aout.h sparc/sp86x-aout.h aoutos.h libgloss.h"
3150         tmake_file=sparc/t-sp86x
3151         ;;
3152 sparc86x-*-elf*)
3153         tm_file="${tm_file} elfos.h svr4.h sparc/sysv4.h sparc/sol2.h sparc/elf.h gofast.h sparc/sp86x-elf.h"
3154         tmake_file=sparc/t-sp86x
3155         extra_parts="crtbegin.o crtend.o"
3156         ;;
3157 sparc64-*-aout*)
3158         tm_file="sparc/sparc.h aoutos.h sparc/aout.h sparc/sp64-aout.h"
3159         ;;
3160 sparc64-*-elf*)
3161         tm_file="${tm_file} elfos.h svr4.h sparc/sysv4.h sparc/sol2.h sparc/sp64-elf.h"
3162         extra_parts="crtbegin.o crtend.o"
3163         ;;
3164 sparc64-*-linux*)               # 64-bit Sparc's running GNU/Linux
3165         tmake_file="t-slibgcc-elf-ver t-linux sparc/t-linux64"
3166         tm_file="sparc/sparc_bi.h ${tm_file} elfos.h svr4.h sparc/sysv4.h sparc/linux64.h"
3167         xmake_file=x-linux
3168         extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
3169         gnu_ld=yes
3170         if test x$enable_threads = xyes; then
3171                 thread_file='posix'
3172         fi
3173         float_format=sparc
3174         ;;
3175 strongarm-*-elf*)
3176         tm_file="arm/strongarm-elf.h elfos.h arm/unknown-elf.h arm/elf.h"
3177         tmake_file=arm/t-strongarm-elf
3178         out_file=arm/arm.c
3179         md_file=arm/arm.md
3180         ;;
3181 strongarm-*-coff*)
3182         tm_file=arm/strongarm-coff.h
3183         tmake_file=arm/t-strongarm-coff
3184         out_file=arm/arm.c
3185         md_file=arm/arm.md
3186         ;;
3187 strongarm-*-pe)
3188         tm_file=arm/strongarm-pe.h
3189         tmake_file=arm/t-strongarm-pe
3190         out_file=arm/arm.c
3191         md_file=arm/arm.md
3192         extra_objs=pe.o
3193         ;;
3194 thumb*-*-*)
3195         { echo "config.gcc: error:
3196 *** The Thumb targets have been deprecated.  The equivalent
3197 *** ARM based toolchain can now generate Thumb instructions
3198 *** when the -mthumb switch is given to the compiler." 1>&2; exit 1; }
3199         ;;
3200 v850-*-rtems*)
3201         tm_file="elfos.h svr4.h ${tm_file} v850/rtems.h"
3202         tmake_file="v850/t-v850 t-rtems"
3203         if test x$stabs = xyes
3204         then
3205                 tm_file="${tm_file} dbx.h"
3206         fi
3207         use_collect2=no
3208         c_target_objs="v850-c.o"
3209         cxx_target_objs="v850-c.o"
3210         ;;
3211 v850-*-*)
3212         target_cpu_default="TARGET_CPU_generic"
3213         tm_file="elfos.h svr4.h ${tm_file}"
3214         tmake_file=v850/t-v850
3215         if test x$stabs = xyes
3216         then
3217                 tm_file="${tm_file} dbx.h"
3218         fi
3219         use_collect2=no
3220         c_target_objs="v850-c.o"
3221         cxx_target_objs="v850-c.o"
3222         ;;
3223 vax-*-bsd*)                     # VAXen running BSD
3224         use_collect2=yes
3225         float_format=vax
3226         ;;
3227 vax-*-sysv*)                    # VAXen running system V
3228         tm_file="${tm_file} vax/vaxv.h"
3229         xm_defines=POSIX
3230         float_format=vax
3231         ;;
3232 vax-*-netbsd*)
3233         tm_file="${tm_file} netbsd.h vax/netbsd.h"
3234         tmake_file=t-netbsd
3235         float_format=vax
3236         use_collect2=yes
3237         ;;
3238 vax-*-openbsd*)
3239         tm_file="vax/vax.h vax/openbsd1.h openbsd.h ${tm_file}"
3240         float_format=vax
3241         use_collect2=yes
3242         ;;
3243 vax-*-ultrix*)                  # VAXen running ultrix
3244         tm_file="${tm_file} vax/ultrix.h"
3245         float_format=vax
3246         ;;
3247 vax-*-vms*)                     # VAXen running VMS
3248         xm_file=vax/xm-vms.h
3249         tm_file=vax/vms.h
3250         float_format=vax
3251         ;;
3252 vax-*-*)                        # VAX default entry
3253         float_format=vax
3254         ;;
3255 we32k-att-sysv*)
3256         xm_defines=POSIX
3257         use_collect2=yes
3258         ;;
3259 xscale-*-elf)
3260         tm_file="arm/xscale-elf.h elfos.h arm/unknown-elf.h arm/elf.h"
3261         tmake_file=arm/t-xscale-elf
3262         out_file=arm/arm.c
3263         md_file=arm/arm.md
3264         ;;
3265 xscale-*-coff)
3266         tm_file=arm/xscale-coff.h
3267         tmake_file=arm/t-xscale-coff
3268         out_file=arm/arm.c
3269         md_file=arm/arm.md
3270         ;;
3271 xstormy16-*-elf)
3272         # For historical reasons, the target files omit the 'x'.
3273         tm_file="elfos.h svr4.h stormy16/stormy16.h"
3274         tm_p_file=stormy16/stormy16-protos.h
3275         md_file=stormy16/stormy16.md
3276         out_file=stormy16/stormy16.c
3277         tmake_file="stormy16/t-stormy16"
3278         extra_parts="crtbegin.o crtend.o"
3279         ;;
3280 *)
3281         echo "Configuration $machine not supported" 1>&2
3282         exit 1
3283         ;;
3284 esac
3285
3286 case $machine in
3287 *-*-sysv*)
3288         install_headers_dir=install-headers-cpio
3289         ;;
3290 esac
3291
3292 # Distinguish i[34567]86
3293 # Also, do not run mips-tfile on MIPS if using gas.
3294 # Process --with-cpu= for PowerPC/rs6000
3295 target_cpu_default2=
3296 case $machine in
3297 i486-*-*)
3298         target_cpu_default2=1
3299         ;;
3300 i586-*-*)
3301         case $target_alias in
3302                 k6-*)
3303                         target_cpu_default2=4
3304                         ;;
3305                 *)
3306                         target_cpu_default2=2
3307                         ;;
3308         esac
3309         ;;
3310 i686-*-* | i786-*-*)
3311         case $target_alias in
3312                 athlon-*)
3313                         target_cpu_default2=5
3314                         ;;
3315                 *)
3316                         target_cpu_default2=3
3317                         ;;
3318         esac
3319         ;;
3320 alpha*-*-*)
3321         case $machine in
3322                 alphaev6[78]*)
3323                         target_cpu_default2="MASK_CPU_EV6|MASK_BWX|MASK_MAX|MASK_FIX|MASK_CIX"
3324                         ;;
3325                 alphaev6*)
3326                         target_cpu_default2="MASK_CPU_EV6|MASK_BWX|MASK_MAX|MASK_FIX"
3327                         ;;
3328                 alphapca56*)
3329                         target_cpu_default2="MASK_CPU_EV5|MASK_BWX|MASK_MAX"
3330                         ;;
3331                 alphaev56*)
3332                         target_cpu_default2="MASK_CPU_EV5|MASK_BWX"
3333                         ;;
3334                 alphaev5*)
3335                         target_cpu_default2="MASK_CPU_EV5"
3336                         ;;
3337         esac
3338
3339         if test x$gas = xyes
3340         then
3341                 if test "$target_cpu_default2" = ""
3342                 then
3343                         target_cpu_default2="MASK_GAS"
3344                 else
3345                         target_cpu_default2="${target_cpu_default2}|MASK_GAS"
3346                 fi
3347         fi
3348         ;;
3349 arm*-*-*)
3350         case "x$with_cpu" in
3351                 x)
3352                         # The most generic
3353                         target_cpu_default2="TARGET_CPU_generic"
3354                         ;;
3355
3356                 # Distinguish cores, and major variants
3357                 # arm7m doesn't exist, but D & I don't affect code
3358                 xarm[236789] | xarm250 | xarm[67][01]0 \
3359                 | xarm7m | xarm7dm | xarm7dmi | xarm[79]tdmi \
3360                 | xarm7100 | xarm7500 | xarm7500fe | xarm810 \
3361                 | xxscale \
3362                 | xstrongarm | xstrongarm110 | xstrongarm1100)
3363                         target_cpu_default2="TARGET_CPU_$with_cpu"
3364                         ;;
3365
3366                 xyes | xno)
3367                         echo "--with-cpu must be passed a value" 1>&2
3368                         exit 1
3369                         ;;
3370
3371                 *)
3372                         if test x$pass2done = xyes
3373                         then
3374                                 echo "Unknown cpu used with --with-cpu=$with_cpu" 1>&2
3375                                 exit 1
3376                         fi
3377                         ;;
3378         esac
3379         ;;
3380
3381 hppa*-*-* | parisc*-*-*)
3382         if test x$gas = xyes
3383         then
3384                 target_cpu_default2="MASK_GAS|MASK_JUMP_IN_DELAY"
3385         fi
3386         ;;
3387
3388 mips*-*-ecoff* | mips*-*-elf*)
3389         if test x$gas = xyes
3390         then
3391                 if test x$gnu_ld = xyes
3392                 then
3393                         target_cpu_default2="MASK_GAS|MASK_SPLIT_ADDR"
3394                 else
3395                         target_cpu_default2="MASK_GAS"
3396                 fi
3397         fi
3398         ;;
3399 mips*-*-*)
3400         if test x$gas = xyes
3401         then
3402                 target_cpu_default2="MASK_GAS"
3403         fi
3404         ;;
3405 powerpc*-*-* | rs6000-*-*)
3406         case "x$with_cpu" in
3407                 x)
3408                         ;;
3409
3410                 xcommon | xpower | xpower2 | xpowerpc | xrios \
3411                   | xrios1 | xrios2 | xrsc | xrsc1 \
3412                   | x601 | x602 | x603 | x603e | x604 | x604e | x620 \
3413                   | x740 | x750 | x505)
3414                         target_cpu_default2="\\\"$with_cpu\\\""
3415                         ;;
3416
3417                 x401 | x403 | xec603e | x801 | x821 | x823 | x860)
3418                         target_cpu_default2="\\\"$with_cpu\\\""
3419                         tm_file="$tm_file rs6000/softfloat.h"
3420                         ;;
3421
3422                 xyes | xno)
3423                         echo "--with-cpu must be passed a value" 1>&2
3424                         exit 1
3425                         ;;
3426
3427                 *)
3428                         if test x$pass2done = xyes
3429                         then
3430                                 echo "Unknown cpu used with --with-cpu=$with_cpu" 1>&2
3431                                 exit 1
3432                         fi
3433                         ;;
3434         esac
3435         ;;
3436 sparc*-*-*)
3437         case ".$with_cpu" in
3438                 .)
3439                         target_cpu_default2=TARGET_CPU_"`echo $machine | sed 's/-.*$//'`"
3440                         ;;
3441                 .supersparc | .hypersparc | .ultrasparc | .v7 | .v8 | .v9)
3442                         target_cpu_default2="TARGET_CPU_$with_cpu"
3443                         ;;
3444                 *)
3445                         if test x$pass2done = xyes
3446                         then
3447                                 echo "Unknown cpu used with --with-cpu=$with_cpu" 1>&2
3448                                 exit 1
3449                         fi
3450                         ;;
3451         esac
3452         ;;
3453 esac
3454
3455 if test "$target_cpu_default2" != ""
3456 then
3457         if test "$target_cpu_default" != ""
3458         then
3459                 target_cpu_default="(${target_cpu_default}|${target_cpu_default2})"
3460         else
3461                 target_cpu_default=$target_cpu_default2
3462         fi
3463 fi
3464
3465 # Save data on machine being used to compile GCC in build_xm_file.
3466 # Save data on host machine in vars host_xm_file and host_xmake_file.
3467 if test x$pass1done = x
3468 then
3469         if test x$xm_file != x
3470         then build_xm_file=$xm_file
3471         fi
3472         build_xm_defines=$xm_defines
3473         build_install_headers_dir=$install_headers_dir
3474         build_exeext=$exeext
3475         pass1done=yes
3476 else
3477         if test x$pass2done = x
3478         then
3479                 if test x$xm_file != x
3480                 then host_xm_file=$xm_file
3481                 fi
3482                 host_xm_defines=$xm_defines
3483                 host_xmake_file="$xmake_file"
3484                 host_truncate_target=$truncate_target
3485                 host_extra_gcc_objs=$extra_gcc_objs
3486                 host_extra_objs=$extra_host_objs
3487                 host_exeext=$exeext
3488                 pass2done=yes
3489         fi
3490 fi