xref: /dflybsd-src/contrib/gcc-4.7/libgcc/config.host (revision 0a8dc9fc45f4d0b236341a473fac4a486375f60c)
1e4b17023SJohn Marino# libgcc host-specific configuration file.
2e4b17023SJohn Marino# Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
3e4b17023SJohn Marino# 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
4e4b17023SJohn Marino
5e4b17023SJohn Marino#This file is part of GCC.
6e4b17023SJohn Marino
7e4b17023SJohn Marino#GCC is free software; you can redistribute it and/or modify it under
8e4b17023SJohn Marino#the terms of the GNU General Public License as published by the Free
9e4b17023SJohn Marino#Software Foundation; either version 3, or (at your option) any later
10e4b17023SJohn Marino#version.
11e4b17023SJohn Marino
12e4b17023SJohn Marino#GCC is distributed in the hope that it will be useful, but WITHOUT
13e4b17023SJohn Marino#ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14e4b17023SJohn Marino#FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
15e4b17023SJohn Marino#for more details.
16e4b17023SJohn Marino
17e4b17023SJohn Marino#You should have received a copy of the GNU General Public License
18e4b17023SJohn Marino#along with GCC; see the file COPYING3.  If not see
19e4b17023SJohn Marino#<http://www.gnu.org/licenses/>.
20e4b17023SJohn Marino
21e4b17023SJohn Marino# This is the libgcc host-specific configuration file
22e4b17023SJohn Marino# where a configuration type is mapped to different system-specific
23e4b17023SJohn Marino# definitions and files.  This is invoked by the autoconf-generated
24e4b17023SJohn Marino# configure script.  Putting it in a separate shell file lets us skip
25e4b17023SJohn Marino# running autoconf when modifying host-specific information.
26e4b17023SJohn Marino
27e4b17023SJohn Marino# This file bears an obvious resemblance to gcc/config.gcc.  The cases
28e4b17023SJohn Marino# should be kept similar, to ease moving library-specific settings
29e4b17023SJohn Marino# from config.gcc to this file.  That is also why tmake_file is
30e4b17023SJohn Marino# left as tmake_file, rather than hmake_file, even though this library
31e4b17023SJohn Marino# switches on ${host}.
32e4b17023SJohn Marino
33e4b17023SJohn Marino# This file switches on the shell variable ${host}, and also uses the
34e4b17023SJohn Marino# following shell variables:
35e4b17023SJohn Marino#
36e4b17023SJohn Marino#  with_*		Various variables as set by configure.
37e4b17023SJohn Marino
38e4b17023SJohn Marino# This file sets the following shell variables for use by the
39e4b17023SJohn Marino# autoconf-generated configure script:
40e4b17023SJohn Marino#
41e4b17023SJohn Marino#  asm_hidden_op	The assembler pseudo-op to use for hide
42e4b17023SJohn Marino#			lists for object files implemented in
43e4b17023SJohn Marino#			assembly (with -fvisibility=hidden for C).
44e4b17023SJohn Marino#			The default is ".hidden".
45e4b17023SJohn Marino#  cpu_type		The name of the cpu, if different from the first
46e4b17023SJohn Marino#			chunk of the canonical host name.
47e4b17023SJohn Marino#  enable_execute_stack The name of a source file implementing
48e4b17023SJohn Marino#			__enable_execute_stack.
49e4b17023SJohn Marino#  extra_parts		List of extra object files that should be compiled
50e4b17023SJohn Marino#			for this target machine.  This may be overridden
51e4b17023SJohn Marino#			by setting EXTRA_PARTS in a tmake_file fragment.
52e4b17023SJohn Marino#			If either is set, EXTRA_PARTS and
53e4b17023SJohn Marino#			EXTRA_MULTILIB_PARTS inherited from the GCC
54e4b17023SJohn Marino#			subdirectory will be ignored.
55e4b17023SJohn Marino#  md_unwind_header	The name of a header file defining
56e4b17023SJohn Marino#			MD_FALLBACK_FRAME_STATE_FOR.
57e4b17023SJohn Marino#  sfp_machine_header	The name of a sfp-machine.h header file for soft-fp.
58e4b17023SJohn Marino#  			Defaults to "$cpu_type/sfp-machine.h" if it exists,
59e4b17023SJohn Marino#			no-sfp-machine.h otherwise.
60e4b17023SJohn Marino#  tmake_file		A list of machine-description-specific
61e4b17023SJohn Marino#			makefile fragments.
62e4b17023SJohn Marino#  tm_defines		List of target macros to define for all compilations.
63e4b17023SJohn Marino#  tm_file		A list of target macro files used only for code
64e4b17023SJohn Marino#			built for the target, not the host.  These files
65e4b17023SJohn Marino#			are relative to $srcdir/config and must not have
66e4b17023SJohn Marino#			the same names as files in $srcdir/../gcc/config.
67e4b17023SJohn Marino#  unwind_header	The name of the header file declaring the unwind
68e4b17023SJohn Marino#			runtime interface routines.
69e4b17023SJohn Marino
70e4b17023SJohn Marinoasm_hidden_op=.hidden
71e4b17023SJohn Marinoenable_execute_stack=
72e4b17023SJohn Marinoextra_parts=
73e4b17023SJohn Marinotmake_file=
74e4b17023SJohn Marinotm_file=
75e4b17023SJohn Marinotm_define=
76e4b17023SJohn Marinomd_unwind_header=no-unwind.h
77e4b17023SJohn Marinounwind_header=unwind-generic.h
78e4b17023SJohn Marino
79e4b17023SJohn Marino# Set default cpu_type so it can be updated in each machine entry.
80e4b17023SJohn Marinocpu_type=`echo ${host} | sed 's/-.*$//'`
81e4b17023SJohn Marinocase ${host} in
82e4b17023SJohn Marinom32c*-*-*)
83e4b17023SJohn Marino        cpu_type=m32c
84e4b17023SJohn Marino	tmake_file=t-fdpbit
85e4b17023SJohn Marino        ;;
86e4b17023SJohn Marinoalpha*-*-*)
87e4b17023SJohn Marino	cpu_type=alpha
88e4b17023SJohn Marino	;;
89e4b17023SJohn Marinoam33_2.0-*-linux*)
90e4b17023SJohn Marino	cpu_type=mn10300
91e4b17023SJohn Marino	;;
92e4b17023SJohn Marinoarm*-*-*)
93e4b17023SJohn Marino	cpu_type=arm
94e4b17023SJohn Marino	;;
95e4b17023SJohn Marinoavr-*-*)
96e4b17023SJohn Marino	cpu_type=avr
97e4b17023SJohn Marino	;;
98e4b17023SJohn Marinobfin*-*)
99e4b17023SJohn Marino	cpu_type=bfin
100e4b17023SJohn Marino	;;
101e4b17023SJohn Marinocr16-*-*)
102e4b17023SJohn Marino	;;
103e4b17023SJohn Marinofido-*-*)
104e4b17023SJohn Marino	cpu_type=m68k
105e4b17023SJohn Marino	;;
106e4b17023SJohn Marinofrv*)	cpu_type=frv
107e4b17023SJohn Marino	;;
108e4b17023SJohn Marinomoxie*)	cpu_type=moxie
109e4b17023SJohn Marino	;;
110e4b17023SJohn Marinoi[34567]86-*-*)
111e4b17023SJohn Marino	cpu_type=i386
112e4b17023SJohn Marino	;;
113e4b17023SJohn Marinox86_64-*-*)
114e4b17023SJohn Marino	cpu_type=i386
115e4b17023SJohn Marino	;;
116e4b17023SJohn Marinoia64-*-*)
117e4b17023SJohn Marino	;;
118e4b17023SJohn Marinohppa*-*-*)
119e4b17023SJohn Marino	cpu_type=pa
120e4b17023SJohn Marino	;;
121e4b17023SJohn Marinolm32*-*-*)
122e4b17023SJohn Marino	cpu_type=lm32
123e4b17023SJohn Marino	;;
124e4b17023SJohn Marinom32r*-*-*)
125e4b17023SJohn Marino        cpu_type=m32r
126e4b17023SJohn Marino        ;;
127e4b17023SJohn Marinom68k-*-*)
128e4b17023SJohn Marino	;;
129e4b17023SJohn Marinomep*-*-*)
130e4b17023SJohn Marino	;;
131e4b17023SJohn Marinomicroblaze*-*-*)
132e4b17023SJohn Marino	cpu_type=microblaze
133e4b17023SJohn Marino	;;
134e4b17023SJohn Marinomips*-*-*)
135e4b17023SJohn Marino	cpu_type=mips
136e4b17023SJohn Marino	tmake_file=mips/t-mips
137e4b17023SJohn Marino	;;
138e4b17023SJohn Marinopowerpc*-*-*)
139e4b17023SJohn Marino	cpu_type=rs6000
140e4b17023SJohn Marino	;;
141e4b17023SJohn Marinors6000*-*-*)
142e4b17023SJohn Marino	;;
143e4b17023SJohn Marinoscore*-*-*)
144e4b17023SJohn Marino	cpu_type=score
145e4b17023SJohn Marino	;;
146e4b17023SJohn Marinosparc64*-*-*)
147e4b17023SJohn Marino	cpu_type=sparc
148e4b17023SJohn Marino	;;
149e4b17023SJohn Marinosparc*-*-*)
150e4b17023SJohn Marino	cpu_type=sparc
151e4b17023SJohn Marino	;;
152e4b17023SJohn Marinospu*-*-*)
153e4b17023SJohn Marino	cpu_type=spu
154e4b17023SJohn Marino	;;
155e4b17023SJohn Marinos390*-*-*)
156e4b17023SJohn Marino	cpu_type=s390
157e4b17023SJohn Marino	;;
158e4b17023SJohn Marino# Note the 'l'; we need to be able to match e.g. "shle" or "shl".
159e4b17023SJohn Marinosh[123456789lbe]*-*-*)
160e4b17023SJohn Marino	cpu_type=sh
161e4b17023SJohn Marino	;;
162e4b17023SJohn Marinov850*-*-*)
163e4b17023SJohn Marino	cpu_type=v850
164e4b17023SJohn Marino	;;
165e4b17023SJohn Marinotic6x-*-*)
166e4b17023SJohn Marino	cpu_type=c6x
167e4b17023SJohn Marino	;;
168e4b17023SJohn Marinoesac
169e4b17023SJohn Marino
170e4b17023SJohn Marino# Common parts for widely ported systems.
171e4b17023SJohn Marinocase ${host} in
172e4b17023SJohn Marino*-*-darwin*)
173e4b17023SJohn Marino  asm_hidden_op=.private_extern
174e4b17023SJohn Marino  tmake_file="$tmake_file t-darwin ${cpu_type}/t-darwin t-libgcc-pic t-slibgcc-darwin"
175e4b17023SJohn Marino  extra_parts="crt3.o crttms.o crttme.o"
176e4b17023SJohn Marino  ;;
177e4b17023SJohn Marino*-*-freebsd*)
178e4b17023SJohn Marino  # This is the generic ELF configuration of FreeBSD.  Later
179e4b17023SJohn Marino  # machine-specific sections may refine and add to this
180e4b17023SJohn Marino  # configuration.
181e4b17023SJohn Marino  tmake_file="$tmake_file t-freebsd t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver"
182e4b17023SJohn Marino  extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
183e4b17023SJohn Marino  case ${target_thread_file} in
184e4b17023SJohn Marino    posix)
185e4b17023SJohn Marino      tmake_file="${tmake_file} t-freebsd-thread"
186e4b17023SJohn Marino      # Before 5.0, FreeBSD can't bind shared libraries to -lc
187e4b17023SJohn Marino      # when "optionally" threaded via weak pthread_* checks.
188e4b17023SJohn Marino      case ${host} in
189e4b17023SJohn Marino        *-*-freebsd[34] | *-*-freebsd[34].*)
190e4b17023SJohn Marino          tmake_file="${tmake_file} t-slibgcc-nolc-override"
191e4b17023SJohn Marino          ;;
192e4b17023SJohn Marino      esac
193e4b17023SJohn Marino      ;;
194e4b17023SJohn Marino  esac
195e4b17023SJohn Marino  ;;
196e4b17023SJohn Marino*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu)
197e4b17023SJohn Marino  tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver t-linux"
198e4b17023SJohn Marino  extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
199e4b17023SJohn Marino  ;;
200e4b17023SJohn Marino*-*-lynxos*)
201e4b17023SJohn Marino  tmake_file="$tmake_file t-lynx $cpu_type/t-crtstuff t-crtstuff-pic t-libgcc-pic"
202e4b17023SJohn Marino  extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
203e4b17023SJohn Marino  ;;
204e4b17023SJohn Marino*-*-netbsd*)
205e4b17023SJohn Marino  tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver"
206e4b17023SJohn Marino  # NetBSD 1.7 and later are set up to use GCC's crtstuff for
207e4b17023SJohn Marino  # ELF configurations.  We will clear extra_parts in the
208e4b17023SJohn Marino  # a.out configurations.
209e4b17023SJohn Marino  case ${host} in
210e4b17023SJohn Marino    *-*-netbsd*1.[7-9]* | *-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*)
211e4b17023SJohn Marino      extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o"
212e4b17023SJohn Marino      ;;
213e4b17023SJohn Marino  esac
214e4b17023SJohn Marino  ;;
215e4b17023SJohn Marino*-*-openbsd*)
2165ce9237cSJohn Marino  tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip"
217e4b17023SJohn Marino  case ${target_thread_file} in
218e4b17023SJohn Marino    posix)
219e4b17023SJohn Marino      tmake_file="$tmake_file t-openbsd-thread"
220e4b17023SJohn Marino      ;;
221e4b17023SJohn Marino  esac
222e4b17023SJohn Marino  ;;
223e4b17023SJohn Marino*-*-rtems*)
224e4b17023SJohn Marino  tmake_file="$tmake_file t-rtems"
225e4b17023SJohn Marino  extra_parts="crtbegin.o crtend.o"
226e4b17023SJohn Marino  ;;
227e4b17023SJohn Marino*-*-solaris2*)
228e4b17023SJohn Marino  # Unless linker support and dl_iterate_phdr are present,
229e4b17023SJohn Marino  # unwind-dw2-fde-dip.c automatically falls back to unwind-dw2-fde.c.
230e4b17023SJohn Marino  tmake_file="$tmake_file t-sol2 t-eh-dw2-dip t-libgcc-pic t-slibgcc t-slibgcc-elf-ver"
231e4b17023SJohn Marino  if test $with_gnu_ld = yes; then
232e4b17023SJohn Marino    tmake_file="$tmake_file t-slibgcc-gld"
233e4b17023SJohn Marino  else
234e4b17023SJohn Marino    tmake_file="$tmake_file t-slibgcc-sld"
235e4b17023SJohn Marino  fi
236e4b17023SJohn Marino  # Add cpu-specific t-sol2 after t-slibgcc-* so it can augment SHLIB_MAPFILES.
237e4b17023SJohn Marino  tmake_file="$tmake_file $cpu_type/t-sol2"
238e4b17023SJohn Marino  extra_parts="gmon.o crtbegin.o crtend.o"
239e4b17023SJohn Marino  case ${host} in
240e4b17023SJohn Marino    i?86-*-solaris2.1[0-9]* | x86_64-*-solaris2.1[0-9]*)
241e4b17023SJohn Marino      # Solaris 10+/x86 provides crt1.o, crti.o, crtn.o, and gcrt1.o as
242e4b17023SJohn Marino      # part of the base system.
243e4b17023SJohn Marino      ;;
244e4b17023SJohn Marino    sparc*-*-solaris2.1[0-9]*)
245e4b17023SJohn Marino      # Solaris 10+/SPARC lacks crt1.o and gcrt1.o.
246e4b17023SJohn Marino      extra_parts="$extra_parts crt1.o gcrt1.o"
247e4b17023SJohn Marino      ;;
248e4b17023SJohn Marino    *)
249e4b17023SJohn Marino      extra_parts="$extra_parts crt1.o crti.o crtn.o gcrt1.o"
250e4b17023SJohn Marino      ;;
251e4b17023SJohn Marino  esac
252e4b17023SJohn Marino  ;;
253e4b17023SJohn Marino*-*-uclinux*)
254e4b17023SJohn Marino  extra_parts="crtbegin.o crtend.o"
255e4b17023SJohn Marino  ;;
256e4b17023SJohn Marino*-*-*vms*)
257e4b17023SJohn Marino  tmake_file="vms/t-vms"
258e4b17023SJohn Marino  extra_parts="vcrt0.o pcrt0.o crtbegin.o crtbeginS.o crtend.o crtendS.o"
259e4b17023SJohn Marino  ;;
260e4b17023SJohn Marino*-*-vxworks*)
261e4b17023SJohn Marino  tmake_file=t-vxworks
262e4b17023SJohn Marino  ;;
263e4b17023SJohn Marino*-*-elf)
264e4b17023SJohn Marino  extra_parts="crtbegin.o crtend.o"
265e4b17023SJohn Marino  ;;
266e4b17023SJohn Marinoesac
267e4b17023SJohn Marino
268e4b17023SJohn Marinocase ${host} in
269e4b17023SJohn Marino*-*-darwin* | *-*-freebsd* | *-*-netbsd* | *-*-openbsd* | *-*-solaris2* | \
270e4b17023SJohn Marino  alpha*-dec-osf5.1*)
271e4b17023SJohn Marino  enable_execute_stack=enable-execute-stack-mprotect.c
272e4b17023SJohn Marino  ;;
273e4b17023SJohn Marinoi[34567]86-*-mingw* | x86_64-*-mingw*)
274e4b17023SJohn Marino  enable_execute_stack=config/i386/enable-execute-stack-mingw32.c
275e4b17023SJohn Marino  ;;
276e4b17023SJohn Marino*)
277e4b17023SJohn Marino  enable_execute_stack=enable-execute-stack-empty.c;
278e4b17023SJohn Marino  ;;
279e4b17023SJohn Marinoesac
280e4b17023SJohn Marino
281e4b17023SJohn Marinocase ${host} in
282e4b17023SJohn Marinoalpha*-*-linux*)
283e4b17023SJohn Marino	tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee t-crtfm alpha/t-linux"
284e4b17023SJohn Marino	extra_parts="$extra_parts crtfastmath.o"
285e4b17023SJohn Marino	md_unwind_header=alpha/linux-unwind.h
286e4b17023SJohn Marino	;;
287e4b17023SJohn Marinoalpha*-*-freebsd*)
288e4b17023SJohn Marino	tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee t-crtfm"
289e4b17023SJohn Marino	extra_parts="$extra_parts crtbeginT.o crtfastmath.o"
290e4b17023SJohn Marino	;;
291e4b17023SJohn Marinoalpha*-*-netbsd*)
292e4b17023SJohn Marino	tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee"
293e4b17023SJohn Marino	;;
294e4b17023SJohn Marinoalpha*-*-openbsd*)
295e4b17023SJohn Marino	tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee"
296e4b17023SJohn Marino	;;
297e4b17023SJohn Marinoalpha*-dec-osf5.1*)
298e4b17023SJohn Marino	tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee t-crtfm t-slibgcc alpha/t-slibgcc-osf"
299e4b17023SJohn Marino	case ${target_thread_file} in
300e4b17023SJohn Marino	  posix)
301e4b17023SJohn Marino	    tmake_file="${tmake_file} alpha/t-osf-pthread"
302e4b17023SJohn Marino	    ;;
303e4b17023SJohn Marino	esac
304e4b17023SJohn Marino	extra_parts="${extra_parts} crtfastmath.o"
305e4b17023SJohn Marino	md_unwind_header=alpha/osf5-unwind.h
306e4b17023SJohn Marino	;;
307e4b17023SJohn Marinoalpha64-dec-*vms*)
308e4b17023SJohn Marino	tmake_file="$tmake_file alpha/t-alpha alpha/t-ieee alpha/t-vms t-slibgcc-vms"
309e4b17023SJohn Marino	extra_parts="$extra_parts vms-dwarf2.o vms-dwarf2eh.o"
310e4b17023SJohn Marino	md_unwind_header=alpha/vms-unwind.h
311e4b17023SJohn Marino	;;
312e4b17023SJohn Marinoalpha*-dec-*vms*)
313e4b17023SJohn Marino	tmake_file="$tmake_file alpha/t-alpha alpha/t-ieee alpha/t-vms t-slibgcc-vms"
314e4b17023SJohn Marino	extra_parts="$extra_parts vms-dwarf2.o vms-dwarf2eh.o"
315e4b17023SJohn Marino	md_unwind_header=alpha/vms-unwind.h
316e4b17023SJohn Marino	;;
317e4b17023SJohn Marinoarm-wrs-vxworks)
318*95d28233SJohn Marino	tmake_file="$tmake_file arm/t-arm arm/t-vxworks t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp"
319e4b17023SJohn Marino	extra_parts="$extra_parts crti.o crtn.o"
320e4b17023SJohn Marino	;;
321e4b17023SJohn Marinoarm*-*-freebsd*)
322e4b17023SJohn Marino	tmake_file="$tmake_file arm/t-arm arm/t-strongarm-elf t-fdpbit"
323e4b17023SJohn Marino	;;
324e4b17023SJohn Marinoarm*-*-netbsdelf*)
325e4b17023SJohn Marino	tmake_file="$tmake_file arm/t-arm arm/t-netbsd t-slibgcc-gld-nover"
326e4b17023SJohn Marino	;;
327e4b17023SJohn Marinoarm*-*-linux*)			# ARM GNU/Linux with ELF
328e4b17023SJohn Marino	tmake_file="${tmake_file} arm/t-arm t-fixedpoint-gnu-prefix"
329e4b17023SJohn Marino	case ${host} in
3305ce9237cSJohn Marino	arm*-*-linux-*eabi*)
331e4b17023SJohn Marino	  tmake_file="${tmake_file} arm/t-elf arm/t-bpabi arm/t-linux-eabi t-slibgcc-libgcc"
332e4b17023SJohn Marino	  tm_file="$tm_file arm/bpabi-lib.h"
333e4b17023SJohn Marino	  unwind_header=config/arm/unwind-arm.h
334e4b17023SJohn Marino	  ;;
335e4b17023SJohn Marino	*)
336e4b17023SJohn Marino	  tmake_file="$tmake_file arm/t-linux"
337e4b17023SJohn Marino 	  ;;
338e4b17023SJohn Marino	esac
339e4b17023SJohn Marino	tmake_file="$tmake_file t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp"
340e4b17023SJohn Marino	;;
341e4b17023SJohn Marinoarm*-*-uclinux*)		# ARM ucLinux
342e4b17023SJohn Marino	tmake_file="${tmake_file} t-fixedpoint-gnu-prefix"
343e4b17023SJohn Marino	case ${host} in
344e4b17023SJohn Marino	arm*-*-uclinux*eabi)
345e4b17023SJohn Marino	  tmake_file="${tmake_file} arm/t-bpabi"
346e4b17023SJohn Marino	  tm_file="$tm_file arm/bpabi-lib.h"
347e4b17023SJohn Marino	  unwind_header=config/arm/unwind-arm.h
348e4b17023SJohn Marino	  ;;
349e4b17023SJohn Marino	esac
350e4b17023SJohn Marino	tmake_file="$tmake_file arm/t-arm arm/t-elf t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp"
351e4b17023SJohn Marino	extra_parts="$extra_parts crti.o crtn.o"
352e4b17023SJohn Marino	;;
353e4b17023SJohn Marinoarm*-*-ecos-elf)
354e4b17023SJohn Marino	tmake_file="$tmake_file arm/t-arm arm/t-elf t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp"
355e4b17023SJohn Marino	extra_parts="$extra_parts crti.o crtn.o"
356e4b17023SJohn Marino	;;
3575ce9237cSJohn Marinoarm*-*-rtemself*)
3585ce9237cSJohn Marino	tmake_file="$tmake_file arm/t-arm arm/t-elf t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp"
3595ce9237cSJohn Marino	extra_parts="$extra_parts crti.o crtn.o"
3605ce9237cSJohn Marino	;;
3615ce9237cSJohn Marinoarm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*)
362e4b17023SJohn Marino	tmake_file="${tmake_file} arm/t-arm arm/t-elf t-fixedpoint-gnu-prefix"
363e4b17023SJohn Marino	tm_file="$tm_file arm/bpabi-lib.h"
364e4b17023SJohn Marino	case ${host} in
3655ce9237cSJohn Marino	arm*-*-eabi* | arm*-*-rtems*)
366e4b17023SJohn Marino	  tmake_file="${tmake_file} arm/t-bpabi"
367e4b17023SJohn Marino	  extra_parts="crtbegin.o crtend.o crti.o crtn.o"
368e4b17023SJohn Marino	  ;;
369e4b17023SJohn Marino	arm*-*-symbianelf*)
370e4b17023SJohn Marino	  tmake_file="${tmake_file} arm/t-symbian t-slibgcc-nolc-override"
371e4b17023SJohn Marino	  tm_file="$tm_file arm/symbian-lib.h"
372e4b17023SJohn Marino	  # Symbian OS provides its own startup code.
373e4b17023SJohn Marino	  ;;
374e4b17023SJohn Marino	esac
375e4b17023SJohn Marino	tmake_file="$tmake_file t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp"
376e4b17023SJohn Marino	unwind_header=config/arm/unwind-arm.h
377e4b17023SJohn Marino	;;
378e4b17023SJohn Marinoarm*-*-elf)
379e4b17023SJohn Marino	tmake_file="$tmake_file arm/t-arm arm/t-elf t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp"
380e4b17023SJohn Marino	extra_parts="$extra_parts crti.o crtn.o"
381e4b17023SJohn Marino	;;
382e4b17023SJohn Marinoarm*-wince-pe*)
383e4b17023SJohn Marino	tmake_file="$tmake_file arm/t-arm arm/t-wince-pe"
384e4b17023SJohn Marino	;;
385e4b17023SJohn Marinoavr-*-rtems*)
386e4b17023SJohn Marino	tmake_file="$tmake_file avr/t-avr avr/t-rtems t-fpbit"
387e4b17023SJohn Marino	tm_file="$tm_file avr/avr-lib.h"
388e4b17023SJohn Marino	# Don't use default.
389e4b17023SJohn Marino	extra_parts=
390e4b17023SJohn Marino	;;
391e4b17023SJohn Marinoavr-*-*)
392e4b17023SJohn Marino	# Make HImode functions for AVR
393e4b17023SJohn Marino	tmake_file="${cpu_type}/t-avr t-fpbit"
394e4b17023SJohn Marino	if test x${with_avrlibc} = xyes; then
395e4b17023SJohn Marino	    tmake_file="$tmake_file ${cpu_type}/t-avrlibc"
396e4b17023SJohn Marino	fi
397e4b17023SJohn Marino	tm_file="$tm_file avr/avr-lib.h"
398e4b17023SJohn Marino	;;
399e4b17023SJohn Marinobfin*-elf*)
400e4b17023SJohn Marino	tmake_file="bfin/t-bfin bfin/t-crtlibid bfin/t-crtstuff t-libgcc-pic t-fdpbit"
401e4b17023SJohn Marino	extra_parts="$extra_parts crtbeginS.o crtendS.o crti.o crtn.o crtlibid.o"
402e4b17023SJohn Marino        ;;
403e4b17023SJohn Marinobfin*-uclinux*)
404e4b17023SJohn Marino	tmake_file="bfin/t-bfin bfin/t-crtlibid bfin/t-crtstuff t-libgcc-pic t-fdpbit"
405e4b17023SJohn Marino	extra_parts="$extra_parts crtbeginS.o crtendS.o crtlibid.o"
406e4b17023SJohn Marino	md_unwind_header=bfin/linux-unwind.h
407e4b17023SJohn Marino        ;;
408e4b17023SJohn Marinobfin*-linux-uclibc*)
409e4b17023SJohn Marino	tmake_file="$tmake_file bfin/t-bfin bfin/t-crtstuff t-libgcc-pic t-fdpbit bfin/t-linux"
410e4b17023SJohn Marino	# No need to build crtbeginT.o on uClibc systems.  Should probably
411e4b17023SJohn Marino	# be moved to the OS specific section above.
412e4b17023SJohn Marino	extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
413e4b17023SJohn Marino	md_unwind_header=bfin/linux-unwind.h
414e4b17023SJohn Marino	;;
415e4b17023SJohn Marinobfin*-rtems*)
416e4b17023SJohn Marino	tmake_file="$tmake_file bfin/t-bfin t-fdpbit"
417e4b17023SJohn Marino	extra_parts="$extra_parts crti.o crtn.o"
418e4b17023SJohn Marino	;;
419e4b17023SJohn Marinobfin*-*)
420e4b17023SJohn Marino	tmake_file="$tmake_file bfin/t-bfin t-fdpbit"
421e4b17023SJohn Marino	extra_parts="crtbegin.o crtend.o crti.o crtn.o"
422e4b17023SJohn Marino        ;;
423e4b17023SJohn Marinocr16-*-elf)
424e4b17023SJohn Marino	tmake_file="${tmake_file} cr16/t-cr16 cr16/t-crtlibid t-fdpbit"
425e4b17023SJohn Marino	extra_parts="$extra_parts crti.o crtn.o crtlibid.o"
426e4b17023SJohn Marino        ;;
427e4b17023SJohn Marinocrisv32-*-elf)
428e4b17023SJohn Marino	tmake_file="$tmake_file cris/t-cris t-fdpbit"
429e4b17023SJohn Marino 	;;
430e4b17023SJohn Marinocris-*-elf)
431e4b17023SJohn Marino	tmake_file="$tmake_file cris/t-cris t-fdpbit cris/t-elfmulti"
432e4b17023SJohn Marino	;;
433e4b17023SJohn Marinocris-*-linux* | crisv32-*-linux*)
434e4b17023SJohn Marino	tmake_file="$tmake_file cris/t-cris t-fdpbit cris/t-linux"
435e4b17023SJohn Marino	;;
436e4b17023SJohn Marinoepiphany-*-elf*)
437e4b17023SJohn Marino	tmake_file="epiphany/t-epiphany t-fdpbit epiphany/t-custom-eqsf"
438e4b17023SJohn Marino	extra_parts="$extra_parts crti.o crtint.o crtrunc.o crtm1reg-r43.o crtm1reg-r63.o crtn.o"
439e4b17023SJohn Marino	;;
440e4b17023SJohn Marinofr30-*-elf)
441e4b17023SJohn Marino	tmake_file="$tmake_file fr30/t-fr30 t-fdpbit"
442e4b17023SJohn Marino	extra_parts="$extra_parts crti.o crtn.o"
443e4b17023SJohn Marino	;;
444e4b17023SJohn Marinofrv-*-elf)
445e4b17023SJohn Marino	tmake_file="$tmake_file frv/t-frv t-fdpbit"
446e4b17023SJohn Marino	tm_file="$tm_file frv/frv-abi.h"
447e4b17023SJohn Marino	# Don't use crtbegin.o, crtend.o.
448e4b17023SJohn Marino	extra_parts="frvbegin.o frvend.o"
449e4b17023SJohn Marino	;;
450e4b17023SJohn Marinofrv-*-*linux*)
451e4b17023SJohn Marino	tmake_file="$tmake_file frv/t-frv frv/t-linux t-fdpbit"
452e4b17023SJohn Marino	tm_file="$tm_file frv/frv-abi.h"
453e4b17023SJohn Marino	;;
454e4b17023SJohn Marinoh8300-*-rtems*)
455e4b17023SJohn Marino	tmake_file="$tmake_file h8300/t-h8300 t-fpbit"
456e4b17023SJohn Marino	tm_file="$tm_file h8300/h8300-lib.h"
457e4b17023SJohn Marino	extra_parts="$extra_parts crti.o crtn.o"
458e4b17023SJohn Marino	;;
459e4b17023SJohn Marinoh8300-*-elf*)
460e4b17023SJohn Marino	tmake_file="$tmake_file h8300/t-h8300 t-fpbit"
461e4b17023SJohn Marino	tm_file="$tm_file h8300/h8300-lib.h"
462e4b17023SJohn Marino	extra_parts="$extra_parts crti.o crtn.o"
463e4b17023SJohn Marino	;;
464e4b17023SJohn Marinohppa*64*-*-linux*)
465e4b17023SJohn Marino	tmake_file="$tmake_file pa/t-linux pa/t-linux64"
466e4b17023SJohn Marino	;;
467e4b17023SJohn Marinohppa*-*-linux*)
468e4b17023SJohn Marino	tmake_file="$tmake_file pa/t-linux t-slibgcc-libgcc"
469e4b17023SJohn Marino	# Set the libgcc version number
470e4b17023SJohn Marino	if test x$enable_sjlj_exceptions = xyes; then
471e4b17023SJohn Marino	    tmake_file="$tmake_file pa/t-slibgcc-sjlj-ver"
472e4b17023SJohn Marino	else
473e4b17023SJohn Marino	    tmake_file="$tmake_file pa/t-slibgcc-dwarf-ver"
474e4b17023SJohn Marino	fi
475e4b17023SJohn Marino	md_unwind_header=pa/linux-unwind.h
476e4b17023SJohn Marino	;;
477e4b17023SJohn Marinohppa[12]*-*-hpux10*)
478e4b17023SJohn Marino	tmake_file="$tmake_file pa/t-hpux pa/t-hpux10 t-libgcc-pic t-slibgcc"
479e4b17023SJohn Marino	# Set the libgcc version number
480e4b17023SJohn Marino	if test x$enable_sjlj_exceptions = xyes; then
481e4b17023SJohn Marino	    tmake_file="$tmake_file pa/t-slibgcc-sjlj-ver"
482e4b17023SJohn Marino	else
483e4b17023SJohn Marino	    tmake_file="$tmake_file pa/t-slibgcc-dwarf-ver"
484e4b17023SJohn Marino	fi
485e4b17023SJohn Marino	tmake_file="$tmake_file pa/t-slibgcc-hpux t-slibgcc-hpux"
486e4b17023SJohn Marino	md_unwind_header=pa/hpux-unwind.h
487e4b17023SJohn Marino	;;
488e4b17023SJohn Marinohppa*64*-*-hpux11*)
489e4b17023SJohn Marino	tmake_file="$tmake_file pa/t-hpux pa/t-pa64 pa/t-stublib t-libgcc-pic t-slibgcc"
490e4b17023SJohn Marino	# Set the libgcc version number
491e4b17023SJohn Marino	if test x$enable_sjlj_exceptions = xyes; then
492e4b17023SJohn Marino	    tmake_file="$tmake_file pa/t-slibgcc-sjlj-ver"
493e4b17023SJohn Marino	else
494e4b17023SJohn Marino	    tmake_file="$tmake_file pa/t-slibgcc-dwarf-ver"
495e4b17023SJohn Marino	fi
496e4b17023SJohn Marino	tmake_file="$tmake_file pa/t-slibgcc-hpux t-slibgcc-hpux"
497e4b17023SJohn Marino	extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o \
498e4b17023SJohn Marino		     libgcc_stub.a"
499e4b17023SJohn Marino	md_unwind_header=pa/hpux-unwind.h
500e4b17023SJohn Marino	;;
501e4b17023SJohn Marinohppa[12]*-*-hpux11*)
502e4b17023SJohn Marino	tmake_file="$tmake_file pa/t-hpux pa/t-stublib t-libgcc-pic t-slibgcc"
503e4b17023SJohn Marino	# Set the libgcc version number
504e4b17023SJohn Marino	if test x$enable_sjlj_exceptions = xyes; then
505e4b17023SJohn Marino	    tmake_file="$tmake_file pa/t-slibgcc-sjlj-ver"
506e4b17023SJohn Marino	else
507e4b17023SJohn Marino	    tmake_file="$tmake_file pa/t-slibgcc-dwarf-ver"
508e4b17023SJohn Marino	fi
509e4b17023SJohn Marino	tmake_file="$tmake_file pa/t-slibgcc-hpux t-slibgcc-hpux"
510e4b17023SJohn Marino	extra_parts="libgcc_stub.a"
511e4b17023SJohn Marino	md_unwind_header=pa/hpux-unwind.h
512e4b17023SJohn Marino	;;
513e4b17023SJohn Marinoi[34567]86-*-darwin*)
514e4b17023SJohn Marino	tmake_file="$tmake_file i386/t-crtpc i386/t-crtfm"
515e4b17023SJohn Marino	tm_file="$tm_file i386/darwin-lib.h"
516e4b17023SJohn Marino	extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
517e4b17023SJohn Marino	;;
518e4b17023SJohn Marinox86_64-*-darwin*)
519e4b17023SJohn Marino	tmake_file="$tmake_file i386/t-crtpc i386/t-crtfm"
520e4b17023SJohn Marino	tm_file="$tm_file i386/darwin-lib.h"
521e4b17023SJohn Marino	extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
522e4b17023SJohn Marino	;;
523e4b17023SJohn Marinoi[34567]86-*-elf*)
524e4b17023SJohn Marino	tmake_file="$tmake_file i386/t-crtstuff t-crtstuff-pic t-libgcc-pic"
525e4b17023SJohn Marino	;;
526e4b17023SJohn Marinox86_64-*-elf*)
527e4b17023SJohn Marino	tmake_file="$tmake_file i386/t-crtstuff t-crtstuff-pic t-libgcc-pic"
528e4b17023SJohn Marino	;;
529e4b17023SJohn Marinoi[34567]86-*-freebsd*)
530e4b17023SJohn Marino	tmake_file="${tmake_file} i386/t-freebsd i386/t-crtstuff"
531e4b17023SJohn Marino	;;
532e4b17023SJohn Marinox86_64-*-freebsd*)
533e4b17023SJohn Marino	tmake_file="${tmake_file} i386/t-freebsd i386/t-crtstuff"
534e4b17023SJohn Marino	;;
535e4b17023SJohn Marinoi[34567]86-*-netbsdelf*)
536e4b17023SJohn Marino	;;
537e4b17023SJohn Marinox86_64-*-netbsd*)
538e4b17023SJohn Marino	tmake_file="${tmake_file} i386/t-crtstuff"
539e4b17023SJohn Marino	;;
540e4b17023SJohn Marinoi[34567]86-*-openbsd2.*|i[34567]86-*openbsd3.[0123])
541e4b17023SJohn Marino	;;
542e4b17023SJohn Marinoi[34567]86-*-openbsd*)
543e4b17023SJohn Marino	;;
544e4b17023SJohn Marinoi[34567]86-*-linux*)
545e4b17023SJohn Marino	extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
546e4b17023SJohn Marino	tmake_file="${tmake_file} i386/t-crtpc i386/t-crtfm i386/t-crtstuff t-dfprules"
547e4b17023SJohn Marino	md_unwind_header=i386/linux-unwind.h
548e4b17023SJohn Marino	;;
549e4b17023SJohn Marinoi[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu | i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu)
550e4b17023SJohn Marino	extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
551e4b17023SJohn Marino	tmake_file="${tmake_file} i386/t-crtpc i386/t-crtfm i386/t-crtstuff t-dfprules"
552e4b17023SJohn Marino	;;
553e4b17023SJohn Marinox86_64-*-linux*)
554e4b17023SJohn Marino	extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
555e4b17023SJohn Marino	tmake_file="${tmake_file} i386/t-crtpc i386/t-crtfm i386/t-crtstuff t-dfprules"
556e4b17023SJohn Marino	md_unwind_header=i386/linux-unwind.h
557e4b17023SJohn Marino	;;
558e4b17023SJohn Marinox86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu)
559e4b17023SJohn Marino	extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
560e4b17023SJohn Marino	tmake_file="${tmake_file} i386/t-crtpc i386/t-crtfm i386/t-crtstuff t-dfprules"
561e4b17023SJohn Marino	;;
562e4b17023SJohn Marinoi[34567]86-pc-msdosdjgpp*)
563e4b17023SJohn Marino	;;
564e4b17023SJohn Marinoi[34567]86-*-lynxos*)
565e4b17023SJohn Marino	;;
566e4b17023SJohn Marinoi[34567]86-*-nto-qnx*)
567e4b17023SJohn Marino	tmake_file="$tmake_file i386/t-nto t-libgcc-pic"
568e4b17023SJohn Marino	extra_parts=crtbegin.o
569e4b17023SJohn Marino	;;
570e4b17023SJohn Marinoi[34567]86-*-rtems*)
571e4b17023SJohn Marino	tmake_file="$tmake_file i386/t-softfp i386/t-crtstuff"
572e4b17023SJohn Marino	extra_parts="$extra_parts crti.o crtn.o"
573e4b17023SJohn Marino	;;
574e4b17023SJohn Marinoi[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*)
575e4b17023SJohn Marino	tmake_file="$tmake_file i386/t-crtpc i386/t-crtfm"
576e4b17023SJohn Marino	extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
577e4b17023SJohn Marino	md_unwind_header=i386/sol2-unwind.h
578e4b17023SJohn Marino	;;
579e4b17023SJohn Marinoi[4567]86-wrs-vxworks|i[4567]86-wrs-vxworksae)
580e4b17023SJohn Marino	;;
581e4b17023SJohn Marinoi[34567]86-*-cygwin*)
582e4b17023SJohn Marino	extra_parts="crtbegin.o crtend.o crtfastmath.o"
583e4b17023SJohn Marino	# This has to match the logic for DWARF2_UNWIND_INFO in gcc/config/i386/cygming.h
584e4b17023SJohn Marino	if test x$enable_sjlj_exceptions = xyes; then
585e4b17023SJohn Marino		tmake_eh_file="i386/t-sjlj-eh"
586e4b17023SJohn Marino	else
587e4b17023SJohn Marino		tmake_eh_file="i386/t-dw2-eh"
588e4b17023SJohn Marino	fi
589e4b17023SJohn Marino	# Shared libgcc DLL install dir depends on cross/native build.
590e4b17023SJohn Marino	if test x${build} = x${host} ; then
591e4b17023SJohn Marino		tmake_dlldir_file="i386/t-dlldir"
592e4b17023SJohn Marino	else
593e4b17023SJohn Marino		tmake_dlldir_file="i386/t-dlldir-x"
594e4b17023SJohn Marino	fi
595e4b17023SJohn Marino	tmake_file="${tmake_file} ${tmake_eh_file} ${tmake_dlldir_file} i386/t-slibgcc-cygming i386/t-cygming i386/t-cygwin i386/t-crtfm i386/t-chkstk t-dfprules"
596e4b17023SJohn Marino	;;
597e4b17023SJohn Marinoi[34567]86-*-mingw*)
598e4b17023SJohn Marino	extra_parts="crtbegin.o crtend.o crtfastmath.o"
599e4b17023SJohn Marino	case ${target_thread_file} in
600e4b17023SJohn Marino	  win32)
601e4b17023SJohn Marino	    tmake_file="$tmake_file i386/t-gthr-win32"
602e4b17023SJohn Marino	    ;;
603e4b17023SJohn Marino	  posix)
604e4b17023SJohn Marino	    tmake_file="i386/t-mingw-pthread $tmake_file"
605e4b17023SJohn Marino	    ;;
606e4b17023SJohn Marino	esac
607e4b17023SJohn Marino	# This has to match the logic for DWARF2_UNWIND_INFO in gcc/config/i386/cygming.h
608e4b17023SJohn Marino	if test x$enable_sjlj_exceptions = xyes; then
609e4b17023SJohn Marino		tmake_eh_file="i386/t-sjlj-eh"
610e4b17023SJohn Marino	else
611e4b17023SJohn Marino		tmake_eh_file="i386/t-dw2-eh"
612e4b17023SJohn Marino		md_unwind_header=i386/w32-unwind.h
613e4b17023SJohn Marino	fi
614e4b17023SJohn Marino	# Shared libgcc DLL install dir depends on cross/native build.
615e4b17023SJohn Marino	if test x${build} = x${host} ; then
616e4b17023SJohn Marino		tmake_dlldir_file="i386/t-dlldir"
617e4b17023SJohn Marino	else
618e4b17023SJohn Marino		tmake_dlldir_file="i386/t-dlldir-x"
619e4b17023SJohn Marino	fi
620e4b17023SJohn Marino	tmake_file="${tmake_file} ${tmake_eh_file} ${tmake_dlldir_file} i386/t-slibgcc-cygming i386/t-cygming i386/t-mingw32 i386/t-crtfm i386/t-chkstk t-dfprules"
621e4b17023SJohn Marino	;;
622e4b17023SJohn Marinox86_64-*-mingw*)
623e4b17023SJohn Marino	case ${target_thread_file} in
624e4b17023SJohn Marino	  win32)
625e4b17023SJohn Marino	    tmake_file="$tmake_file i386/t-gthr-win32"
626e4b17023SJohn Marino	    ;;
627e4b17023SJohn Marino	  posix)
628e4b17023SJohn Marino	    tmake_file="i386/t-mingw-pthread $tmake_file"
629e4b17023SJohn Marino	    ;;
630e4b17023SJohn Marino	esac
631e4b17023SJohn Marino	# This has to match the logic for DWARF2_UNWIND_INFO in gcc/config/i386/cygming.h
632e4b17023SJohn Marino	if test x$enable_sjlj_exceptions = xyes; then
633e4b17023SJohn Marino		tmake_eh_file="i386/t-sjlj-eh"
634e4b17023SJohn Marino	else
635e4b17023SJohn Marino		tmake_eh_file="i386/t-dw2-eh"
636e4b17023SJohn Marino	fi
637e4b17023SJohn Marino	# Shared libgcc DLL install dir depends on cross/native build.
638e4b17023SJohn Marino	if test x${build} = x${host} ; then
639e4b17023SJohn Marino		tmake_dlldir_file="i386/t-dlldir"
640e4b17023SJohn Marino	else
641e4b17023SJohn Marino		tmake_dlldir_file="i386/t-dlldir-x"
642e4b17023SJohn Marino	fi
643e4b17023SJohn Marino	tmake_file="${tmake_file} ${tmake_eh_file} ${tmake_dlldir_file} i386/t-slibgcc-cygming i386/t-mingw32 t-dfprules i386/t-crtfm i386/t-chkstk"
644e4b17023SJohn Marino	extra_parts="$extra_parts crtfastmath.o"
645e4b17023SJohn Marino	;;
646e4b17023SJohn Marinoi[34567]86-*-interix[3-9]*)
647e4b17023SJohn Marino	tmake_file="$tmake_file i386/t-interix i386/t-chkstk"
648e4b17023SJohn Marino	;;
649e4b17023SJohn Marinoia64*-*-elf*)
650e4b17023SJohn Marino	extra_parts="$extra_parts crtbeginS.o crtendS.o crtfastmath.o"
651e4b17023SJohn Marino	tmake_file="ia64/t-ia64 ia64/t-ia64-elf ia64/t-eh-ia64 t-crtfm"
652e4b17023SJohn Marino	;;
653e4b17023SJohn Marinoia64*-*-freebsd*)
654e4b17023SJohn Marino	extra_parts="$extra_parts crtfastmath.o"
655e4b17023SJohn Marino	tmake_file="$tmake_file ia64/t-ia64 ia64/t-ia64-elf ia64/t-eh-ia64 t-crtfm"
656e4b17023SJohn Marino	;;
657e4b17023SJohn Marinoia64*-*-linux*)
658e4b17023SJohn Marino	# Don't use crtbeginT.o from *-*-linux* default.
659e4b17023SJohn Marino	extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o"
660e4b17023SJohn Marino	tmake_file="$tmake_file ia64/t-ia64 ia64/t-ia64-elf t-crtfm t-softfp-tf ia64/t-softfp t-softfp ia64/t-softfp-compat ia64/t-eh-ia64 t-libunwind ia64/t-linux"
661e4b17023SJohn Marino	if test x$with_system_libunwind != xyes ; then
662e4b17023SJohn Marino		tmake_file="${tmake_file} t-libunwind-elf ia64/t-linux-libunwind"
663e4b17023SJohn Marino	fi
664e4b17023SJohn Marino	md_unwind_header=ia64/linux-unwind.h
665e4b17023SJohn Marino	;;
666e4b17023SJohn Marinoia64*-*-hpux*)
667e4b17023SJohn Marino	tmake_file="ia64/t-ia64 ia64/t-ia64-elf ia64/t-hpux t-slibgcc ia64/t-slibgcc-hpux t-slibgcc-hpux"
668e4b17023SJohn Marino	;;
669e4b17023SJohn Marinoia64-hp-*vms*)
670e4b17023SJohn Marino	tmake_file="$tmake_file ia64/t-ia64 ia64/t-eh-ia64 ia64/t-vms t-slibgcc-vms"
671e4b17023SJohn Marino	extra_parts="$extra_parts crtinitS.o"
672e4b17023SJohn Marino	md_unwind_header=ia64/vms-unwind.h
673e4b17023SJohn Marino	;;
674e4b17023SJohn Marinoiq2000*-*-elf*)
675e4b17023SJohn Marino	tmake_file="iq2000/t-iq2000 t-fdpbit"
676e4b17023SJohn Marino	# Don't use default.
677e4b17023SJohn Marino	extra_parts=
678e4b17023SJohn Marino        ;;
679e4b17023SJohn Marinolm32-*-elf*)
680e4b17023SJohn Marino        extra_parts="$extra_parts crti.o crtn.o"
681e4b17023SJohn Marino        tmake_file="lm32/t-lm32 lm32/t-elf t-softfp-sfdf t-softfp"
682e4b17023SJohn Marino	;;
683e4b17023SJohn Marinolm32-*-rtems*)
684e4b17023SJohn Marino        tmake_file="$tmake_file lm32/t-lm32 lm32/t-elf t-softfp-sfdf t-softfp"
685e4b17023SJohn Marino        extra_parts="$extra_parts crti.o crtn.o"
686e4b17023SJohn Marino	;;
687e4b17023SJohn Marinolm32-*-uclinux*)
688e4b17023SJohn Marino        extra_parts="$extra_parts crtbegin.o crtendS.o crtbeginT.o"
689e4b17023SJohn Marino        tmake_file="lm32/t-lm32 lm32/t-uclinux t-libgcc-pic t-softfp-sfdf t-softfp"
690e4b17023SJohn Marino	;;
691e4b17023SJohn Marinom32r-*-elf*)
692e4b17023SJohn Marino	tmake_file=t-fdpbit
693e4b17023SJohn Marino 	;;
694e4b17023SJohn Marinom32r-*-rtems*)
695e4b17023SJohn Marino	tmake_file="$tmake_file m32r/t-m32r t-fdpbit"
6965ce9237cSJohn Marino	extra_parts="$extra_parts crtinit.o crtfini.o"
697e4b17023SJohn Marino	;;
698e4b17023SJohn Marinom32rle-*-elf*)
699e4b17023SJohn Marino	tmake_file=t-fdpbit
700e4b17023SJohn Marino	;;
701e4b17023SJohn Marinom32r-*-linux*)
702e4b17023SJohn Marino	tmake_file="$tmake_file m32r/t-linux t-fdpbit"
703e4b17023SJohn Marino 	;;
704e4b17023SJohn Marinom32rle-*-linux*)
705e4b17023SJohn Marino	tmake_file="$tmake_file m32r/t-linux t-fdpbit"
706e4b17023SJohn Marino	;;
707e4b17023SJohn Marinom68k-*-elf* | fido-*-elf)
708e4b17023SJohn Marino	tmake_file="$tmake_file m68k/t-floatlib"
709e4b17023SJohn Marino	;;
710e4b17023SJohn Marinom68k*-*-netbsdelf*)
711e4b17023SJohn Marino	;;
712e4b17023SJohn Marinom68k*-*-openbsd*)
713e4b17023SJohn Marino	;;
714e4b17023SJohn Marinom68k-*-uclinux*)	# Motorola m68k/ColdFire running uClinux with uClibc
715e4b17023SJohn Marino	tmake_file="$tmake_file m68k/t-floatlib m68k/t-linux"
716e4b17023SJohn Marino	md_unwind_header=m68k/linux-unwind.h
717e4b17023SJohn Marino	;;
718e4b17023SJohn Marinom68k-*-linux*)			# Motorola m68k's running GNU/Linux
719e4b17023SJohn Marino				# with ELF format using glibc 2
720e4b17023SJohn Marino				# aka the GNU/Linux C library 6.
721e4b17023SJohn Marino	tmake_file="$tmake_file m68k/t-floatlib m68k/t-linux"
722e4b17023SJohn Marino	# If not configured with --enable-sjlj-exceptions, bump the
723e4b17023SJohn Marino	# libgcc version number.
724e4b17023SJohn Marino	if test x$enable_sjlj_exceptions != xyes; then
725e4b17023SJohn Marino	    tmake_file="$tmake_file m68k/t-slibgcc-elf-ver"
726e4b17023SJohn Marino	fi
727e4b17023SJohn Marino	md_unwind_header=m68k/linux-unwind.h
728e4b17023SJohn Marino	;;
729e4b17023SJohn Marinom68k-*-rtems*)
730e4b17023SJohn Marino	tmake_file="$tmake_file m68k/t-floatlib"
731e4b17023SJohn Marino	extra_parts="$extra_parts crti.o crtn.o"
732e4b17023SJohn Marino	;;
733e4b17023SJohn Marinomcore-*-elf)
734e4b17023SJohn Marino	tmake_file="mcore/t-mcore t-fdpbit"
735e4b17023SJohn Marino	extra_parts="$extra_parts crti.o crtn.o"
736e4b17023SJohn Marino	;;
737e4b17023SJohn Marinomicroblaze*-linux*)
738e4b17023SJohn Marino        tmake_file="$tmake_file t-slibgcc-nolc-override microblaze/t-microblaze t-fdpbit"
739e4b17023SJohn Marino	;;
740e4b17023SJohn Marinomicroblaze*-*-*)
741e4b17023SJohn Marino        tmake_file="microblaze/t-microblaze t-fdpbit"
742e4b17023SJohn Marino	extra_parts="crtbegin.o crtend.o crti.o crtn.o"
743e4b17023SJohn Marino	;;
744e4b17023SJohn Marinomips-sgi-irix6.5*)
745e4b17023SJohn Marino	tmake_file="$tmake_file mips/t-irix6 t-crtfm mips/t-tpbit t-slibgcc mips/t-slibgcc-irix"
746e4b17023SJohn Marino	extra_parts="crtbegin.o crtend.o crtfastmath.o irix-crti.o irix-crtn.o"
747e4b17023SJohn Marino	md_unwind_header=mips/irix6-unwind.h
748e4b17023SJohn Marino	;;
749e4b17023SJohn Marinomips*-*-netbsd*)			# NetBSD/mips, either endian.
750e4b17023SJohn Marino	;;
751e4b17023SJohn Marinomips*-*-linux*)				# Linux MIPS, either endian.
752e4b17023SJohn Marino	extra_parts="$extra_parts crtfastmath.o"
753e4b17023SJohn Marino	tmake_file="${tmake_file} t-crtfm mips/t-mips16"
754e4b17023SJohn Marino	md_unwind_header=mips/linux-unwind.h
755e4b17023SJohn Marino	if test "${ac_cv_sizeof_long_double}" = 16; then
756e4b17023SJohn Marino		tmake_file="${tmake_file} mips/t-tpbit"
757e4b17023SJohn Marino	fi
758e4b17023SJohn Marino	;;
759e4b17023SJohn Marinomips*-*-openbsd*)
760e4b17023SJohn Marino	;;
761e4b17023SJohn Marinomips*-sde-elf*)
762e4b17023SJohn Marino	tmake_file="$tmake_file mips/t-crtstuff mips/t-mips16"
763e4b17023SJohn Marino	case "${with_newlib}" in
764e4b17023SJohn Marino	  yes)
765e4b17023SJohn Marino	    # newlib / libgloss.
766e4b17023SJohn Marino	    ;;
767e4b17023SJohn Marino	  *)
768e4b17023SJohn Marino	    # MIPS toolkit libraries.
769e4b17023SJohn Marino	    tmake_file="$tmake_file mips/t-sdemtk"
770e4b17023SJohn Marino	    ;;
771e4b17023SJohn Marino	esac
772e4b17023SJohn Marino	extra_parts="$extra_parts crti.o crtn.o"
773e4b17023SJohn Marino	;;
774e4b17023SJohn Marinomipsisa32-*-elf* | mipsisa32el-*-elf* | \
775e4b17023SJohn Marinomipsisa32r2-*-elf* | mipsisa32r2el-*-elf* | \
776e4b17023SJohn Marinomipsisa64-*-elf* | mipsisa64el-*-elf* | \
777e4b17023SJohn Marinomipsisa64r2-*-elf* | mipsisa64r2el-*-elf*)
778e4b17023SJohn Marino	tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16"
779e4b17023SJohn Marino	extra_parts="$extra_parts crti.o crtn.o"
780e4b17023SJohn Marino	;;
781e4b17023SJohn Marinomipsisa64sr71k-*-elf*)
782e4b17023SJohn Marino	tmake_file="$tmake_file mips/t-elf mips/t-crtstuff t-fdpbit"
783e4b17023SJohn Marino	extra_parts="$extra_parts crti.o crtn.o"
784e4b17023SJohn Marino        ;;
785e4b17023SJohn Marinomipsisa64sb1-*-elf* | mipsisa64sb1el-*-elf*)
786e4b17023SJohn Marino	tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16"
787e4b17023SJohn Marino	extra_parts="$extra_parts crti.o crtn.o"
788e4b17023SJohn Marino	;;
789e4b17023SJohn Marinomips-*-elf* | mipsel-*-elf*)
790e4b17023SJohn Marino	tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16"
791e4b17023SJohn Marino	extra_parts="$extra_parts crti.o crtn.o"
792e4b17023SJohn Marino	;;
793e4b17023SJohn Marinomips64-*-elf* | mips64el-*-elf*)
794e4b17023SJohn Marino	tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16"
795e4b17023SJohn Marino	extra_parts="$extra_parts crti.o crtn.o"
796e4b17023SJohn Marino	;;
797e4b17023SJohn Marinomips64vr-*-elf* | mips64vrel-*-elf*)
798e4b17023SJohn Marino	tmake_file="$tmake_file mips/t-elf mips/t-vr mips/t-crtstuff"
799e4b17023SJohn Marino	extra_parts="$extra_parts crti.o crtn.o"
800e4b17023SJohn Marino        ;;
801e4b17023SJohn Marinomips64orion-*-elf* | mips64orionel-*-elf*)
802e4b17023SJohn Marino	tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16"
803e4b17023SJohn Marino	extra_parts="$extra_parts crti.o crtn.o"
804e4b17023SJohn Marino	;;
805e4b17023SJohn Marinomips*-*-rtems*)
806e4b17023SJohn Marino	tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16"
807e4b17023SJohn Marino	extra_parts="$extra_parts crti.o crtn.o"
808e4b17023SJohn Marino	;;
809e4b17023SJohn Marinomips-wrs-vxworks)
810e4b17023SJohn Marino	;;
811e4b17023SJohn Marinomipstx39-*-elf* | mipstx39el-*-elf*)
812e4b17023SJohn Marino	tmake_file="$tmake_file mips/t-crtstuff mips/t-mips16"
813e4b17023SJohn Marino	;;
814e4b17023SJohn Marinommix-knuth-mmixware)
815e4b17023SJohn Marino	extra_parts="crti.o crtn.o crtbegin.o crtend.o"
816e4b17023SJohn Marino	tmake_file="${tmake_file} ${cpu_type}/t-${cpu_type}"
817e4b17023SJohn Marino	;;
818e4b17023SJohn Marinomn10300-*-*)
819e4b17023SJohn Marino	tmake_file=t-fdpbit
820e4b17023SJohn Marino	;;
821e4b17023SJohn Marinomoxie-*-elf | moxie-*-uclinux*)
822e4b17023SJohn Marino	tmake_file="moxie/t-moxie t-softfp-sfdf t-softfp-excl t-softfp"
823e4b17023SJohn Marino	extra_parts="$extra_parts crti.o crtn.o"
824e4b17023SJohn Marino	;;
825e4b17023SJohn Marinomoxie-*-rtems*)
826e4b17023SJohn Marino	tmake_file="$tmake_file moxie/t-moxie t-softfp-sfdf t-softfp-excl t-softfp"
827e4b17023SJohn Marino	# Don't use default.
828e4b17023SJohn Marino	extra_parts=
829e4b17023SJohn Marino	;;
830e4b17023SJohn Marinopdp11-*-*)
831e4b17023SJohn Marino	tmake_file="pdp11/t-pdp11 t-fdpbit"
832e4b17023SJohn Marino	;;
833e4b17023SJohn Marinopicochip-*-*)
834e4b17023SJohn Marino	tmake_file="picochip/t-picochip t-fpbit"
835e4b17023SJohn Marino        ;;
836e4b17023SJohn Marinopowerpc-*-darwin*)
837e4b17023SJohn Marino	case ${host} in
838e4b17023SJohn Marino	*-*-darwin9* | *-*-darwin[12][0-9]*)
839e4b17023SJohn Marino	  # libSystem contains unwind information for signal frames since
840e4b17023SJohn Marino	  # Darwin 9.
841e4b17023SJohn Marino	  ;;
842e4b17023SJohn Marino	*)
843e4b17023SJohn Marino	  md_unwind_header=rs6000/darwin-unwind.h
844e4b17023SJohn Marino	  ;;
845e4b17023SJohn Marino	esac
846e4b17023SJohn Marino	tmake_file="$tmake_file rs6000/t-ibm-ldouble"
847e4b17023SJohn Marino	extra_parts="$extra_parts crt2.o"
848e4b17023SJohn Marino	;;
849e4b17023SJohn Marinopowerpc64-*-darwin*)
850e4b17023SJohn Marino	tmake_file="$tmake_file rs6000/t-darwin64 rs6000/t-ibm-ldouble"
851e4b17023SJohn Marino	extra_parts="$extra_parts crt2.o"
852e4b17023SJohn Marino	;;
853e4b17023SJohn Marinopowerpc*-*-freebsd*)
854e4b17023SJohn Marino	tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-savresfgpr rs6000/t-crtstuff rs6000/t-freebsd t-softfp-sfdf t-softfp-excl t-softfp"
855e4b17023SJohn Marino	extra_parts="$extra_parts crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
856e4b17023SJohn Marino	case ${host} in
857e4b17023SJohn Marino	powerpc64*)
858e4b17023SJohn Marino	  tmake_file="${tmake_file} rs6000/t-freebsd64"
859e4b17023SJohn Marino	  md_unwind_header=rs6000/freebsd-unwind.h
860e4b17023SJohn Marino	  ;;
861e4b17023SJohn Marino	esac
862e4b17023SJohn Marino	;;
863e4b17023SJohn Marinopowerpc-*-netbsd*)
864e4b17023SJohn Marino	tmake_file="$tmake_file rs6000/t-netbsd rs6000/t-crtstuff"
865e4b17023SJohn Marino	;;
866e4b17023SJohn Marinopowerpc-*-eabispe*)
867e4b17023SJohn Marino	tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-savresfgpr rs6000/t-crtstuff t-crtstuff-pic"
868e4b17023SJohn Marino	extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
869e4b17023SJohn Marino	;;
870e4b17023SJohn Marinopowerpc-*-eabisimaltivec*)
871e4b17023SJohn Marino	tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
872e4b17023SJohn Marino	extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
873e4b17023SJohn Marino	;;
874e4b17023SJohn Marinopowerpc-*-eabisim*)
875e4b17023SJohn Marino	tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
876e4b17023SJohn Marino	extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
877e4b17023SJohn Marino	;;
878e4b17023SJohn Marinopowerpc-*-elf*)
879e4b17023SJohn Marino	tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
880e4b17023SJohn Marino	extra_parts="$extra_parts crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
881e4b17023SJohn Marino	;;
882e4b17023SJohn Marinopowerpc-*-eabialtivec*)
883e4b17023SJohn Marino	tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
884e4b17023SJohn Marino	extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
885e4b17023SJohn Marino	;;
886e4b17023SJohn Marinopowerpc-xilinx-eabi*)
887e4b17023SJohn Marino	tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
888e4b17023SJohn Marino	extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
889e4b17023SJohn Marino	;;
890e4b17023SJohn Marinopowerpc-*-eabi*)
891e4b17023SJohn Marino	tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-savresfgpr rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
892e4b17023SJohn Marino	extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
893e4b17023SJohn Marino	;;
894e4b17023SJohn Marinopowerpc-*-rtems*)
8955ce9237cSJohn Marino	tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-savresfgpr rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
896e4b17023SJohn Marino	extra_parts="$extra_parts crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
897e4b17023SJohn Marino	;;
898e4b17023SJohn Marinopowerpc-*-linux* | powerpc64-*-linux*)
899e4b17023SJohn Marino	tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-savresfgpr rs6000/t-crtstuff rs6000/t-linux t-softfp-sfdf t-softfp-excl t-dfprules rs6000/t-ppc64-fp t-softfp t-slibgcc-libgcc"
900e4b17023SJohn Marino	extra_parts="$extra_parts ecrti.o ecrtn.o ncrti.o ncrtn.o"
901e4b17023SJohn Marino	md_unwind_header=rs6000/linux-unwind.h
902e4b17023SJohn Marino	;;
903e4b17023SJohn Marinopowerpc-wrs-vxworks|powerpc-wrs-vxworksae)
904e4b17023SJohn Marino	tmake_file="$tmake_file rs6000/t-ppccomm t-fdpbit"
905e4b17023SJohn Marino	;;
906e4b17023SJohn Marinopowerpc-*-lynxos*)
907e4b17023SJohn Marino	tmake_file="$tmake_file rs6000/t-lynx t-fdpbit"
908e4b17023SJohn Marino	;;
909e4b17023SJohn Marinopowerpcle-*-elf*)
910e4b17023SJohn Marino	tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
911e4b17023SJohn Marino	extra_parts="$extra_parts crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
912e4b17023SJohn Marino	;;
913e4b17023SJohn Marinopowerpcle-*-eabisim*)
914e4b17023SJohn Marino	tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
915e4b17023SJohn Marino	extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
916e4b17023SJohn Marino	;;
917e4b17023SJohn Marinopowerpcle-*-eabi*)
918e4b17023SJohn Marino	tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
919e4b17023SJohn Marino	extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
920e4b17023SJohn Marino	;;
921e4b17023SJohn Marinors6000-ibm-aix4.[3456789]* | powerpc-ibm-aix4.[3456789]*)
922e4b17023SJohn Marino	md_unwind_header=rs6000/aix-unwind.h
923e4b17023SJohn Marino	tmake_file="t-fdpbit rs6000/t-ppc64-fp rs6000/t-slibgcc-aix rs6000/t-ibm-ldouble"
924e4b17023SJohn Marino	;;
925e4b17023SJohn Marinors6000-ibm-aix5.1.* | powerpc-ibm-aix5.1.*)
926e4b17023SJohn Marino	md_unwind_header=rs6000/aix-unwind.h
927e4b17023SJohn Marino	tmake_file="t-fdpbit rs6000/t-ppc64-fp rs6000/t-slibgcc-aix rs6000/t-ibm-ldouble"
928e4b17023SJohn Marino	;;
929e4b17023SJohn Marinors6000-ibm-aix[56789].* | powerpc-ibm-aix[56789].*)
930e4b17023SJohn Marino	md_unwind_header=rs6000/aix-unwind.h
931e4b17023SJohn Marino	tmake_file="t-fdpbit rs6000/t-ppc64-fp rs6000/t-slibgcc-aix rs6000/t-ibm-ldouble"
932e4b17023SJohn Marino	;;
933e4b17023SJohn Marinorl78-*-elf)
934e4b17023SJohn Marino	tmake_file="$tm_file t-fdpbit rl78/t-rl78"
935e4b17023SJohn Marino	;;
936e4b17023SJohn Marinorx-*-elf)
937e4b17023SJohn Marino	tmake_file="rx/t-rx t-fdpbit"
938e4b17023SJohn Marino	tm_file="$tm_file rx/rx-abi.h rx/rx-lib.h"
939e4b17023SJohn Marino	;;
940e4b17023SJohn Marinos390-*-linux*)
941e4b17023SJohn Marino	tmake_file="${tmake_file} s390/t-crtstuff s390/t-linux s390/32/t-floattodi"
942e4b17023SJohn Marino	md_unwind_header=s390/linux-unwind.h
943e4b17023SJohn Marino	;;
944e4b17023SJohn Marinos390x-*-linux*)
945e4b17023SJohn Marino	tmake_file="${tmake_file} s390/t-crtstuff s390/t-linux"
946e4b17023SJohn Marino	md_unwind_header=s390/linux-unwind.h
947e4b17023SJohn Marino	;;
948e4b17023SJohn Marinos390x-ibm-tpf*)
949e4b17023SJohn Marino	tmake_file="${tmake_file} s390/t-crtstuff t-libgcc-pic t-eh-dw2-dip"
950e4b17023SJohn Marino	extra_parts="crtbeginS.o crtendS.o"
951e4b17023SJohn Marino	md_unwind_header=s390/tpf-unwind.h
952e4b17023SJohn Marino	;;
953e4b17023SJohn Marinoscore-*-elf)
954e4b17023SJohn Marino	tmake_file="${tmake_file} t-softfp-sfdf t-softfp-excl t-softfp"
955e4b17023SJohn Marino	extra_parts="$extra_parts crti.o crtn.o"
956e4b17023SJohn Marino        ;;
957e4b17023SJohn Marinosh-*-elf* | sh[12346l]*-*-elf*)
958e4b17023SJohn Marino	tmake_file="$tmake_file sh/t-sh t-crtstuff-pic t-fdpbit"
959e4b17023SJohn Marino	extra_parts="$extra_parts crt1.o crti.o crtn.o crtbeginS.o crtendS.o \
960e4b17023SJohn Marino		libic_invalidate_array_4-100.a \
961e4b17023SJohn Marino		libic_invalidate_array_4-200.a \
962e4b17023SJohn Marino		libic_invalidate_array_4a.a \
963e4b17023SJohn Marino		libgcc-Os-4-200.a libgcc-4-300.a"
964e4b17023SJohn Marino	case ${host} in sh64*-*-*)
965e4b17023SJohn Marino		tmake_file="$tmake_file sh/t-sh64"
966e4b17023SJohn Marino		;;
967e4b17023SJohn Marino	esac
968e4b17023SJohn Marino	case ${host} in
969e4b17023SJohn Marino	sh*-superh-elf)
970e4b17023SJohn Marino		tmake_file="$tmake_file sh/t-superh"
971e4b17023SJohn Marino		extra_parts="$extra_parts crt1-mmu.o gcrt1-mmu.o gcrt1.o"
972e4b17023SJohn Marino 		;;
973e4b17023SJohn Marino 	esac
974e4b17023SJohn Marino	;;
975e4b17023SJohn Marinosh-*-linux* | sh[2346lbe]*-*-linux*)
976e4b17023SJohn Marino	tmake_file="${tmake_file} sh/t-sh t-slibgcc-libgcc sh/t-linux t-fdpbit"
977e4b17023SJohn Marino	case ${host} in sh64*-*-linux*)
978e4b17023SJohn Marino		tmake_file="$tmake_file sh/t-sh64"
979e4b17023SJohn Marino		;;
980e4b17023SJohn Marino	esac
981e4b17023SJohn Marino	md_unwind_header=sh/linux-unwind.h
982e4b17023SJohn Marino	;;
983e4b17023SJohn Marinosh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \
984e4b17023SJohn Marino  sh64-*-netbsd* | sh64l*-*-netbsd*)
985e4b17023SJohn Marino	tmake_file="$tmake_file sh/t-sh sh/t-netbsd"
986e4b17023SJohn Marino	case ${host} in
987e4b17023SJohn Marino	sh5*-*-netbsd* | sh64*-netbsd*)
988e4b17023SJohn Marino		tmake_file="$tmake_file sh/t-sh64"
989e4b17023SJohn Marino		;;
990e4b17023SJohn Marino	esac
991e4b17023SJohn Marino	# NetBSD's C library includes a fast software FP library that
992e4b17023SJohn Marino	# has support for setting/setting the rounding mode, exception
993e4b17023SJohn Marino	# mask, etc.  Therefore, we don't want to include software FP
994e4b17023SJohn Marino	# in libgcc.
995e4b17023SJohn Marino	;;
996e4b17023SJohn Marinosh-*-rtems*)
997e4b17023SJohn Marino	tmake_file="$tmake_file sh/t-sh t-crtstuff-pic t-fdpbit"
998e4b17023SJohn Marino	extra_parts="$extra_parts crt1.o crti.o crtn.o crtbeginS.o crtendS.o \
9995ce9237cSJohn Marino		libic_invalidate_array_4-100.a \
10005ce9237cSJohn Marino		libic_invalidate_array_4-200.a \
10015ce9237cSJohn Marino		libic_invalidate_array_4a.a \
10025ce9237cSJohn Marino		libgcc-Os-4-200.a libgcc-4-300.a"
1003e4b17023SJohn Marino	;;
1004e4b17023SJohn Marinosh-wrs-vxworks)
1005e4b17023SJohn Marino	tmake_file="$tmake_file sh/t-sh t-crtstuff-pic t-fdpbit"
1006e4b17023SJohn Marino	;;
1007e4b17023SJohn Marinosparc-*-netbsdelf*)
1008e4b17023SJohn Marino	;;
1009e4b17023SJohn Marinosparc64-*-openbsd*)
1010e4b17023SJohn Marino	;;
1011e4b17023SJohn Marinosparc-*-elf*)
1012e4b17023SJohn Marino	case ${host} in
1013e4b17023SJohn Marino	*-leon[3-9]*)
1014e4b17023SJohn Marino		;;
1015e4b17023SJohn Marino	*)
1016e4b17023SJohn Marino	  	tmake_file="sparc/t-softmul"
1017e4b17023SJohn Marino	  	;;
1018e4b17023SJohn Marino	esac
1019e4b17023SJohn Marino	tmake_file="${tmake_file} t-fdpbit t-crtfm"
1020e4b17023SJohn Marino	extra_parts="$extra_parts crti.o crtn.o crtfastmath.o"
1021e4b17023SJohn Marino	;;
1022e4b17023SJohn Marinosparc-*-linux*)		# SPARC's running GNU/Linux, libc6
1023e4b17023SJohn Marino	tmake_file="${tmake_file} t-crtfm"
1024e4b17023SJohn Marino	if test "${host_address}" = 64; then
1025e4b17023SJohn Marino		tmake_file="$tmake_file sparc/t-linux64"
1026e4b17023SJohn Marino	fi
1027e4b17023SJohn Marino	case ${host} in
1028e4b17023SJohn Marino	*-leon*)
1029e4b17023SJohn Marino		tmake_file="${tmake_file} t-fdpbit"
1030e4b17023SJohn Marino		;;
1031e4b17023SJohn Marino	*)
1032e4b17023SJohn Marino		tmake_file="${tmake_file} sparc/t-linux"
1033e4b17023SJohn Marino		;;
1034e4b17023SJohn Marino	esac
1035e4b17023SJohn Marino	case ${host} in
1036e4b17023SJohn Marino	*-leon[3-9]*)
1037e4b17023SJohn Marino		;;
1038e4b17023SJohn Marino	*)
1039e4b17023SJohn Marino		if test "${host_address}" = 32; then
1040e4b17023SJohn Marino			tmake_file="$tmake_file sparc/t-softmul"
1041e4b17023SJohn Marino		fi
1042e4b17023SJohn Marino	  	;;
1043e4b17023SJohn Marino	esac
1044e4b17023SJohn Marino	extra_parts="$extra_parts crtfastmath.o"
1045e4b17023SJohn Marino	md_unwind_header=sparc/linux-unwind.h
1046e4b17023SJohn Marino	;;
1047e4b17023SJohn Marinosparc-*-rtems*)
1048e4b17023SJohn Marino	tmake_file="$tmake_file sparc/t-elf sparc/t-softmul t-crtfm t-fdpbit"
1049e4b17023SJohn Marino	extra_parts="$extra_parts crti.o crtn.o crtfastmath.o"
1050e4b17023SJohn Marino	;;
1051e4b17023SJohn Marinosparc*-*-solaris2*)
1052e4b17023SJohn Marino	tmake_file="$tmake_file t-crtfm"
1053e4b17023SJohn Marino	extra_parts="$extra_parts crtfastmath.o"
1054e4b17023SJohn Marino	md_unwind_header=sparc/sol2-unwind.h
1055e4b17023SJohn Marino	;;
1056e4b17023SJohn Marinosparc64-*-elf*)
1057e4b17023SJohn Marino	tmake_file="${tmake_file} t-crtfm"
1058e4b17023SJohn Marino	extra_parts="$extra_parts crti.o crtn.o crtfastmath.o"
1059e4b17023SJohn Marino	;;
1060e4b17023SJohn Marinosparc64-*-rtems*)
10615ce9237cSJohn Marino	tmake_file="$tmake_file t-crtfm"
1062e4b17023SJohn Marino	extra_parts="$extra_parts crti.o crtn.o crtfastmath.o"
1063e4b17023SJohn Marino	;;
1064e4b17023SJohn Marinosparc-wrs-vxworks)
1065e4b17023SJohn Marino	;;
1066e4b17023SJohn Marinosparc64-*-freebsd*|ultrasparc-*-freebsd*)
1067e4b17023SJohn Marino	tmake_file="$tmake_file t-crtfm"
1068e4b17023SJohn Marino	extra_parts="$extra_parts crtfastmath.o"
1069e4b17023SJohn Marino	;;
1070e4b17023SJohn Marinosparc64-*-linux*)		# 64-bit SPARC's running GNU/Linux
1071e4b17023SJohn Marino	extra_parts="$extra_parts crtfastmath.o"
1072e4b17023SJohn Marino	tmake_file="${tmake_file} t-crtfm sparc/t-linux"
1073e4b17023SJohn Marino	if test "${host_address}" = 64; then
1074e4b17023SJohn Marino		tmake_file="${tmake_file} sparc/t-linux64"
1075e4b17023SJohn Marino	fi
1076e4b17023SJohn Marino	if test "${host_address}" = 32; then
1077e4b17023SJohn Marino		tmake_file="${tmake_file} sparc/t-softmul"
1078e4b17023SJohn Marino	fi
1079e4b17023SJohn Marino	md_unwind_header=sparc/linux-unwind.h
1080e4b17023SJohn Marino	;;
1081e4b17023SJohn Marinosparc64-*-netbsd*)
1082e4b17023SJohn Marino	;;
1083e4b17023SJohn Marinospu-*-elf*)
1084e4b17023SJohn Marino	tmake_file="$tmake_file spu/t-elf t-libgcc-pic t-fdpbit"
1085e4b17023SJohn Marino	extra_parts="$extra_parts \
1086e4b17023SJohn Marino		libgcc_cachemgr.a libgcc_cachemgr_nonatomic.a \
1087e4b17023SJohn Marino		libgcc_cache8k.a libgcc_cache16k.a libgcc_cache32k.a \
1088e4b17023SJohn Marino		libgcc_cache64k.a libgcc_cache128k.a"
1089e4b17023SJohn Marino	;;
1090e4b17023SJohn Marinotic6x-*-uclinux)
1091e4b17023SJohn Marino	tmake_file="${tmake_file} t-softfp-sfdf t-softfp-excl t-softfp \
1092e4b17023SJohn Marino		c6x/t-elf  c6x/t-uclinux t-crtstuff-pic t-libgcc-pic \
1093e4b17023SJohn Marino		t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver t-gnu-prefix"
1094e4b17023SJohn Marino	tm_file="$tm_file c6x/c6x-abi.h"
1095e4b17023SJohn Marino	extra_parts="$extra_parts crtbeginS.o crtendS.o crti.o crtn.o"
1096e4b17023SJohn Marino	unwind_header=config/c6x/unwind-c6x.h
1097e4b17023SJohn Marino	;;
1098e4b17023SJohn Marinotic6x-*-elf)
1099e4b17023SJohn Marino	tmake_file="${tmake_file} t-softfp-sfdf t-softfp-excl t-softfp t-gnu-prefix c6x/t-elf"
1100e4b17023SJohn Marino	tm_file="$tm_file c6x/c6x-abi.h"
1101e4b17023SJohn Marino	extra_parts="$extra_parts crtbeginS.o crtendS.o crti.o crtn.o"
1102e4b17023SJohn Marino	unwind_header=config/c6x/unwind-c6x.h
1103e4b17023SJohn Marino	;;
1104e4b17023SJohn Marinotilegx-*-linux*)
1105e4b17023SJohn Marino	tmake_file="${tmake_file} tilegx/t-crtstuff t-softfp-sfdf tilegx/t-softfp t-softfp tilegx/t-tilegx"
1106e4b17023SJohn Marino	md_unwind_header=tilepro/linux-unwind.h
1107e4b17023SJohn Marino        ;;
1108e4b17023SJohn Marinotilepro-*-linux*)
1109e4b17023SJohn Marino	tmake_file="${tmake_file} tilepro/t-crtstuff t-softfp-sfdf t-softfp tilepro/t-tilepro"
1110e4b17023SJohn Marino	md_unwind_header=tilepro/linux-unwind.h
1111e4b17023SJohn Marino        ;;
1112e4b17023SJohn Marinov850*-*-*)
1113*95d28233SJohn Marino	tmake_file="${tmake_file} v850/t-v850 t-fdpbit"
1114e4b17023SJohn Marino	;;
1115e4b17023SJohn Marinovax-*-linux*)
1116e4b17023SJohn Marino	tmake_file="$tmake_file vax/t-linux"
1117e4b17023SJohn Marino	;;
1118e4b17023SJohn Marinovax-*-netbsdelf*)
1119e4b17023SJohn Marino	;;
1120e4b17023SJohn Marinovax-*-openbsd*)
1121e4b17023SJohn Marino	;;
1122e4b17023SJohn Marinoxstormy16-*-elf)
1123e4b17023SJohn Marino	tmake_file="stormy16/t-stormy16 t-fdpbit"
1124e4b17023SJohn Marino	;;
1125e4b17023SJohn Marinoxtensa*-*-elf*)
1126e4b17023SJohn Marino	tmake_file="$tmake_file xtensa/t-xtensa xtensa/t-elf"
1127e4b17023SJohn Marino	extra_parts="$extra_parts crti.o crtn.o"
1128e4b17023SJohn Marino	;;
1129e4b17023SJohn Marinoxtensa*-*-linux*)
1130*95d28233SJohn Marino	tmake_file="$tmake_file xtensa/t-xtensa xtensa/t-linux t-slibgcc-libgcc"
1131e4b17023SJohn Marino	md_unwind_header=xtensa/linux-unwind.h
1132e4b17023SJohn Marino	;;
1133e4b17023SJohn Marinoam33_2.0-*-linux*)
1134e4b17023SJohn Marino	# Don't need crtbeginT.o from *-*-linux* default.
1135e4b17023SJohn Marino	extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
1136e4b17023SJohn Marino	tmake_file="$tmake_file t-fdpbit"
1137e4b17023SJohn Marino	;;
1138e4b17023SJohn Marinom32c-*-elf*|m32c-*-rtems*)
1139e4b17023SJohn Marino	tmake_file="$tmake_file m32c/t-m32c"
1140e4b17023SJohn Marino 	;;
1141e4b17023SJohn Marinomep*-*-*)
1142e4b17023SJohn Marino	tmake_file="mep/t-mep t-fdpbit"
1143e4b17023SJohn Marino	extra_parts="crtbegin.o crtend.o"
1144e4b17023SJohn Marino	;;
1145e4b17023SJohn Marino*)
1146e4b17023SJohn Marino	echo "*** Configuration ${host} not supported" 1>&2
1147e4b17023SJohn Marino	exit 1
1148e4b17023SJohn Marino	;;
1149e4b17023SJohn Marinoesac
1150e4b17023SJohn Marino
1151e4b17023SJohn Marinocase ${host} in
1152e4b17023SJohn Marinoi[34567]86-*-linux* | x86_64-*-linux* | \
1153e4b17023SJohn Marino  i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu | \
1154e4b17023SJohn Marino  i[34567]86-*-knetbsd*-gnu | \
1155e4b17023SJohn Marino  i[34567]86-*-gnu*)
1156e4b17023SJohn Marino	tmake_file="${tmake_file} t-tls i386/t-linux"
1157e4b17023SJohn Marino	if test "$libgcc_cv_cfi" = "yes"; then
1158e4b17023SJohn Marino		tmake_file="${tmake_file} t-stack i386/t-stack-i386"
1159e4b17023SJohn Marino	fi
1160e4b17023SJohn Marino	;;
1161e4b17023SJohn Marinoesac
1162e4b17023SJohn Marino
1163e4b17023SJohn Marinocase ${host} in
1164e4b17023SJohn Marinoi[34567]86-*-darwin* | x86_64-*-darwin* | \
1165e4b17023SJohn Marino  i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu | \
1166e4b17023SJohn Marino  i[34567]86-*-linux* | x86_64-*-linux* | \
1167e4b17023SJohn Marino  i[34567]86-*-gnu* | \
1168e4b17023SJohn Marino  i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]* | \
1169e4b17023SJohn Marino  i[34567]86-*-cygwin* | i[34567]86-*-mingw* | x86_64-*-mingw* | \
1170e4b17023SJohn Marino  i[34567]86-*-freebsd* | x86_64-*-freebsd*)
1171e4b17023SJohn Marino  	tmake_file="${tmake_file} t-softfp-tf"
1172e4b17023SJohn Marino	if test "${host_address}" = 32; then
1173e4b17023SJohn Marino		tmake_file="${tmake_file} i386/${host_address}/t-softfp"
1174e4b17023SJohn Marino	fi
1175e4b17023SJohn Marino	tmake_file="${tmake_file} t-softfp"
1176e4b17023SJohn Marino	;;
1177e4b17023SJohn Marinoesac
1178e4b17023SJohn Marino
1179e4b17023SJohn Marinocase ${host} in
1180e4b17023SJohn Marinoi[34567]86-*-linux* | x86_64-*-linux*)
1181e4b17023SJohn Marino	# Provide backward binary compatibility for 64bit Linux/x86.
1182e4b17023SJohn Marino	if test "${host_address}" = 64; then
1183e4b17023SJohn Marino		tmake_file="${tmake_file} i386/${host_address}/t-softfp-compat"
1184e4b17023SJohn Marino	fi
1185e4b17023SJohn Marino	tm_file="${tm_file} i386/value-unwind.h"
1186e4b17023SJohn Marino	;;
1187e4b17023SJohn Marinoesac
1188