]> git.ipfire.org Git - thirdparty/gcc.git/blame - libgcc/config.host
i386.opt: Add option -mcall-ms2sysv-xlogues.
[thirdparty/gcc.git] / libgcc / config.host
CommitLineData
fa958513 1# libgcc host-specific configuration file.
cbe34bb5 2# Copyright (C) 1997-2017 Free Software Foundation, Inc.
fa958513
DJ
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
748086b7 8#Software Foundation; either version 3, or (at your option) any later
fa958513
DJ
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
748086b7
JJ
17#along with GCC; see the file COPYING3. If not see
18#<http://www.gnu.org/licenses/>.
fa958513
DJ
19
20# This is the libgcc host-specific configuration file
21# where a configuration type is mapped to different system-specific
22# definitions and files. This is invoked by the autoconf-generated
23# configure script. Putting it in a separate shell file lets us skip
24# running autoconf when modifying host-specific information.
25
26# This file bears an obvious resemblance to gcc/config.gcc. The cases
27# should be kept similar, to ease moving library-specific settings
28# from config.gcc to this file. That is also why tmake_file is
29# left as tmake_file, rather than hmake_file, even though this library
30# switches on ${host}.
31
32# This file switches on the shell variable ${host}, and also uses the
33# following shell variables:
34#
35# with_* Various variables as set by configure.
36
37# This file sets the following shell variables for use by the
38# autoconf-generated configure script:
39#
40# asm_hidden_op The assembler pseudo-op to use for hide
41# lists for object files implemented in
42# assembly (with -fvisibility=hidden for C).
43# The default is ".hidden".
44# cpu_type The name of the cpu, if different from the first
45# chunk of the canonical host name.
10e48e39
RO
46# enable_execute_stack The name of a source file implementing
47# __enable_execute_stack.
fa958513
DJ
48# extra_parts List of extra object files that should be compiled
49# for this target machine. This may be overridden
50# by setting EXTRA_PARTS in a tmake_file fragment.
51# If either is set, EXTRA_PARTS and
52# EXTRA_MULTILIB_PARTS inherited from the GCC
53# subdirectory will be ignored.
58cd1d70
RO
54# md_unwind_header The name of a header file defining
55# MD_FALLBACK_FRAME_STATE_FOR.
aca0b0b3
RO
56# sfp_machine_header The name of a sfp-machine.h header file for soft-fp.
57# Defaults to "$cpu_type/sfp-machine.h" if it exists,
58# no-sfp-machine.h otherwise.
fa958513 59# tmake_file A list of machine-description-specific
200feb07 60# makefile fragments.
852b75ed
RO
61# tm_defines List of target macros to define for all compilations.
62# tm_file A list of target macro files used only for code
63# built for the target, not the host. These files
64# are relative to $srcdir/config and must not have
65# the same names as files in $srcdir/../gcc/config.
201cdb74
RO
66# unwind_header The name of the header file declaring the unwind
67# runtime interface routines.
fa958513
DJ
68
69asm_hidden_op=.hidden
10e48e39 70enable_execute_stack=
fa958513
DJ
71extra_parts=
72tmake_file=
852b75ed
RO
73tm_file=
74tm_define=
58cd1d70 75md_unwind_header=no-unwind.h
201cdb74 76unwind_header=unwind-generic.h
fa958513
DJ
77
78# Set default cpu_type so it can be updated in each machine entry.
79cpu_type=`echo ${host} | sed 's/-.*$//'`
80case ${host} in
81m32c*-*-*)
82 cpu_type=m32c
569dc494 83 tmake_file=t-fdpbit
fa958513 84 ;;
1e3d5096
IB
85aarch64*-*-*)
86 cpu_type=aarch64
87 ;;
fa958513
DJ
88alpha*-*-*)
89 cpu_type=alpha
90 ;;
91am33_2.0-*-linux*)
92 cpu_type=mn10300
93 ;;
d38a64b4
JR
94arc*-*-*)
95 cpu_type=arc
96 ;;
fa958513
DJ
97arm*-*-*)
98 cpu_type=arm
99 ;;
47583040
AH
100avr-*-*)
101 cpu_type=avr
102 ;;
fa958513
DJ
103bfin*-*)
104 cpu_type=bfin
105 ;;
b25364a0
S
106cr16-*-*)
107 ;;
0e499e75
HPN
108crisv32-*-*)
109 cpu_type=cris
110 ;;
7d33c31d
KH
111fido-*-*)
112 cpu_type=m68k
113 ;;
fa958513
DJ
114frv*) cpu_type=frv
115 ;;
fef939d6
JB
116ft32*) cpu_type=ft32
117 ;;
cceb575c
AG
118moxie*) cpu_type=moxie
119 ;;
fa958513
DJ
120i[34567]86-*-*)
121 cpu_type=i386
122 ;;
123x86_64-*-*)
124 cpu_type=i386
125 ;;
126ia64-*-*)
127 ;;
cd985f66 128hppa*-*-*)
fa958513
DJ
129 cpu_type=pa
130 ;;
aa4945c1
JB
131lm32*-*-*)
132 cpu_type=lm32
133 ;;
fa958513
DJ
134m32r*-*-*)
135 cpu_type=m32r
136 ;;
fa958513
DJ
137m68k-*-*)
138 ;;
80920132
ME
139microblaze*-*-*)
140 cpu_type=microblaze
141 ;;
fa958513 142mips*-*-*)
1ea0a651 143 # All MIPS targets provide a full set of FP routines.
fa958513 144 cpu_type=mips
1c51d688
RS
145 tmake_file="mips/t-mips"
146 if test "${libgcc_cv_mips_hard_float}" = yes; then
147 tmake_file="${tmake_file} t-hardfp-sfdf t-hardfp"
148 else
149 tmake_file="${tmake_file} t-softfp-sfdf"
150 fi
1ea0a651
RS
151 if test "${ac_cv_sizeof_long_double}" = 16; then
152 tmake_file="${tmake_file} mips/t-softfp-tf"
153 fi
154 if test "${host_address}" = 64; then
155 tmake_file="${tmake_file} mips/t-mips64"
156 fi
157 tmake_file="${tmake_file} t-softfp"
fa958513 158 ;;
9304f876
CJW
159nds32*-*)
160 cpu_type=nds32
161 ;;
e430824f
CLT
162nios2*-*-*)
163 cpu_type=nios2
164 ;;
fa958513
DJ
165powerpc*-*-*)
166 cpu_type=rs6000
167 ;;
168rs6000*-*-*)
169 ;;
0bd99911
PD
170riscv*-*-*)
171 cpu_type=riscv
172 ;;
fa958513
DJ
173sparc64*-*-*)
174 cpu_type=sparc
175 ;;
176sparc*-*-*)
177 cpu_type=sparc
178 ;;
179spu*-*-*)
180 cpu_type=spu
181 ;;
182s390*-*-*)
183 cpu_type=s390
184 ;;
185# Note the 'l'; we need to be able to match e.g. "shle" or "shl".
186sh[123456789lbe]*-*-*)
187 cpu_type=sh
188 ;;
341c653c
WL
189tilegx*-*-*)
190 cpu_type=tilegx
191 ;;
192tilepro*-*-*)
193 cpu_type=tilepro
194 ;;
4be46d19
NC
195v850*-*-*)
196 cpu_type=v850
197 ;;
bcead286
BS
198tic6x-*-*)
199 cpu_type=c6x
200 ;;
fa958513
DJ
201esac
202
203# Common parts for widely ported systems.
204case ${host} in
205*-*-darwin*)
206 asm_hidden_op=.private_extern
f9989b51 207 tmake_file="$tmake_file t-darwin ${cpu_type}/t-darwin t-libgcc-pic t-slibgcc-darwin"
e2362f5d 208 extra_parts="crt3.o crttms.o crttme.o"
fa958513 209 ;;
dbed5a9b
JM
210*-*-dragonfly*)
211 tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip"
212 tmake_file="$tmake_file t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver"
213 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
214 ;;
fa958513
DJ
215*-*-freebsd*)
216 # This is the generic ELF configuration of FreeBSD. Later
217 # machine-specific sections may refine and add to this
218 # configuration.
f9989b51 219 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"
5f73c6cc 220 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
b040f2be
RO
221 case ${target_thread_file} in
222 posix)
f9989b51 223 tmake_file="${tmake_file} t-freebsd-thread"
b040f2be
RO
224 # Before 5.0, FreeBSD can't bind shared libraries to -lc
225 # when "optionally" threaded via weak pthread_* checks.
226 case ${host} in
227 *-*-freebsd[34] | *-*-freebsd[34].*)
228 tmake_file="${tmake_file} t-slibgcc-nolc-override"
229 ;;
230 esac
231 ;;
232 esac
fa958513 233 ;;
7ab8766a
JC
234*-*-fuchsia*)
235 tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip t-slibgcc t-slibgcc-fuchsia"
236 extra_parts="crtbegin.o crtend.o"
237 ;;
8466af06 238*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu)
f9989b51 239 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"
227a7dc8
RO
240 extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
241 if test x$enable_vtable_verify = xyes; then
242 extra_parts="$extra_parts vtv_start.o vtv_end.o vtv_start_preinit.o vtv_end_preinit.o"
243 fi
fa958513 244 ;;
5f73c6cc 245*-*-lynxos*)
f9989b51 246 tmake_file="$tmake_file t-lynx $cpu_type/t-crtstuff t-crtstuff-pic t-libgcc-pic"
5f73c6cc
RO
247 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
248 ;;
fa958513 249*-*-netbsd*)
ab955692
KW
250 tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip"
251 tmake_file="$tmake_file t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver"
5f73c6cc
RO
252 # NetBSD 1.7 and later are set up to use GCC's crtstuff for
253 # ELF configurations. We will clear extra_parts in the
254 # a.out configurations.
255 case ${host} in
256 *-*-netbsd*1.[7-9]* | *-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*)
257 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o"
258 ;;
259 esac
fa958513
DJ
260 ;;
261*-*-openbsd*)
8eaee0f0 262 tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip"
f9989b51
RO
263 case ${target_thread_file} in
264 posix)
265 tmake_file="$tmake_file t-openbsd-thread"
266 ;;
267 esac
fa958513
DJ
268 ;;
269*-*-rtems*)
c9cd1a07 270 tmake_file="$tmake_file t-rtems"
5f73c6cc 271 extra_parts="crtbegin.o crtend.o"
fa958513 272 ;;
ca24c5ad 273*-*-solaris2*)
201cdb74
RO
274 # Unless linker support and dl_iterate_phdr are present,
275 # unwind-dw2-fde-dip.c automatically falls back to unwind-dw2-fde.c.
df2a1cc4 276 tmake_file="$tmake_file sol2/t-sol2 t-eh-dw2-dip t-crtstuff-pic t-libgcc-pic t-slibgcc t-slibgcc-elf-ver"
ca24c5ad
RO
277 if test $with_gnu_ld = yes; then
278 tmake_file="$tmake_file t-slibgcc-gld"
279 else
280 tmake_file="$tmake_file t-slibgcc-sld"
281 fi
282 # Add cpu-specific t-sol2 after t-slibgcc-* so it can augment SHLIB_MAPFILES.
283 tmake_file="$tmake_file $cpu_type/t-sol2"
284 extra_parts="gmon.o crtbegin.o crtend.o"
2d110442
RO
285 if test "${libgcc_cv_solaris_crts}" = yes; then
286 # Solaris 11.x and 12 provide crt1.o, crti.o, and crtn.o as part of the
287 # base system. crtp.o and crtpg.o implement the compiler-dependent parts.
288 extra_parts="$extra_parts crtp.o crtpg.o"
df2a1cc4
RO
289 # If the Solaris CRTs are present, both ld and gld will have PIE support.
290 extra_parts="$extra_parts crtbeginS.o crtendS.o"
2d110442
RO
291 else
292 case ${host} in
293 i?86-*-solaris2.1[0-9]* | x86_64-*-solaris2.1[0-9]*)
294 # Solaris 10+/x86 provides crt1.o, crti.o, crtn.o, and gcrt1.o as
295 # part of the base system.
296 ;;
297 sparc*-*-solaris2.1[0-9]*)
298 # Solaris 10+/SPARC lacks crt1.o and gcrt1.o.
299 extra_parts="$extra_parts crt1.o gcrt1.o"
300 ;;
301 esac
302 fi
e5ef217c
RO
303 if test x$enable_vtable_verify = xyes; then
304 extra_parts="$extra_parts vtv_start.o vtv_end.o vtv_start_preinit.o vtv_end_preinit.o"
305 fi
ca24c5ad 306 ;;
5f73c6cc
RO
307*-*-uclinux*)
308 extra_parts="crtbegin.o crtend.o"
309 ;;
310*-*-*vms*)
311 tmake_file="vms/t-vms"
4b12e93d 312 extra_parts="crt0.o crtbegin.o crtbeginS.o crtend.o crtendS.o"
5f73c6cc 313 ;;
fa958513 314*-*-vxworks*)
f9989b51 315 tmake_file=t-vxworks
fa958513
DJ
316 ;;
317*-*-elf)
5f73c6cc 318 extra_parts="crtbegin.o crtend.o"
fa958513
DJ
319 ;;
320esac
321
10e48e39 322case ${host} in
dbed5a9b
JM
323*-*-darwin* | *-*-dragonfly* | *-*-freebsd* | *-*-netbsd* | *-*-openbsd* | \
324 *-*-solaris2*)
10e48e39
RO
325 enable_execute_stack=enable-execute-stack-mprotect.c
326 ;;
327i[34567]86-*-mingw* | x86_64-*-mingw*)
328 enable_execute_stack=config/i386/enable-execute-stack-mingw32.c
329 ;;
330*)
331 enable_execute_stack=enable-execute-stack-empty.c;
332 ;;
333esac
334
fa958513 335case ${host} in
7cb065d6 336aarch64*-*-elf | aarch64*-*-rtems*)
1e3d5096 337 extra_parts="$extra_parts crtbegin.o crtend.o crti.o crtn.o"
b677236a 338 extra_parts="$extra_parts crtfastmath.o"
1e3d5096 339 tmake_file="${tmake_file} ${cpu_type}/t-aarch64"
b677236a 340 tmake_file="${tmake_file} ${cpu_type}/t-softfp t-softfp t-crtfm"
5636faf2 341 md_unwind_header=aarch64/aarch64-unwind.h
1e3d5096 342 ;;
b20e7532
AT
343aarch64*-*-freebsd*)
344 extra_parts="$extra_parts crtfastmath.o"
345 tmake_file="${tmake_file} ${cpu_type}/t-aarch64"
346 tmake_file="${tmake_file} ${cpu_type}/t-softfp t-softfp t-crtfm"
4ccfdb28 347 md_unwind_header=aarch64/freebsd-unwind.h
b20e7532 348 ;;
7ab8766a
JC
349aarch64*-*-fuchsia*)
350 tmake_file="${tmake_file} ${cpu_type}/t-aarch64"
351 tmake_file="${tmake_file} ${cpu_type}/t-softfp t-softfp"
352 ;;
1e3d5096 353aarch64*-*-linux*)
b677236a 354 extra_parts="$extra_parts crtfastmath.o"
1e3d5096
IB
355 md_unwind_header=aarch64/linux-unwind.h
356 tmake_file="${tmake_file} ${cpu_type}/t-aarch64"
b677236a 357 tmake_file="${tmake_file} ${cpu_type}/t-softfp t-softfp t-crtfm"
1e3d5096 358 ;;
ebb9f8b0 359alpha*-*-linux*)
f9989b51 360 tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee t-crtfm alpha/t-linux"
5ea41e3a 361 extra_parts="$extra_parts crtfastmath.o"
58cd1d70 362 md_unwind_header=alpha/linux-unwind.h
fa958513 363 ;;
fa958513 364alpha*-*-freebsd*)
f9989b51 365 tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee t-crtfm"
5f73c6cc 366 extra_parts="$extra_parts crtbeginT.o crtfastmath.o"
fa958513
DJ
367 ;;
368alpha*-*-netbsd*)
f9989b51 369 tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee"
fa958513
DJ
370 ;;
371alpha*-*-openbsd*)
f9989b51 372 tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee"
fa958513 373 ;;
fa958513 374alpha64-dec-*vms*)
f9989b51 375 tmake_file="$tmake_file alpha/t-alpha alpha/t-ieee alpha/t-vms t-slibgcc-vms"
5f73c6cc 376 extra_parts="$extra_parts vms-dwarf2.o vms-dwarf2eh.o"
58cd1d70 377 md_unwind_header=alpha/vms-unwind.h
fa958513
DJ
378 ;;
379alpha*-dec-*vms*)
f9989b51 380 tmake_file="$tmake_file alpha/t-alpha alpha/t-ieee alpha/t-vms t-slibgcc-vms"
5f73c6cc 381 extra_parts="$extra_parts vms-dwarf2.o vms-dwarf2eh.o"
58cd1d70 382 md_unwind_header=alpha/vms-unwind.h
fa958513 383 ;;
d38a64b4 384arc*-*-elf*)
e04ea1da
CZ
385 tmake_file="arc/t-arc"
386 extra_parts="crti.o crtn.o crtend.o crtbegin.o crtendS.o crtbeginS.o"
387 extra_parts="$extra_parts crttls.o"
d38a64b4
JR
388 ;;
389arc*-*-linux-uclibc*)
e04ea1da
CZ
390 tmake_file="${tmake_file} t-slibgcc-libgcc t-slibgcc-nolc-override arc/t-arc-uClibc arc/t-arc"
391 extra_parts="$extra_parts crti.o crtn.o"
62440b4f 392 extra_parts="$extra_parts crttls.o"
d38a64b4 393 ;;
fa958513 394arm-wrs-vxworks)
1a80085d 395 tmake_file="$tmake_file arm/t-arm arm/t-elf t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp"
5f73c6cc 396 extra_parts="$extra_parts crti.o crtn.o"
fa958513 397 ;;
82a19768
AT
398arm*-*-freebsd*) # ARM FreeBSD EABI
399 tmake_file="${tmake_file} arm/t-arm t-fixedpoint-gnu-prefix arm/t-elf"
8ef2b9a7 400 tmake_file="${tmake_file} arm/t-bpabi arm/t-freebsd"
82a19768
AT
401 tm_file="${tm_file} arm/bpabi-lib.h"
402 unwind_header=config/arm/unwind-arm.h
403 tmake_file="${tmake_file} t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp"
404 ;;
7ab8766a
JC
405arm*-*-fuchsia*)
406 tmake_file="${tmake_file} arm/t-arm arm/t-elf arm/t-bpabi"
407 tmake_file="${tmake_file} arm/tsoftfp t-softfp"
408 tm_file="${tm_file} arm/bpabi-lib.h"
409 unwind_header=config/arm/unwind-arm.h
410 ;;
fa958513 411arm*-*-netbsdelf*)
f9989b51 412 tmake_file="$tmake_file arm/t-arm arm/t-netbsd t-slibgcc-gld-nover"
fa958513 413 ;;
fa958513 414arm*-*-linux*) # ARM GNU/Linux with ELF
5a0ff57c 415 tmake_file="${tmake_file} arm/t-arm t-fixedpoint-gnu-prefix t-crtfm"
5005fe22
RE
416 tmake_file="${tmake_file} arm/t-elf arm/t-bpabi arm/t-linux-eabi t-slibgcc-libgcc"
417 tm_file="$tm_file arm/bpabi-lib.h"
418 unwind_header=config/arm/unwind-arm.h
aca0b0b3 419 tmake_file="$tmake_file t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp"
5a0ff57c 420 extra_parts="$extra_parts crtfastmath.o"
fa958513
DJ
421 ;;
422arm*-*-uclinux*) # ARM ucLinux
5a0ff57c 423 tmake_file="${tmake_file} t-fixedpoint-gnu-prefix t-crtfm"
064c4ff2 424 tmake_file="$tmake_file arm/t-arm arm/t-elf t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp"
5005fe22
RE
425 tmake_file="${tmake_file} arm/t-bpabi"
426 tm_file="$tm_file arm/bpabi-lib.h"
427 unwind_header=config/arm/unwind-arm.h
5f73c6cc 428 extra_parts="$extra_parts crti.o crtn.o"
fa958513 429 ;;
a34c0db5
JS
430arm*-*-phoenix*)
431 tmake_file="t-hardfp t-softfp arm/t-arm arm/t-elf arm/t-softfp arm/t-phoenix"
432 tmake_file="${tmake_file} arm/t-bpabi"
433 tm_file="$tm_file arm/bpabi-lib.h"
434 extra_parts="crtbegin.o crtend.o crti.o crtn.o"
435 unwind_header=config/arm/unwind-arm.h
436 ;;
153c8397 437arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*)
45b86625 438 tmake_file="${tmake_file} arm/t-arm arm/t-elf t-fixedpoint-gnu-prefix"
852b75ed 439 tm_file="$tm_file arm/bpabi-lib.h"
201cdb74 440 case ${host} in
153c8397 441 arm*-*-eabi* | arm*-*-rtems*)
5a0ff57c 442 tmake_file="${tmake_file} arm/t-bpabi t-crtfm"
5f73c6cc 443 extra_parts="crtbegin.o crtend.o crti.o crtn.o"
201cdb74
RO
444 ;;
445 arm*-*-symbianelf*)
b040f2be 446 tmake_file="${tmake_file} arm/t-symbian t-slibgcc-nolc-override"
852b75ed 447 tm_file="$tm_file arm/symbian-lib.h"
5f73c6cc 448 # Symbian OS provides its own startup code.
201cdb74
RO
449 ;;
450 esac
aca0b0b3 451 tmake_file="$tmake_file t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp"
1300f017 452 extra_parts="$extra_parts crtfastmath.o"
201cdb74 453 unwind_header=config/arm/unwind-arm.h
fa958513 454 ;;
fa958513 455avr-*-*)
569dc494
RO
456 # Make HImode functions for AVR
457 tmake_file="${cpu_type}/t-avr t-fpbit"
b588ae30
GJL
458 if test x${with_avrlibc} != xno; then
459 tmake_file="$tmake_file ${cpu_type}/t-avrlibc"
460 fi
852b75ed 461 tm_file="$tm_file avr/avr-lib.h"
fa958513
DJ
462 ;;
463bfin*-elf*)
200feb07 464 tmake_file="bfin/t-bfin bfin/t-crtlibid bfin/t-crtstuff t-libgcc-pic t-fdpbit"
5f73c6cc 465 extra_parts="$extra_parts crtbeginS.o crtendS.o crti.o crtn.o crtlibid.o"
fa958513
DJ
466 ;;
467bfin*-uclinux*)
200feb07 468 tmake_file="bfin/t-bfin bfin/t-crtlibid bfin/t-crtstuff t-libgcc-pic t-fdpbit"
5f73c6cc 469 extra_parts="$extra_parts crtbeginS.o crtendS.o crtlibid.o"
58cd1d70 470 md_unwind_header=bfin/linux-unwind.h
fa958513 471 ;;
344189f9 472bfin*-linux-uclibc*)
200feb07 473 tmake_file="$tmake_file bfin/t-bfin bfin/t-crtstuff t-libgcc-pic t-fdpbit bfin/t-linux"
344189f9
BS
474 # No need to build crtbeginT.o on uClibc systems. Should probably
475 # be moved to the OS specific section above.
476 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
58cd1d70 477 md_unwind_header=bfin/linux-unwind.h
344189f9 478 ;;
569dc494 479bfin*-rtems*)
45b86625 480 tmake_file="$tmake_file bfin/t-bfin t-fdpbit"
5f73c6cc 481 extra_parts="$extra_parts crti.o crtn.o"
569dc494 482 ;;
fa958513 483bfin*-*)
45b86625 484 tmake_file="$tmake_file bfin/t-bfin t-fdpbit"
5f73c6cc 485 extra_parts="crtbegin.o crtend.o crti.o crtn.o"
fa958513 486 ;;
b25364a0
S
487cr16-*-elf)
488 tmake_file="${tmake_file} cr16/t-cr16 cr16/t-crtlibid t-fdpbit"
489 extra_parts="$extra_parts crti.o crtn.o crtlibid.o"
490 ;;
5f73c6cc 491crisv32-*-elf)
0e499e75 492 tmake_file="$tmake_file cris/t-cris t-softfp-sfdf t-softfp"
5f73c6cc 493 ;;
5f73c6cc 494cris-*-elf)
0e499e75 495 tmake_file="$tmake_file cris/t-cris t-softfp-sfdf t-softfp cris/t-elfmulti"
5f73c6cc 496 ;;
4081d704 497cris-*-linux* | crisv32-*-linux*)
0e499e75 498 tmake_file="$tmake_file cris/t-cris t-softfp-sfdf t-softfp cris/t-linux"
fa958513 499 ;;
feeeff5c
JR
500epiphany-*-elf*)
501 tmake_file="epiphany/t-epiphany t-fdpbit epiphany/t-custom-eqsf"
502 extra_parts="$extra_parts crti.o crtint.o crtrunc.o crtm1reg-r43.o crtm1reg-r63.o crtn.o"
503 ;;
fa958513 504fr30-*-elf)
45b86625 505 tmake_file="$tmake_file fr30/t-fr30 t-fdpbit"
5f73c6cc 506 extra_parts="$extra_parts crti.o crtn.o"
fa958513
DJ
507 ;;
508frv-*-elf)
5f73c6cc 509 tmake_file="$tmake_file frv/t-frv t-fdpbit"
cc86234f 510 tm_file="$tm_file frv/elf-lib.h frv/frv-abi.h"
5f73c6cc
RO
511 # Don't use crtbegin.o, crtend.o.
512 extra_parts="frvbegin.o frvend.o"
fa958513
DJ
513 ;;
514frv-*-*linux*)
45b86625 515 tmake_file="$tmake_file frv/t-frv frv/t-linux t-fdpbit"
cc86234f 516 tm_file="$tm_file frv/elf-lib.h frv/frv-abi.h"
fa958513 517 ;;
fef939d6
JB
518ft32-*-elf)
519 tmake_file="ft32/t-ft32 t-softfp-sfdf t-softfp-excl t-softfp"
520 extra_parts="$extra_parts crti.o crti-hw.o crtn.o"
521 ;;
fa958513 522h8300-*-elf*)
45b86625 523 tmake_file="$tmake_file h8300/t-h8300 t-fpbit"
852b75ed 524 tm_file="$tm_file h8300/h8300-lib.h"
5f73c6cc 525 extra_parts="$extra_parts crti.o crtn.o"
fa958513 526 ;;
2f6bd6eb
YS
527h8300-*-linux*)
528 tmake_file="t-linux h8300/t-linux t-softfp-sfdf t-softfp"
529 tm_file="$tm_file h8300/h8300-lib.h"
530 ;;
cd985f66 531hppa*64*-*-linux*)
45b86625 532 tmake_file="$tmake_file pa/t-linux pa/t-linux64"
69778659 533 extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
fa958513 534 ;;
cd985f66 535hppa*-*-linux*)
45b86625 536 tmake_file="$tmake_file pa/t-linux t-slibgcc-libgcc"
b040f2be 537 # Set the libgcc version number
9b92a9f3 538 if test x$ac_cv_sjlj_exceptions = xyes; then
b040f2be
RO
539 tmake_file="$tmake_file pa/t-slibgcc-sjlj-ver"
540 else
541 tmake_file="$tmake_file pa/t-slibgcc-dwarf-ver"
542 fi
69778659 543 extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
0defd786 544 md_unwind_header=pa/linux-unwind.h
fa958513
DJ
545 ;;
546hppa[12]*-*-hpux10*)
f9989b51 547 tmake_file="$tmake_file pa/t-hpux pa/t-hpux10 t-libgcc-pic t-slibgcc"
b040f2be 548 # Set the libgcc version number
9b92a9f3 549 if test x$ac_cv_sjlj_exceptions = xyes; then
b040f2be
RO
550 tmake_file="$tmake_file pa/t-slibgcc-sjlj-ver"
551 else
552 tmake_file="$tmake_file pa/t-slibgcc-dwarf-ver"
553 fi
554 tmake_file="$tmake_file pa/t-slibgcc-hpux t-slibgcc-hpux"
58cd1d70 555 md_unwind_header=pa/hpux-unwind.h
fa958513
DJ
556 ;;
557hppa*64*-*-hpux11*)
9dfd5832 558 tmake_file="$tmake_file pa/t-hpux pa/t-pa64 pa/t-stublib t-libgcc-pic t-slibgcc"
b040f2be 559 # Set the libgcc version number
9b92a9f3 560 if test x$ac_cv_sjlj_exceptions = xyes; then
b040f2be
RO
561 tmake_file="$tmake_file pa/t-slibgcc-sjlj-ver"
562 else
563 tmake_file="$tmake_file pa/t-slibgcc-dwarf-ver"
564 fi
565 tmake_file="$tmake_file pa/t-slibgcc-hpux t-slibgcc-hpux"
4c6d7494 566 tm_file="$tm_file pa/pa64-hpux-lib.h"
5f73c6cc
RO
567 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o \
568 libgcc_stub.a"
58cd1d70 569 md_unwind_header=pa/hpux-unwind.h
fa958513
DJ
570 ;;
571hppa[12]*-*-hpux11*)
f9989b51 572 tmake_file="$tmake_file pa/t-hpux pa/t-stublib t-libgcc-pic t-slibgcc"
b040f2be 573 # Set the libgcc version number
9b92a9f3 574 if test x$ac_cv_sjlj_exceptions = xyes; then
b040f2be
RO
575 tmake_file="$tmake_file pa/t-slibgcc-sjlj-ver"
576 else
577 tmake_file="$tmake_file pa/t-slibgcc-dwarf-ver"
578 fi
579 tmake_file="$tmake_file pa/t-slibgcc-hpux t-slibgcc-hpux"
5f73c6cc 580 extra_parts="libgcc_stub.a"
58cd1d70 581 md_unwind_header=pa/hpux-unwind.h
fa958513 582 ;;
17f293b0
MK
583hppa*-*-openbsd*)
584 tmake_file="$tmake_file pa/t-openbsd"
585 ;;
fa958513 586i[34567]86-*-darwin*)
9b789cc1 587 tmake_file="$tmake_file i386/t-crtpc t-crtfm"
852b75ed 588 tm_file="$tm_file i386/darwin-lib.h"
b3fe1584 589 extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
fa958513
DJ
590 ;;
591x86_64-*-darwin*)
9b789cc1 592 tmake_file="$tmake_file i386/t-crtpc t-crtfm"
852b75ed 593 tm_file="$tm_file i386/darwin-lib.h"
b3fe1584 594 extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
fa958513 595 ;;
cb78b51c
L
596i[34567]86-*-elfiamcu)
597 tmake_file="$tmake_file i386/t-crtstuff t-softfp-sfdftf i386/32/t-softfp i386/32/t-iamcu i386/t-softfp t-softfp t-dfprules"
598 ;;
fa958513 599i[34567]86-*-elf*)
f9989b51 600 tmake_file="$tmake_file i386/t-crtstuff t-crtstuff-pic t-libgcc-pic"
fa958513 601 ;;
df674f74 602x86_64-*-elf* | x86_64-*-rtems*)
f9989b51 603 tmake_file="$tmake_file i386/t-crtstuff t-crtstuff-pic t-libgcc-pic"
3ae3dbd6 604 ;;
7ab8766a
JC
605x86_64-*-fuchsia*)
606 tmake_file="$tmake_file t-libgcc-pic"
607 ;;
dbed5a9b
JM
608i[34567]86-*-dragonfly*)
609 tmake_file="${tmake_file} i386/t-dragonfly i386/t-crtstuff"
610 md_unwind_header=i386/dragonfly-unwind.h
611 ;;
612x86_64-*-dragonfly*)
613 tmake_file="${tmake_file} i386/t-dragonfly i386/t-crtstuff"
614 md_unwind_header=i386/dragonfly-unwind.h
615 ;;
fa958513 616i[34567]86-*-freebsd*)
5f73c6cc 617 tmake_file="${tmake_file} i386/t-freebsd i386/t-crtstuff"
89c54dd3 618 md_unwind_header=i386/freebsd-unwind.h
fa958513
DJ
619 ;;
620x86_64-*-freebsd*)
5f73c6cc 621 tmake_file="${tmake_file} i386/t-freebsd i386/t-crtstuff"
89c54dd3 622 md_unwind_header=i386/freebsd-unwind.h
fa958513
DJ
623 ;;
624i[34567]86-*-netbsdelf*)
d6574dd1 625 tmake_file="${tmake_file} i386/t-crtstuff"
fa958513 626 ;;
fa958513 627x86_64-*-netbsd*)
5f73c6cc 628 tmake_file="${tmake_file} i386/t-crtstuff"
fa958513 629 ;;
fa958513
DJ
630i[34567]86-*-openbsd*)
631 ;;
613061fd
MK
632x86_64-*-openbsd*)
633 ;;
9e7714f4 634i[34567]86-*-linux*)
577565f9 635 extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
9b789cc1 636 tmake_file="${tmake_file} i386/t-crtpc t-crtfm i386/t-crtstuff t-dfprules"
7bbf9734 637 tm_file="${tm_file} i386/elf-lib.h"
58cd1d70 638 md_unwind_header=i386/linux-unwind.h
fa958513 639 ;;
8466af06 640i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu)
9e7714f4 641 extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
9b789cc1 642 tmake_file="${tmake_file} i386/t-crtpc t-crtfm i386/t-crtstuff t-dfprules"
7bbf9734 643 tm_file="${tm_file} i386/elf-lib.h"
9e7714f4
TS
644 ;;
645x86_64-*-linux*)
577565f9 646 extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
9b789cc1 647 tmake_file="${tmake_file} i386/t-crtpc t-crtfm i386/t-crtstuff t-dfprules"
7bbf9734 648 tm_file="${tm_file} i386/elf-lib.h"
58cd1d70 649 md_unwind_header=i386/linux-unwind.h
fa958513 650 ;;
8466af06 651x86_64-*-kfreebsd*-gnu)
9e7714f4 652 extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
9b789cc1 653 tmake_file="${tmake_file} i386/t-crtpc t-crtfm i386/t-crtstuff t-dfprules"
7bbf9734 654 tm_file="${tm_file} i386/elf-lib.h"
9e7714f4 655 ;;
fa958513
DJ
656i[34567]86-pc-msdosdjgpp*)
657 ;;
658i[34567]86-*-lynxos*)
659 ;;
fa958513 660i[34567]86-*-nto-qnx*)
f9989b51 661 tmake_file="$tmake_file i386/t-nto t-libgcc-pic"
5f73c6cc 662 extra_parts=crtbegin.o
fa958513
DJ
663 ;;
664i[34567]86-*-rtems*)
21184026 665 tmake_file="$tmake_file i386/t-crtstuff t-softfp-sfdftf i386/32/t-softfp i386/t-softfp t-softfp"
5f73c6cc 666 extra_parts="$extra_parts crti.o crtn.o"
fa958513 667 ;;
fbdd5d87 668i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*)
9b789cc1 669 tmake_file="$tmake_file i386/t-crtpc t-crtfm"
b3fe1584 670 extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
f962fbf1 671 tm_file="${tm_file} i386/elf-lib.h"
58cd1d70 672 md_unwind_header=i386/sol2-unwind.h
fa958513 673 ;;
fa958513
DJ
674i[4567]86-wrs-vxworks|i[4567]86-wrs-vxworksae)
675 ;;
58cd1d70 676i[34567]86-*-cygwin*)
25efdb9f 677 extra_parts="crtbegin.o crtbeginS.o crtend.o crtfastmath.o"
f7f049fa
CT
678 if test x$enable_vtable_verify = xyes; then
679 extra_parts="$extra_parts vtv_start.o vtv_end.o vtv_start_preinit.o vtv_end_preinit.o"
680 fi
b040f2be 681 # This has to match the logic for DWARF2_UNWIND_INFO in gcc/config/i386/cygming.h
9b92a9f3 682 if test x$ac_cv_sjlj_exceptions = xyes; then
b040f2be
RO
683 tmake_eh_file="i386/t-sjlj-eh"
684 else
685 tmake_eh_file="i386/t-dw2-eh"
686 fi
687 # Shared libgcc DLL install dir depends on cross/native build.
688 if test x${build} = x${host} ; then
689 tmake_dlldir_file="i386/t-dlldir"
690 else
691 tmake_dlldir_file="i386/t-dlldir-x"
692 fi
9b789cc1 693 tmake_file="${tmake_file} ${tmake_eh_file} ${tmake_dlldir_file} i386/t-slibgcc-cygming i386/t-cygming i386/t-cygwin t-crtfm i386/t-chkstk t-dfprules"
9bd196f0 694 ;;
e9fd8c19 695x86_64-*-cygwin*)
25efdb9f 696 extra_parts="crtbegin.o crtbeginS.o crtend.o crtfastmath.o"
f7f049fa
CT
697 if test x$enable_vtable_verify = xyes; then
698 extra_parts="$extra_parts vtv_start.o vtv_end.o vtv_start_preinit.o vtv_end_preinit.o"
699 fi
e9fd8c19 700 # This has to match the logic for DWARF2_UNWIND_INFO in gcc/config/i386/cygming.h
9b92a9f3 701 if test x$ac_cv_sjlj_exceptions = xyes; then
e9fd8c19 702 tmake_eh_file="i386/t-sjlj-eh"
6befaff6
SL
703 elif test "${host_address}" = 32; then
704 # biarch -m32 with --disable-sjlj-exceptions
705 tmake_eh_file="i386/t-dw2-eh"
e9fd8c19
KT
706 else
707 tmake_eh_file="i386/t-seh-eh"
708 fi
709 # Shared libgcc DLL install dir depends on cross/native build.
710 if test x${build} = x${host} ; then
711 tmake_dlldir_file="i386/t-dlldir"
712 else
713 tmake_dlldir_file="i386/t-dlldir-x"
714 fi
715 # FIXME - dj - t-chkstk used to be in here, need a 64-bit version of that
9b789cc1 716 tmake_file="${tmake_file} ${tmake_eh_file} ${tmake_dlldir_file} i386/t-slibgcc-cygming i386/t-cygming i386/t-cygwin t-crtfm t-dfprules i386/t-chkstk"
e9fd8c19 717 ;;
58cd1d70
RO
718i[34567]86-*-mingw*)
719 extra_parts="crtbegin.o crtend.o crtfastmath.o"
f7f049fa
CT
720 if test x$enable_vtable_verify = xyes; then
721 extra_parts="$extra_parts vtv_start.o vtv_end.o vtv_start_preinit.o vtv_end_preinit.o"
722 fi
f9989b51
RO
723 case ${target_thread_file} in
724 win32)
725 tmake_file="$tmake_file i386/t-gthr-win32"
726 ;;
e3d871e4
RO
727 posix)
728 tmake_file="i386/t-mingw-pthread $tmake_file"
729 ;;
f9989b51 730 esac
b040f2be 731 # This has to match the logic for DWARF2_UNWIND_INFO in gcc/config/i386/cygming.h
9b92a9f3 732 if test x$ac_cv_sjlj_exceptions = xyes; then
b040f2be
RO
733 tmake_eh_file="i386/t-sjlj-eh"
734 else
735 tmake_eh_file="i386/t-dw2-eh"
0c0c6398 736 md_unwind_header=i386/w32-unwind.h
b040f2be
RO
737 fi
738 # Shared libgcc DLL install dir depends on cross/native build.
739 if test x${build} = x${host} ; then
740 tmake_dlldir_file="i386/t-dlldir"
741 else
742 tmake_dlldir_file="i386/t-dlldir-x"
743 fi
9b789cc1 744 tmake_file="${tmake_file} ${tmake_eh_file} ${tmake_dlldir_file} i386/t-slibgcc-cygming i386/t-cygming i386/t-mingw32 t-crtfm i386/t-chkstk t-dfprules"
58cd1d70 745 ;;
9bd196f0 746x86_64-*-mingw*)
f9989b51
RO
747 case ${target_thread_file} in
748 win32)
749 tmake_file="$tmake_file i386/t-gthr-win32"
750 ;;
e3d871e4
RO
751 posix)
752 tmake_file="i386/t-mingw-pthread $tmake_file"
753 ;;
f9989b51 754 esac
b040f2be 755 # This has to match the logic for DWARF2_UNWIND_INFO in gcc/config/i386/cygming.h
9b92a9f3 756 if test x$ac_cv_sjlj_exceptions = xyes; then
b040f2be 757 tmake_eh_file="i386/t-sjlj-eh"
6befaff6
SL
758 elif test "${host_address}" = 32; then
759 # biarch -m32 with --disable-sjlj-exceptions
760 tmake_eh_file="i386/t-dw2-eh"
761 md_unwind_header=i386/w32-unwind.h
b040f2be 762 else
bf1431e3 763 tmake_eh_file="i386/t-seh-eh"
b040f2be
RO
764 fi
765 # Shared libgcc DLL install dir depends on cross/native build.
766 if test x${build} = x${host} ; then
767 tmake_dlldir_file="i386/t-dlldir"
768 else
769 tmake_dlldir_file="i386/t-dlldir-x"
770 fi
9b789cc1 771 tmake_file="${tmake_file} ${tmake_eh_file} ${tmake_dlldir_file} i386/t-slibgcc-cygming i386/t-cygming i386/t-mingw32 t-dfprules t-crtfm i386/t-chkstk"
580d22a3 772 extra_parts="$extra_parts crtbegin.o crtend.o crtfastmath.o"
f7f049fa
CT
773 if test x$enable_vtable_verify = xyes; then
774 extra_parts="$extra_parts vtv_start.o vtv_end.o vtv_start_preinit.o vtv_end_preinit.o"
775 fi
fa958513 776 ;;
fa958513 777ia64*-*-elf*)
5f73c6cc 778 extra_parts="$extra_parts crtbeginS.o crtendS.o crtfastmath.o"
73f01cca 779 tmake_file="ia64/t-ia64 ia64/t-ia64-elf ia64/t-eh-ia64 t-crtfm t-softfp-tf ia64/t-softfp t-softfp ia64/t-softfp-compat"
fa958513
DJ
780 ;;
781ia64*-*-freebsd*)
5f73c6cc 782 extra_parts="$extra_parts crtfastmath.o"
73f01cca 783 tmake_file="$tmake_file ia64/t-ia64 ia64/t-ia64-elf ia64/t-eh-ia64 t-crtfm t-softfp-tf ia64/t-softfp t-softfp ia64/t-softfp-compat"
fa958513
DJ
784 ;;
785ia64*-*-linux*)
5f73c6cc 786 # Don't use crtbeginT.o from *-*-linux* default.
fa958513 787 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o"
1ab3568b 788 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"
201cdb74 789 if test x$with_system_libunwind != xyes ; then
b040f2be 790 tmake_file="${tmake_file} t-libunwind-elf ia64/t-linux-libunwind"
201cdb74 791 fi
58cd1d70 792 md_unwind_header=ia64/linux-unwind.h
fa958513
DJ
793 ;;
794ia64*-*-hpux*)
1ab3568b 795 tmake_file="ia64/t-ia64 ia64/t-ia64-elf ia64/t-hpux t-slibgcc ia64/t-slibgcc-hpux t-slibgcc-hpux"
fa958513 796 ;;
a9a25daa 797ia64-hp-*vms*)
73f01cca 798 tmake_file="$tmake_file ia64/t-ia64 ia64/t-eh-ia64 ia64/t-vms t-slibgcc-vms t-softfp-tf ia64/t-softfp t-softfp"
5f73c6cc 799 extra_parts="$extra_parts crtinitS.o"
58cd1d70 800 md_unwind_header=ia64/vms-unwind.h
a9a25daa 801 ;;
fa958513 802iq2000*-*-elf*)
d4b4b542 803 tmake_file="iq2000/t-iq2000 t-fdpbit"
5f73c6cc
RO
804 # Don't use default.
805 extra_parts=
fa958513 806 ;;
c9cd1a07 807lm32-*-elf*)
5f73c6cc 808 extra_parts="$extra_parts crti.o crtn.o"
aca0b0b3 809 tmake_file="lm32/t-lm32 lm32/t-elf t-softfp-sfdf t-softfp"
aa4945c1 810 ;;
c9cd1a07
RO
811lm32-*-rtems*)
812 tmake_file="$tmake_file lm32/t-lm32 lm32/t-elf t-softfp-sfdf t-softfp"
813 extra_parts="$extra_parts crti.o crtn.o"
814 ;;
aa4945c1 815lm32-*-uclinux*)
5f73c6cc 816 extra_parts="$extra_parts crtbegin.o crtendS.o crtbeginT.o"
f9989b51 817 tmake_file="lm32/t-lm32 lm32/t-uclinux t-libgcc-pic t-softfp-sfdf t-softfp"
aa4945c1 818 ;;
5f73c6cc 819m32r-*-elf*)
985a47b2
NC
820 tmake_file="$tmake_file m32r/t-m32r t-fdpbit"
821 extra_parts="$extra_parts crtinit.o crtfini.o"
fa958513
DJ
822 ;;
823m32rle-*-elf*)
569dc494 824 tmake_file=t-fdpbit
fa958513
DJ
825 ;;
826m32r-*-linux*)
5f73c6cc 827 tmake_file="$tmake_file m32r/t-linux t-fdpbit"
fa958513
DJ
828 ;;
829m32rle-*-linux*)
5f73c6cc 830 tmake_file="$tmake_file m32r/t-linux t-fdpbit"
fa958513 831 ;;
45b86625
RO
832m68k-*-elf* | fido-*-elf)
833 tmake_file="$tmake_file m68k/t-floatlib"
fa958513 834 ;;
cd985f66 835m68k*-*-netbsdelf*)
fa958513
DJ
836 ;;
837m68k*-*-openbsd*)
838 ;;
8b281334
RH
839m68k-*-uclinux*) # Motorola m68k/ColdFire running uClinux with uClibc
840 tmake_file="$tmake_file m68k/t-floatlib m68k/t-linux"
58cd1d70 841 md_unwind_header=m68k/linux-unwind.h
fa958513 842 ;;
58cd1d70 843m68k-*-linux*) # Motorola m68k's running GNU/Linux
fa958513
DJ
844 # with ELF format using glibc 2
845 # aka the GNU/Linux C library 6.
8b281334 846 tmake_file="$tmake_file m68k/t-floatlib m68k/t-linux"
9b92a9f3 847 # If not configured with setjmp/longjmp exceptions, bump the
b040f2be 848 # libgcc version number.
9b92a9f3 849 if test x$ac_cv_sjlj_exceptions != xyes; then
b040f2be
RO
850 tmake_file="$tmake_file m68k/t-slibgcc-elf-ver"
851 fi
58cd1d70 852 md_unwind_header=m68k/linux-unwind.h
fa958513
DJ
853 ;;
854m68k-*-rtems*)
45b86625 855 tmake_file="$tmake_file m68k/t-floatlib"
5f73c6cc 856 extra_parts="$extra_parts crti.o crtn.o"
fa958513
DJ
857 ;;
858mcore-*-elf)
45b86625 859 tmake_file="mcore/t-mcore t-fdpbit"
5f73c6cc 860 extra_parts="$extra_parts crti.o crtn.o"
fa958513 861 ;;
b040f2be 862microblaze*-linux*)
fbf0cf90 863 tmake_file="${tmake_file} microblaze/t-microblaze t-fdpbit t-slibgcc-libgcc"
b040f2be 864 ;;
6f14eef2
EI
865microblaze*-*-elf)
866 tmake_file="${tmake_file} microblaze/t-microblaze t-fdpbit"
867 extra_parts="$extra_parts crtbeginS.o crtendS.o crtbeginT.o crti.o crtn.o"
80920132 868 ;;
3fa2ccb4
RC
869microblaze*-*-rtems*)
870 tmake_file="${tmake_file} microblaze/t-microblaze t-fdpbit"
871 extra_parts="$extra_parts crtbeginS.o crtendS.o crtbeginT.o crti.o crtn.o"
872 ;;
fa958513
DJ
873mips*-*-netbsd*) # NetBSD/mips, either endian.
874 ;;
fa958513 875mips*-*-linux*) # Linux MIPS, either endian.
48b09a92 876 extra_parts="$extra_parts crtfastmath.o"
107eea2c 877 tmake_file="${tmake_file} t-crtfm"
107eea2c 878 case ${host} in
0f9bde1f
MR
879 mips64r5900* | mipsr5900*)
880 # The MIPS16 support code uses floating point
881 # instructions that are not supported on r5900.
882 ;;
883 *)
884 tmake_file="${tmake_file} mips/t-mips16 t-slibgcc-libgcc"
885 ;;
107eea2c 886 esac
58cd1d70 887 md_unwind_header=mips/linux-unwind.h
fa958513 888 ;;
569dc494 889mips*-sde-elf*)
eb028768 890 tmake_file="$tmake_file mips/t-crtstuff mips/t-mips16"
569dc494
RO
891 case "${with_newlib}" in
892 yes)
893 # newlib / libgloss.
894 ;;
895 *)
896 # MIPS toolkit libraries.
5f73c6cc 897 tmake_file="$tmake_file mips/t-sdemtk"
569dc494
RO
898 ;;
899 esac
5f73c6cc 900 extra_parts="$extra_parts crti.o crtn.o"
569dc494 901 ;;
c6412d86
RO
902mipsisa32-*-elf* | mipsisa32el-*-elf* | \
903mipsisa32r2-*-elf* | mipsisa32r2el-*-elf* | \
82f84ecb 904mipsisa32r6-*-elf* | mipsisa32r6el-*-elf* | \
c6412d86 905mipsisa64-*-elf* | mipsisa64el-*-elf* | \
82f84ecb
MF
906mipsisa64r2-*-elf* | mipsisa64r2el-*-elf* | \
907mipsisa64r6-*-elf* | mipsisa64r6el-*-elf*)
f9989b51 908 tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16"
5f73c6cc 909 extra_parts="$extra_parts crti.o crtn.o"
0a4a51c7 910 ;;
fa958513 911mipsisa64sr71k-*-elf*)
eb028768 912 tmake_file="$tmake_file mips/t-elf mips/t-crtstuff t-fdpbit"
5f73c6cc 913 extra_parts="$extra_parts crti.o crtn.o"
fa958513
DJ
914 ;;
915mipsisa64sb1-*-elf* | mipsisa64sb1el-*-elf*)
f9989b51 916 tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16"
5f73c6cc 917 extra_parts="$extra_parts crti.o crtn.o"
fa958513
DJ
918 ;;
919mips-*-elf* | mipsel-*-elf*)
f9989b51 920 tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16"
5f73c6cc 921 extra_parts="$extra_parts crti.o crtn.o"
fa958513 922 ;;
107eea2c
JU
923mipsr5900-*-elf* | mipsr5900el-*-elf*)
924 tmake_file="$tmake_file mips/t-elf mips/t-crtstuff"
925 extra_parts="$extra_parts crti.o crtn.o"
926 ;;
fa958513 927mips64-*-elf* | mips64el-*-elf*)
f9989b51 928 tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16"
5f73c6cc 929 extra_parts="$extra_parts crti.o crtn.o"
fa958513 930 ;;
107eea2c
JU
931mips64r5900-*-elf* | mips64r5900el-*-elf*)
932 tmake_file="$tmake_file mips/t-elf mips/t-crtstuff"
933 extra_parts="$extra_parts crti.o crtn.o"
934 ;;
fa958513 935mips64vr-*-elf* | mips64vrel-*-elf*)
f9989b51 936 tmake_file="$tmake_file mips/t-elf mips/t-vr mips/t-crtstuff"
5f73c6cc 937 extra_parts="$extra_parts crti.o crtn.o"
fa958513
DJ
938 ;;
939mips64orion-*-elf* | mips64orionel-*-elf*)
f9989b51 940 tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16"
5f73c6cc 941 extra_parts="$extra_parts crti.o crtn.o"
fa958513
DJ
942 ;;
943mips*-*-rtems*)
f9989b51 944 tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16"
5f73c6cc 945 extra_parts="$extra_parts crti.o crtn.o"
fa958513
DJ
946 ;;
947mips-wrs-vxworks)
948 ;;
fa958513 949mipstx39-*-elf* | mipstx39el-*-elf*)
5f73c6cc 950 tmake_file="$tmake_file mips/t-crtstuff mips/t-mips16"
fa958513
DJ
951 ;;
952mmix-knuth-mmixware)
e7c914db
HPN
953 extra_parts="crti.o crtn.o crtbegin.o crtend.o"
954 tmake_file="${tmake_file} ${cpu_type}/t-${cpu_type}"
fa958513
DJ
955 ;;
956mn10300-*-*)
569dc494 957 tmake_file=t-fdpbit
fa958513 958 ;;
ad251dfd 959moxie-*-elf | moxie-*-moxiebox* | moxie-*-uclinux* | moxie-*-rtems*)
c9cd1a07 960 tmake_file="$tmake_file moxie/t-moxie t-softfp-sfdf t-softfp-excl t-softfp"
ad251dfd 961 extra_parts="$extra_parts crti.o crtn.o crtbegin.o crtend.o"
cceb575c 962 ;;
f6a83b4a
DD
963msp430*-*-elf)
964 tmake_file="$tm_file t-crtstuff t-fdpbit msp430/t-msp430"
04a9ae28 965 extra_parts="$extra_parts libmul_none.a libmul_16.a libmul_32.a libmul_f5.a"
f6a83b4a 966 ;;
9304f876
CJW
967nds32*-elf*)
968 # Basic makefile fragment and extra_parts for crt stuff.
969 # We also append c-isr library implementation.
970 tmake_file="${tmake_file} nds32/t-nds32 nds32/t-nds32-isr"
971 extra_parts="crtbegin1.o crtend1.o libnds32_isr.a"
972 # Append library definition makefile fragment according to --with-nds32-lib=X setting.
973 case "${with_nds32_lib}" in
974 "" | newlib)
975 # Append library definition makefile fragment t-nds32-newlib.
976 # Append 'soft-fp' software floating point make rule fragment provided by gcc.
977 tmake_file="${tmake_file} nds32/t-nds32-newlib t-softfp-sfdf t-softfp"
978 ;;
979 mculib)
980 # Append library definition makefile fragment t-nds32-mculib.
981 # The software floating point library is included in mculib.
982 tmake_file="${tmake_file} nds32/t-nds32-mculib"
983 ;;
984 *)
985 echo "Cannot accept --with-nds32-lib=$with_nds32_lib, available values are: newlib mculib" 1>&2
986 exit 1
987 ;;
988 esac
989 ;;
e430824f
CLT
990nios2-*-linux*)
991 tmake_file="$tmake_file nios2/t-nios2 nios2/t-linux t-libgcc-pic t-slibgcc-libgcc"
e430824f
CLT
992 md_unwind_header=nios2/linux-unwind.h
993 ;;
994nios2-*-*)
995 tmake_file="$tmake_file nios2/t-nios2 t-softfp-sfdf t-softfp-excl t-softfp"
996 extra_parts="$extra_parts crti.o crtn.o"
997 ;;
fa958513 998pdp11-*-*)
f9989b51 999 tmake_file="pdp11/t-pdp11 t-fdpbit"
fa958513 1000 ;;
fa958513 1001powerpc-*-darwin*)
58cd1d70
RO
1002 case ${host} in
1003 *-*-darwin9* | *-*-darwin[12][0-9]*)
1004 # libSystem contains unwind information for signal frames since
1005 # Darwin 9.
1006 ;;
1007 *)
1008 md_unwind_header=rs6000/darwin-unwind.h
1009 ;;
1010 esac
aca0b0b3 1011 tmake_file="$tmake_file rs6000/t-ibm-ldouble"
e141542e 1012 extra_parts="$extra_parts crt2.o"
fa958513
DJ
1013 ;;
1014powerpc64-*-darwin*)
f9989b51 1015 tmake_file="$tmake_file rs6000/t-darwin64 rs6000/t-ibm-ldouble"
e141542e 1016 extra_parts="$extra_parts crt2.o"
fa958513 1017 ;;
d82ad50d
AT
1018powerpc*-*-freebsd*)
1019 tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-savresfgpr rs6000/t-crtstuff rs6000/t-freebsd t-softfp-sfdf t-softfp-excl t-softfp"
5f73c6cc 1020 extra_parts="$extra_parts crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
d82ad50d
AT
1021 case ${host} in
1022 powerpc64*)
1023 tmake_file="${tmake_file} rs6000/t-freebsd64"
1024 md_unwind_header=rs6000/freebsd-unwind.h
1025 ;;
1026 esac
fa958513
DJ
1027 ;;
1028powerpc-*-netbsd*)
d4b4b542 1029 tmake_file="$tmake_file rs6000/t-netbsd rs6000/t-crtstuff"
fa958513 1030 ;;
fa958513 1031powerpc-*-eabispe*)
7da38058 1032 tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-savresfgpr rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
5f73c6cc 1033 extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
fa958513
DJ
1034 ;;
1035powerpc-*-eabisimaltivec*)
f9c55897 1036 tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
5f73c6cc 1037 extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
fa958513
DJ
1038 ;;
1039powerpc-*-eabisim*)
f9c55897 1040 tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
5f73c6cc 1041 extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
fa958513
DJ
1042 ;;
1043powerpc-*-elf*)
49dcafd4 1044 tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-savresfgpr rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
5f73c6cc 1045 extra_parts="$extra_parts crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
fa958513
DJ
1046 ;;
1047powerpc-*-eabialtivec*)
f9c55897 1048 tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
5f73c6cc 1049 extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
569dc494
RO
1050 ;;
1051powerpc-xilinx-eabi*)
f9c55897 1052 tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
5f73c6cc 1053 extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
fa958513
DJ
1054 ;;
1055powerpc-*-eabi*)
f9c55897 1056 tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-savresfgpr rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
5f73c6cc 1057 extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
fa958513
DJ
1058 ;;
1059powerpc-*-rtems*)
6f288860 1060 tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-savresfgpr rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
5f73c6cc 1061 extra_parts="$extra_parts crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
fa958513 1062 ;;
b9a7eb5d 1063powerpc*-*-linux*)
693b297b 1064 tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-savresfgpr rs6000/t-crtstuff rs6000/t-linux t-dfprules rs6000/t-ppc64-fp t-slibgcc-libgcc"
0f0fd745 1065 tmake_file="${tmake_file} t-stack rs6000/t-stack-rs6000"
d80c2bea
JM
1066 case $ppc_fp_type in
1067 64)
1068 ;;
1069 hard)
1070 tmake_file="${tmake_file} t-hardfp-sfdf t-hardfp"
1071 ;;
1072 soft)
e610393c 1073 tmake_file="${tmake_file} t-softfp-sfdf ${ppc_fp_compat} t-softfp"
d80c2bea 1074 ;;
bc1b3a88 1075 e500v1)
e610393c 1076 tmake_file="${tmake_file} rs6000/t-e500v1-fp ${ppc_fp_compat} t-softfp t-hardfp"
bc1b3a88
JM
1077 ;;
1078 e500v2)
e610393c 1079 tmake_file="${tmake_file} t-hardfp-sfdf rs6000/t-e500v2-fp ${ppc_fp_compat} t-softfp t-hardfp"
d80c2bea
JM
1080 ;;
1081 *)
1082 echo "Unknown ppc_fp_type $ppc_fp_type" 1>&2
1083 exit 1
1084 ;;
1085 esac
a71c0334
MM
1086
1087 if test $libgcc_cv_powerpc_float128 = yes; then
1088 tmake_file="${tmake_file} rs6000/t-float128"
1089 fi
1090
1091 if test $libgcc_cv_powerpc_float128_hw = yes; then
1092 tmake_file="${tmake_file} rs6000/t-float128-hw"
1093 fi
1094
5f73c6cc 1095 extra_parts="$extra_parts ecrti.o ecrtn.o ncrti.o ncrtn.o"
58cd1d70 1096 md_unwind_header=rs6000/linux-unwind.h
fa958513 1097 ;;
3a8fe7c6 1098powerpc-wrs-vxworks|powerpc-wrs-vxworksae|powerpc-wrs-vxworksmils)
49dcafd4 1099 tmake_file="$tmake_file rs6000/t-ppccomm rs6000/t-savresfgpr t-fdpbit"
fa958513 1100 ;;
fa958513 1101powerpc-*-lynxos*)
d4b4b542 1102 tmake_file="$tmake_file rs6000/t-lynx t-fdpbit"
fa958513 1103 ;;
fa958513 1104powerpcle-*-elf*)
f9c55897 1105 tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
5f73c6cc 1106 extra_parts="$extra_parts crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
fa958513
DJ
1107 ;;
1108powerpcle-*-eabisim*)
f9c55897 1109 tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
5f73c6cc 1110 extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
fa958513
DJ
1111 ;;
1112powerpcle-*-eabi*)
f9c55897 1113 tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
5f73c6cc 1114 extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
fa958513 1115 ;;
0bd99911
PD
1116riscv*-*-linux*)
1117 tmake_file="${tmake_file} riscv/t-softfp${host_address} t-softfp riscv/t-elf riscv/t-elf${host_address}"
1118 extra_parts="$extra_parts crtbegin.o crtend.o crti.o crtn.o crtendS.o crtbeginT.o"
1119 md_unwind_header=riscv/linux-unwind.h
1120 ;;
1121riscv*-*-*)
1122 tmake_file="${tmake_file} riscv/t-softfp${host_address} t-softfp riscv/t-elf riscv/t-elf${host_address}"
1123 extra_parts="$extra_parts crtbegin.o crtend.o crti.o crtn.o"
1124 ;;
fa958513 1125rs6000-ibm-aix4.[3456789]* | powerpc-ibm-aix4.[3456789]*)
201cdb74 1126 md_unwind_header=rs6000/aix-unwind.h
138f5acd 1127 tmake_file="t-fdpbit rs6000/t-ppc64-fp rs6000/t-slibgcc-aix rs6000/t-ibm-ldouble"
fa958513
DJ
1128 ;;
1129rs6000-ibm-aix5.1.* | powerpc-ibm-aix5.1.*)
201cdb74 1130 md_unwind_header=rs6000/aix-unwind.h
138f5acd 1131 tmake_file="t-fdpbit rs6000/t-ppc64-fp rs6000/t-slibgcc-aix rs6000/t-ibm-ldouble"
fa958513
DJ
1132 ;;
1133rs6000-ibm-aix[56789].* | powerpc-ibm-aix[56789].*)
201cdb74 1134 md_unwind_header=rs6000/aix-unwind.h
99113dff 1135 tmake_file="t-fdpbit rs6000/t-ppc64-fp rs6000/t-slibgcc-aix rs6000/t-ibm-ldouble rs6000/t-aix-cxa"
04218b35 1136 extra_parts="crtcxa.o crtcxa_s.o crtdbase.o"
fa958513 1137 ;;
85b8555e
DD
1138rl78-*-elf)
1139 tmake_file="$tm_file t-fdpbit rl78/t-rl78"
1140 ;;
65a324b4 1141rx-*-elf)
569dc494 1142 tmake_file="rx/t-rx t-fdpbit"
852b75ed 1143 tm_file="$tm_file rx/rx-abi.h rx/rx-lib.h"
65a324b4 1144 ;;
fa958513 1145s390-*-linux*)
4cb4721f 1146 tmake_file="${tmake_file} s390/t-crtstuff s390/t-linux s390/32/t-floattodi t-stack s390/t-stack-s390"
58cd1d70 1147 md_unwind_header=s390/linux-unwind.h
fa958513
DJ
1148 ;;
1149s390x-*-linux*)
4cb4721f 1150 tmake_file="${tmake_file} s390/t-crtstuff s390/t-linux t-stack s390/t-stack-s390"
59976ef8
AK
1151 if test "${host_address}" = 32; then
1152 tmake_file="${tmake_file} s390/32/t-floattodi"
1153 fi
58cd1d70 1154 md_unwind_header=s390/linux-unwind.h
fa958513
DJ
1155 ;;
1156s390x-ibm-tpf*)
f9989b51 1157 tmake_file="${tmake_file} s390/t-crtstuff t-libgcc-pic t-eh-dw2-dip"
5f73c6cc 1158 extra_parts="crtbeginS.o crtendS.o"
10c4cabc 1159 md_unwind_header=s390/tpf-unwind.h
fa958513 1160 ;;
5f73c6cc
RO
1161sh-*-elf* | sh[12346l]*-*-elf*)
1162 tmake_file="$tmake_file sh/t-sh t-crtstuff-pic t-fdpbit"
1163 extra_parts="$extra_parts crt1.o crti.o crtn.o crtbeginS.o crtendS.o \
1164 libic_invalidate_array_4-100.a \
1165 libic_invalidate_array_4-200.a \
1166 libic_invalidate_array_4a.a \
1167 libgcc-Os-4-200.a libgcc-4-300.a"
26900826 1168 case ${host} in
5f73c6cc
RO
1169 sh*-superh-elf)
1170 tmake_file="$tmake_file sh/t-superh"
1171 extra_parts="$extra_parts crt1-mmu.o gcrt1-mmu.o gcrt1.o"
1172 ;;
1173 esac
1174 ;;
1175sh-*-linux* | sh[2346lbe]*-*-linux*)
45b86625 1176 tmake_file="${tmake_file} sh/t-sh t-slibgcc-libgcc sh/t-linux t-fdpbit"
5f73c6cc
RO
1177 md_unwind_header=sh/linux-unwind.h
1178 ;;
bc6d9014 1179sh-*-netbsdelf* | shl*-*-netbsdelf*)
45b86625 1180 tmake_file="$tmake_file sh/t-sh sh/t-netbsd"
bc6d9014 1181
5f73c6cc
RO
1182 # NetBSD's C library includes a fast software FP library that
1183 # has support for setting/setting the rounding mode, exception
1184 # mask, etc. Therefore, we don't want to include software FP
1185 # in libgcc.
fa958513 1186 ;;
fa958513 1187sh-*-rtems*)
45b86625 1188 tmake_file="$tmake_file sh/t-sh t-crtstuff-pic t-fdpbit"
5f73c6cc 1189 extra_parts="$extra_parts crt1.o crti.o crtn.o crtbeginS.o crtendS.o \
76c78361
RC
1190 libic_invalidate_array_4-100.a \
1191 libic_invalidate_array_4-200.a \
1192 libic_invalidate_array_4a.a \
1193 libgcc-Os-4-200.a libgcc-4-300.a"
fa958513
DJ
1194 ;;
1195sh-wrs-vxworks)
45b86625 1196 tmake_file="$tmake_file sh/t-sh t-crtstuff-pic t-fdpbit"
fa958513 1197 ;;
fa958513
DJ
1198sparc-*-netbsdelf*)
1199 ;;
1200sparc64-*-openbsd*)
1201 ;;
1202sparc-*-elf*)
ca24c5ad
RO
1203 case ${host} in
1204 *-leon[3-9]*)
1205 ;;
1206 *)
1207 tmake_file="sparc/t-softmul"
1208 ;;
1209 esac
5f73c6cc
RO
1210 tmake_file="${tmake_file} t-fdpbit t-crtfm"
1211 extra_parts="$extra_parts crti.o crtn.o crtfastmath.o"
fa958513
DJ
1212 ;;
1213sparc-*-linux*) # SPARC's running GNU/Linux, libc6
d2a7d041
DM
1214 tmake_file="${tmake_file} t-crtfm"
1215 if test "${host_address}" = 64; then
1216 tmake_file="$tmake_file sparc/t-linux64"
1217 fi
569dc494
RO
1218 case ${host} in
1219 *-leon*)
b040f2be
RO
1220 tmake_file="${tmake_file} t-fdpbit"
1221 ;;
1222 *)
1223 tmake_file="${tmake_file} sparc/t-linux"
569dc494
RO
1224 ;;
1225 esac
45b86625
RO
1226 case ${host} in
1227 *-leon[3-9]*)
1228 ;;
1229 *)
d2a7d041
DM
1230 if test "${host_address}" = 32; then
1231 tmake_file="$tmake_file sparc/t-softmul"
1232 fi
45b86625
RO
1233 ;;
1234 esac
fa958513 1235 extra_parts="$extra_parts crtfastmath.o"
10c4cabc 1236 md_unwind_header=sparc/linux-unwind.h
fa958513 1237 ;;
569dc494 1238sparc-*-rtems*)
c9cd1a07 1239 tmake_file="$tmake_file sparc/t-elf sparc/t-softmul t-crtfm t-fdpbit"
5f73c6cc 1240 extra_parts="$extra_parts crti.o crtn.o crtfastmath.o"
fa958513 1241 ;;
ca24c5ad
RO
1242sparc*-*-solaris2*)
1243 tmake_file="$tmake_file t-crtfm"
1244 extra_parts="$extra_parts crtfastmath.o"
58cd1d70 1245 md_unwind_header=sparc/sol2-unwind.h
fa958513 1246 ;;
fa958513 1247sparc64-*-elf*)
5f73c6cc
RO
1248 tmake_file="${tmake_file} t-crtfm"
1249 extra_parts="$extra_parts crti.o crtn.o crtfastmath.o"
fa958513 1250 ;;
569dc494 1251sparc64-*-rtems*)
43a8f1a1 1252 tmake_file="$tmake_file t-crtfm"
5f73c6cc 1253 extra_parts="$extra_parts crti.o crtn.o crtfastmath.o"
569dc494 1254 ;;
1910440e
RS
1255sparc-wrs-vxworks)
1256 ;;
fa958513 1257sparc64-*-freebsd*|ultrasparc-*-freebsd*)
35d8090d 1258 tmake_file="$tmake_file t-crtfm"
5f73c6cc 1259 extra_parts="$extra_parts crtfastmath.o"
fa958513
DJ
1260 ;;
1261sparc64-*-linux*) # 64-bit SPARC's running GNU/Linux
1262 extra_parts="$extra_parts crtfastmath.o"
d2a7d041
DM
1263 tmake_file="${tmake_file} t-crtfm sparc/t-linux"
1264 if test "${host_address}" = 64; then
1265 tmake_file="${tmake_file} sparc/t-linux64"
1266 fi
1267 if test "${host_address}" = 32; then
1268 tmake_file="${tmake_file} sparc/t-softmul"
1269 fi
58cd1d70 1270 md_unwind_header=sparc/linux-unwind.h
fa958513
DJ
1271 ;;
1272sparc64-*-netbsd*)
1273 ;;
1274spu-*-elf*)
f9989b51 1275 tmake_file="$tmake_file spu/t-elf t-libgcc-pic t-fdpbit"
5f73c6cc
RO
1276 extra_parts="$extra_parts \
1277 libgcc_cachemgr.a libgcc_cachemgr_nonatomic.a \
1278 libgcc_cache8k.a libgcc_cache16k.a libgcc_cache32k.a \
1279 libgcc_cache64k.a libgcc_cache128k.a"
fa958513 1280 ;;
b040f2be 1281tic6x-*-uclinux)
4d5ae4ea
BS
1282 tmake_file="${tmake_file} t-softfp-sfdf t-softfp-excl t-softfp \
1283 c6x/t-elf c6x/t-uclinux t-crtstuff-pic t-libgcc-pic \
1284 t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver t-gnu-prefix"
852b75ed 1285 tm_file="$tm_file c6x/c6x-abi.h"
4d5ae4ea 1286 extra_parts="$extra_parts crtbeginS.o crtendS.o crti.o crtn.o"
b040f2be
RO
1287 unwind_header=config/c6x/unwind-c6x.h
1288 ;;
5f73c6cc
RO
1289tic6x-*-elf)
1290 tmake_file="${tmake_file} t-softfp-sfdf t-softfp-excl t-softfp t-gnu-prefix c6x/t-elf"
852b75ed 1291 tm_file="$tm_file c6x/c6x-abi.h"
5f73c6cc 1292 extra_parts="$extra_parts crtbeginS.o crtendS.o crti.o crtn.o"
1e874273 1293 unwind_header=config/c6x/unwind-c6x.h
bcead286 1294 ;;
341c653c 1295tilegx*-*-linux*)
b29d9a29
WL
1296 if test "${host_address}" = 64; then
1297 tmake_file="${tmake_file} tilegx/t-softfp"
1298 fi
1299 tmake_file="${tmake_file} tilegx/t-crtstuff t-softfp-sfdf t-softfp tilegx/t-tilegx"
dd552284
WL
1300 md_unwind_header=tilepro/linux-unwind.h
1301 ;;
341c653c 1302tilepro*-*-linux*)
7a384912 1303 tmake_file="${tmake_file} tilepro/t-crtstuff t-softfp-sfdf t-softfp tilepro/t-tilepro t-slibgcc-libgcc"
dd552284
WL
1304 md_unwind_header=tilepro/linux-unwind.h
1305 ;;
4be46d19 1306v850*-*-*)
d02bbcf3 1307 tmake_file="${tmake_file} v850/t-v850 t-fdpbit"
fa958513 1308 ;;
fea96e25 1309vax-*-linux*)
45b86625 1310 tmake_file="$tmake_file vax/t-linux"
fea96e25 1311 ;;
fa958513
DJ
1312vax-*-netbsdelf*)
1313 ;;
fa958513
DJ
1314vax-*-openbsd*)
1315 ;;
0969ec7d
EB
1316visium-*-elf*)
1317 extra_parts="$extra_parts crtbegin.o crtend.o crti.o crtn.o"
1318 tmake_file="visium/t-visium t-fdpbit"
1319 ;;
fa958513 1320xstormy16-*-elf)
200feb07 1321 tmake_file="stormy16/t-stormy16 t-fdpbit"
fa958513 1322 ;;
c660f132 1323xtensa*-*-elf*)
5f73c6cc
RO
1324 tmake_file="$tmake_file xtensa/t-xtensa xtensa/t-elf"
1325 extra_parts="$extra_parts crti.o crtn.o"
fa958513 1326 ;;
c660f132 1327xtensa*-*-linux*)
800d8bd5 1328 tmake_file="$tmake_file xtensa/t-xtensa xtensa/t-linux t-slibgcc-libgcc"
58cd1d70 1329 md_unwind_header=xtensa/linux-unwind.h
fa958513 1330 ;;
4a0a9457
MF
1331xtensa*-*-uclinux*)
1332 tmake_file="$tmake_file xtensa/t-xtensa xtensa/t-linux t-slibgcc-libgcc"
1333 md_unwind_header=xtensa/linux-unwind.h
1334 extra_parts="$extra_parts crtbeginS.o crtbeginT.o crtendS.o"
1335 ;;
fa958513 1336am33_2.0-*-linux*)
5f73c6cc 1337 # Don't need crtbeginT.o from *-*-linux* default.
fa958513 1338 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
b040f2be 1339 tmake_file="$tmake_file t-fdpbit"
fa958513 1340 ;;
541ed00e 1341m32c-*-elf*|m32c-*-rtems*)
45b86625 1342 tmake_file="$tmake_file m32c/t-m32c"
fa958513 1343 ;;
738f2522
BS
1344nvptx-*)
1345 tmake_file="$tmake_file nvptx/t-nvptx"
1346 extra_parts="crt0.o"
1347 ;;
fa958513
DJ
1348*)
1349 echo "*** Configuration ${host} not supported" 1>&2
1350 exit 1
1351 ;;
1352esac
6f461e76 1353
aca06c90
RO
1354case ${host} in
1355i[34567]86-*-* | x86_64-*-*)
9d8f95de
SN
1356 case ${host} in
1357 *-musl*)
1358 tmake_file="${tmake_file} i386/t-cpuinfo-static"
1359 ;;
1360 *)
1361 tmake_file="${tmake_file} i386/t-cpuinfo"
1362 ;;
1363 esac
aca06c90
RO
1364 ;;
1365esac
1366
6f461e76 1367case ${host} in
2a761e46 1368i[34567]86-*-linux* | x86_64-*-linux* | \
b040f2be 1369 i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu | \
2a761e46 1370 i[34567]86-*-gnu*)
d6d4d770 1371 tmake_file="${tmake_file} t-tls i386/t-linux i386/t-msabi t-slibgcc-libgcc"
b6110d6d 1372 if test "$libgcc_cv_cfi" = "yes"; then
ca007d11 1373 tmake_file="${tmake_file} t-stack i386/t-stack-i386"
b6110d6d 1374 fi
6f461e76
L
1375 ;;
1376esac
ff473280
L
1377
1378case ${host} in
21184026
JM
1379i[34567]86-*-elfiamcu | i[34567]86-*-rtems*)
1380 # These use soft-fp for SFmode and DFmode, not just TFmode.
1381 ;;
1382i[34567]86-*-* | x86_64-*-*)
aca0b0b3 1383 tmake_file="${tmake_file} t-softfp-tf"
7d6aa9a6
UB
1384 if test "${host_address}" = 32; then
1385 tmake_file="${tmake_file} i386/${host_address}/t-softfp"
1386 fi
492fbea1 1387 tmake_file="${tmake_file} i386/t-softfp t-softfp"
c174f11c
L
1388 ;;
1389esac
1390
1391case ${host} in
1392i[34567]86-*-linux* | x86_64-*-linux*)
1393 # Provide backward binary compatibility for 64bit Linux/x86.
1394 if test "${host_address}" = 64; then
1395 tmake_file="${tmake_file} i386/${host_address}/t-softfp-compat"
1396 fi
852b75ed 1397 tm_file="${tm_file} i386/value-unwind.h"
ff473280 1398 ;;
31927af6
AP
1399aarch64*-*-*)
1400 # ILP32 needs an extra header for unwinding
1401 tm_file="${tm_file} aarch64/value-unwind.h"
1402 ;;
ff473280 1403esac