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