]> git.ipfire.org Git - thirdparty/gcc.git/blame - libgcc/config.host
Darwin, add a missed file change
[thirdparty/gcc.git] / libgcc / config.host
CommitLineData
894a47b4 1# libgcc host-specific configuration file.
fbd26352 2# Copyright (C) 1997-2019 Free Software Foundation, Inc.
894a47b4 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
6bc9506f 8#Software Foundation; either version 3, or (at your option) any later
894a47b4 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
6bc9506f 17#along with GCC; see the file COPYING3. If not see
18#<http://www.gnu.org/licenses/>.
894a47b4 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.
a6f06169 46# enable_execute_stack The name of a source file implementing
47# __enable_execute_stack.
894a47b4 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.
1e53920f 54# md_unwind_header The name of a header file defining
55# MD_FALLBACK_FRAME_STATE_FOR.
84600db5 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.
894a47b4 59# tmake_file A list of machine-description-specific
2219274c 60# makefile fragments.
022a2799 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.
e59be7e3 66# unwind_header The name of the header file declaring the unwind
67# runtime interface routines.
894a47b4 68
69asm_hidden_op=.hidden
a6f06169 70enable_execute_stack=
894a47b4 71extra_parts=
72tmake_file=
022a2799 73tm_file=
74tm_define=
1e53920f 75md_unwind_header=no-unwind.h
e59be7e3 76unwind_header=unwind-generic.h
894a47b4 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
a23b9c51 83 tmake_file=t-fdpbit
894a47b4 84 ;;
1b3d2097 85aarch64*-*-*)
86 cpu_type=aarch64
87 ;;
894a47b4 88alpha*-*-*)
89 cpu_type=alpha
90 ;;
91am33_2.0-*-linux*)
92 cpu_type=mn10300
93 ;;
1b9bc90e 94amdgcn*-*-*)
95 cpu_type=gcn
96 tmake_file="${tmake_file} t-softfp-sfdf t-softfp"
97 ;;
8eaaaea3 98arc*-*-*)
99 cpu_type=arc
100 ;;
894a47b4 101arm*-*-*)
102 cpu_type=arm
103 ;;
38dd5584 104avr-*-*)
105 cpu_type=avr
106 ;;
894a47b4 107bfin*-*)
108 cpu_type=bfin
109 ;;
b9fdd12b 110cr16-*-*)
111 ;;
b4294f67 112crisv32-*-*)
113 cpu_type=cris
114 ;;
d406228c 115csky*-*-*)
116 cpu_type=csky
117 ;;
278e2fd1 118fido-*-*)
119 cpu_type=m68k
120 ;;
894a47b4 121frv*) cpu_type=frv
122 ;;
b6616c9c 123ft32*) cpu_type=ft32
124 ;;
be52b6d8 125moxie*) cpu_type=moxie
126 ;;
894a47b4 127i[34567]86-*-*)
128 cpu_type=i386
129 ;;
130x86_64-*-*)
131 cpu_type=i386
132 ;;
133ia64-*-*)
134 ;;
6af9f7ea 135hppa*-*-*)
894a47b4 136 cpu_type=pa
137 ;;
f6fe91e8 138lm32*-*-*)
139 cpu_type=lm32
140 ;;
894a47b4 141m32r*-*-*)
142 cpu_type=m32r
143 ;;
894a47b4 144m68k-*-*)
145 ;;
d34b0d1e 146microblaze*-*-*)
147 cpu_type=microblaze
148 ;;
894a47b4 149mips*-*-*)
9bcbf352 150 # All MIPS targets provide a full set of FP routines.
894a47b4 151 cpu_type=mips
4b366ca9 152 tmake_file="mips/t-mips"
153 if test "${libgcc_cv_mips_hard_float}" = yes; then
154 tmake_file="${tmake_file} t-hardfp-sfdf t-hardfp"
155 else
156 tmake_file="${tmake_file} t-softfp-sfdf"
157 fi
9bcbf352 158 if test "${ac_cv_sizeof_long_double}" = 16; then
159 tmake_file="${tmake_file} mips/t-softfp-tf"
160 fi
161 if test "${host_address}" = 64; then
162 tmake_file="${tmake_file} mips/t-mips64"
163 fi
164 tmake_file="${tmake_file} t-softfp"
894a47b4 165 ;;
eae21ed1 166nds32*-*)
167 cpu_type=nds32
168 ;;
de65406d 169nios2*-*-*)
170 cpu_type=nios2
171 ;;
2acd4f1d 172or1k*-*-*)
173 cpu_type=or1k
174 ;;
894a47b4 175powerpc*-*-*)
176 cpu_type=rs6000
177 ;;
83abca3e 178pru-*-*)
179 cpu_type=pru
180 ;;
894a47b4 181rs6000*-*-*)
182 ;;
36387fad 183riscv*-*-*)
184 cpu_type=riscv
185 ;;
894a47b4 186sparc64*-*-*)
187 cpu_type=sparc
188 ;;
189sparc*-*-*)
190 cpu_type=sparc
191 ;;
192spu*-*-*)
193 cpu_type=spu
194 ;;
195s390*-*-*)
196 cpu_type=s390
197 ;;
198# Note the 'l'; we need to be able to match e.g. "shle" or "shl".
199sh[123456789lbe]*-*-*)
200 cpu_type=sh
201 ;;
2da35515 202tilegx*-*-*)
203 cpu_type=tilegx
204 ;;
205tilepro*-*-*)
206 cpu_type=tilepro
207 ;;
707238af 208v850*-*-*)
209 cpu_type=v850
210 ;;
5aa04b01 211tic6x-*-*)
212 cpu_type=c6x
213 ;;
894a47b4 214esac
215
216# Common parts for widely ported systems.
217case ${host} in
218*-*-darwin*)
219 asm_hidden_op=.private_extern
4dc4ff49 220 tmake_file="$tmake_file t-darwin ${cpu_type}/t-darwin t-libgcc-pic t-slibgcc-darwin"
2279ee63 221 extra_parts="crt3.o d10-uwfef.o crttms.o crttme.o"
894a47b4 222 ;;
463553db 223*-*-dragonfly*)
224 tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip"
225 tmake_file="$tmake_file t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver"
226 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
227 ;;
894a47b4 228*-*-freebsd*)
229 # This is the generic ELF configuration of FreeBSD. Later
230 # machine-specific sections may refine and add to this
231 # configuration.
4dc4ff49 232 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"
237490bf 233 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
a997b0d8 234 case ${target_thread_file} in
235 posix)
4dc4ff49 236 tmake_file="${tmake_file} t-freebsd-thread"
a997b0d8 237 # Before 5.0, FreeBSD can't bind shared libraries to -lc
238 # when "optionally" threaded via weak pthread_* checks.
239 case ${host} in
240 *-*-freebsd[34] | *-*-freebsd[34].*)
241 tmake_file="${tmake_file} t-slibgcc-nolc-override"
242 ;;
243 esac
244 ;;
245 esac
894a47b4 246 ;;
9b859c0a 247*-*-fuchsia*)
248 tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip t-slibgcc t-slibgcc-fuchsia"
249 extra_parts="crtbegin.o crtend.o"
250 ;;
79573034 251*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu)
4dc4ff49 252 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"
ec5f5503 253 extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
254 if test x$enable_vtable_verify = xyes; then
255 extra_parts="$extra_parts vtv_start.o vtv_end.o vtv_start_preinit.o vtv_end_preinit.o"
256 fi
894a47b4 257 ;;
237490bf 258*-*-lynxos*)
4dc4ff49 259 tmake_file="$tmake_file t-lynx $cpu_type/t-crtstuff t-crtstuff-pic t-libgcc-pic"
237490bf 260 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
261 ;;
894a47b4 262*-*-netbsd*)
9834d450 263 tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip"
264 tmake_file="$tmake_file t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver"
7303090d 265 tmake_file="$tmake_file t-slibgcc-libgcc"
63d551af 266 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o"
894a47b4 267 ;;
268*-*-openbsd*)
81ae3d37 269 tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip"
4dc4ff49 270 case ${target_thread_file} in
271 posix)
272 tmake_file="$tmake_file t-openbsd-thread"
273 ;;
274 esac
894a47b4 275 ;;
276*-*-rtems*)
fbb6f195 277 tmake_file="$tmake_file t-rtems"
237490bf 278 extra_parts="crtbegin.o crtend.o"
894a47b4 279 ;;
63abf89e 280*-*-solaris2*)
e59be7e3 281 # Unless linker support and dl_iterate_phdr are present,
282 # unwind-dw2-fde-dip.c automatically falls back to unwind-dw2-fde.c.
80fc7cb7 283 tmake_file="$tmake_file sol2/t-sol2 t-eh-dw2-dip t-crtstuff-pic t-libgcc-pic t-slibgcc t-slibgcc-elf-ver"
63abf89e 284 if test $with_gnu_ld = yes; then
285 tmake_file="$tmake_file t-slibgcc-gld"
286 else
287 tmake_file="$tmake_file t-slibgcc-sld"
288 fi
289 # Add cpu-specific t-sol2 after t-slibgcc-* so it can augment SHLIB_MAPFILES.
290 tmake_file="$tmake_file $cpu_type/t-sol2"
291 extra_parts="gmon.o crtbegin.o crtend.o"
ba24ad38 292 if test "${libgcc_cv_solaris_crts}" = yes; then
9273bda7 293 # Solaris 11.4 provides crt1.o, crti.o, and crtn.o as part of the
ba24ad38 294 # base system. crtp.o and crtpg.o implement the compiler-dependent parts.
295 extra_parts="$extra_parts crtp.o crtpg.o"
80fc7cb7 296 # If the Solaris CRTs are present, both ld and gld will have PIE support.
297 extra_parts="$extra_parts crtbeginS.o crtendS.o"
ba24ad38 298 else
299 case ${host} in
0fd03648 300 i?86-*-solaris2* | x86_64-*-solaris2*)
ba24ad38 301 # Solaris 10+/x86 provides crt1.o, crti.o, crtn.o, and gcrt1.o as
302 # part of the base system.
303 ;;
0fd03648 304 sparc*-*-solaris2*)
ba24ad38 305 # Solaris 10+/SPARC lacks crt1.o and gcrt1.o.
306 extra_parts="$extra_parts crt1.o gcrt1.o"
307 ;;
308 esac
309 fi
08de21a4 310 if test x$enable_vtable_verify = xyes; then
311 extra_parts="$extra_parts vtv_start.o vtv_end.o vtv_start_preinit.o vtv_end_preinit.o"
312 fi
63abf89e 313 ;;
237490bf 314*-*-uclinux*)
315 extra_parts="crtbegin.o crtend.o"
316 ;;
317*-*-*vms*)
318 tmake_file="vms/t-vms"
784576c7 319 extra_parts="crt0.o crtbegin.o crtbeginS.o crtend.o crtendS.o"
237490bf 320 ;;
0c11960e 321*-*-vxworks7*)
899cdd88 322 tmake_file=t-vxworks7
323 ;;
894a47b4 324*-*-vxworks*)
4dc4ff49 325 tmake_file=t-vxworks
894a47b4 326 ;;
327*-*-elf)
237490bf 328 extra_parts="crtbegin.o crtend.o"
894a47b4 329 ;;
330esac
331
a6f06169 332case ${host} in
463553db 333*-*-darwin* | *-*-dragonfly* | *-*-freebsd* | *-*-netbsd* | *-*-openbsd* | \
334 *-*-solaris2*)
a6f06169 335 enable_execute_stack=enable-execute-stack-mprotect.c
336 ;;
337i[34567]86-*-mingw* | x86_64-*-mingw*)
338 enable_execute_stack=config/i386/enable-execute-stack-mingw32.c
339 ;;
6a000628 340i[34567]86-*-cygwin* | x86_64-*-cygwin*)
341 enable_execute_stack=config/i386/enable-execute-stack-mingw32.c
342 ;;
a6f06169 343*)
344 enable_execute_stack=enable-execute-stack-empty.c;
345 ;;
346esac
347
894a47b4 348case ${host} in
05ea12a2 349aarch64*-*-elf | aarch64*-*-rtems*)
1b3d2097 350 extra_parts="$extra_parts crtbegin.o crtend.o crti.o crtn.o"
8f908dc5 351 extra_parts="$extra_parts crtfastmath.o"
1b3d2097 352 tmake_file="${tmake_file} ${cpu_type}/t-aarch64"
8f908dc5 353 tmake_file="${tmake_file} ${cpu_type}/t-softfp t-softfp t-crtfm"
d10c58fd 354 md_unwind_header=aarch64/aarch64-unwind.h
1b3d2097 355 ;;
88afddbc 356aarch64*-*-freebsd*)
357 extra_parts="$extra_parts crtfastmath.o"
358 tmake_file="${tmake_file} ${cpu_type}/t-aarch64"
359 tmake_file="${tmake_file} ${cpu_type}/t-softfp t-softfp t-crtfm"
319901d0 360 md_unwind_header=aarch64/freebsd-unwind.h
88afddbc 361 ;;
e9684c79 362aarch64*-*-netbsd*)
363 extra_parts="$extra_parts crtfastmath.o"
364 tmake_file="${tmake_file} ${cpu_type}/t-aarch64"
365 tmake_file="${tmake_file} ${cpu_type}/t-softfp t-softfp t-crtfm"
366 md_unwind_header=aarch64/aarch64-unwind.h
367 ;;
9b859c0a 368aarch64*-*-fuchsia*)
369 tmake_file="${tmake_file} ${cpu_type}/t-aarch64"
370 tmake_file="${tmake_file} ${cpu_type}/t-softfp t-softfp"
371 ;;
1b3d2097 372aarch64*-*-linux*)
8f908dc5 373 extra_parts="$extra_parts crtfastmath.o"
1b3d2097 374 md_unwind_header=aarch64/linux-unwind.h
375 tmake_file="${tmake_file} ${cpu_type}/t-aarch64"
8f908dc5 376 tmake_file="${tmake_file} ${cpu_type}/t-softfp t-softfp t-crtfm"
1b3d2097 377 ;;
17b3d2a8 378alpha*-*-linux*)
4dc4ff49 379 tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee t-crtfm alpha/t-linux"
cdca0ab7 380 extra_parts="$extra_parts crtfastmath.o"
1e53920f 381 md_unwind_header=alpha/linux-unwind.h
894a47b4 382 ;;
894a47b4 383alpha*-*-freebsd*)
4dc4ff49 384 tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee t-crtfm"
237490bf 385 extra_parts="$extra_parts crtbeginT.o crtfastmath.o"
894a47b4 386 ;;
387alpha*-*-netbsd*)
4dc4ff49 388 tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee"
894a47b4 389 ;;
390alpha*-*-openbsd*)
4dc4ff49 391 tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee"
894a47b4 392 ;;
894a47b4 393alpha64-dec-*vms*)
4dc4ff49 394 tmake_file="$tmake_file alpha/t-alpha alpha/t-ieee alpha/t-vms t-slibgcc-vms"
237490bf 395 extra_parts="$extra_parts vms-dwarf2.o vms-dwarf2eh.o"
1e53920f 396 md_unwind_header=alpha/vms-unwind.h
894a47b4 397 ;;
398alpha*-dec-*vms*)
4dc4ff49 399 tmake_file="$tmake_file alpha/t-alpha alpha/t-ieee alpha/t-vms t-slibgcc-vms"
237490bf 400 extra_parts="$extra_parts vms-dwarf2.o vms-dwarf2eh.o"
1e53920f 401 md_unwind_header=alpha/vms-unwind.h
894a47b4 402 ;;
1b9bc90e 403amdgcn*-*-amdhsa)
404 tmake_file="$tmake_file gcn/t-amdgcn"
405 extra_parts="crt0.o"
406 ;;
8eaaaea3 407arc*-*-elf*)
8df543e1 408 tmake_file="arc/t-arc"
409 extra_parts="crti.o crtn.o crtend.o crtbegin.o crtendS.o crtbeginS.o"
410 extra_parts="$extra_parts crttls.o"
8eaaaea3 411 ;;
927c0132 412arc*-*-linux*)
8df543e1 413 tmake_file="${tmake_file} t-slibgcc-libgcc t-slibgcc-nolc-override arc/t-arc-uClibc arc/t-arc"
414 extra_parts="$extra_parts crti.o crtn.o"
74d8fa14 415 extra_parts="$extra_parts crttls.o"
e892f4fa 416 md_unwind_header=arc/linux-unwind.h
8eaaaea3 417 ;;
17a98fea 418arm-wrs-vxworks|arm-wrs-vxworks7)
f4f176bd 419 tmake_file="$tmake_file arm/t-arm arm/t-elf t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp"
237490bf 420 extra_parts="$extra_parts crti.o crtn.o"
17a98fea 421 case ${host} in
422 *-*-vxworks7)
423 # Note that arm/t-bpabi will reset the LIB2ADDEH macro.
424 # This is intentional.
425 tmake_file="$tmake_file arm/t-bpabi arm/t-vxworks7"
426 tm_file="$tm_file arm/bpabi-lib.h"
427 unwind_header=config/arm/unwind-arm.h
428 ;;
429 esac
894a47b4 430 ;;
275d0a7c 431arm*-*-freebsd*) # ARM FreeBSD EABI
432 tmake_file="${tmake_file} arm/t-arm t-fixedpoint-gnu-prefix arm/t-elf"
8b9c62ca 433 tmake_file="${tmake_file} arm/t-bpabi arm/t-freebsd"
275d0a7c 434 tm_file="${tm_file} arm/bpabi-lib.h"
435 unwind_header=config/arm/unwind-arm.h
436 tmake_file="${tmake_file} t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp"
437 ;;
9b859c0a 438arm*-*-fuchsia*)
439 tmake_file="${tmake_file} arm/t-arm arm/t-elf arm/t-bpabi"
440 tmake_file="${tmake_file} arm/tsoftfp t-softfp"
441 tm_file="${tm_file} arm/bpabi-lib.h"
442 unwind_header=config/arm/unwind-arm.h
443 ;;
894a47b4 444arm*-*-netbsdelf*)
16753006 445 tmake_file="$tmake_file arm/t-arm"
446 case ${host} in
447 arm*-*-netbsdelf-*eabi*)
448 tmake_file="${tmake_file} arm/t-netbsd-eabi"
449 unwind_header=config/arm/unwind-arm.h
450 ;;
451 *)
452 tmake_file="${tmake_file} arm/t-netbsd t-slibgcc-gld-nover"
453 ;;
454 esac
894a47b4 455 ;;
894a47b4 456arm*-*-linux*) # ARM GNU/Linux with ELF
1ddaa252 457 tmake_file="${tmake_file} arm/t-arm t-fixedpoint-gnu-prefix t-crtfm"
6a11e52b 458 tmake_file="${tmake_file} arm/t-elf arm/t-bpabi arm/t-linux-eabi t-slibgcc-libgcc"
459 tm_file="$tm_file arm/bpabi-lib.h"
460 unwind_header=config/arm/unwind-arm.h
84600db5 461 tmake_file="$tmake_file t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp"
1ddaa252 462 extra_parts="$extra_parts crtfastmath.o"
894a47b4 463 ;;
464arm*-*-uclinux*) # ARM ucLinux
1ddaa252 465 tmake_file="${tmake_file} t-fixedpoint-gnu-prefix t-crtfm"
4ef5912a 466 tmake_file="$tmake_file arm/t-arm arm/t-elf t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp"
6a11e52b 467 tmake_file="${tmake_file} arm/t-bpabi"
468 tm_file="$tm_file arm/bpabi-lib.h"
469 unwind_header=config/arm/unwind-arm.h
237490bf 470 extra_parts="$extra_parts crti.o crtn.o"
894a47b4 471 ;;
21ecea39 472arm*-*-phoenix*)
473 tmake_file="t-hardfp t-softfp arm/t-arm arm/t-elf arm/t-softfp arm/t-phoenix"
474 tmake_file="${tmake_file} arm/t-bpabi"
475 tm_file="$tm_file arm/bpabi-lib.h"
476 extra_parts="crtbegin.o crtend.o crti.o crtn.o"
477 unwind_header=config/arm/unwind-arm.h
478 ;;
598ebe3d 479arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*)
9213d2eb 480 tmake_file="${tmake_file} arm/t-arm arm/t-elf t-fixedpoint-gnu-prefix"
022a2799 481 tm_file="$tm_file arm/bpabi-lib.h"
e59be7e3 482 case ${host} in
598ebe3d 483 arm*-*-eabi* | arm*-*-rtems*)
1ddaa252 484 tmake_file="${tmake_file} arm/t-bpabi t-crtfm"
237490bf 485 extra_parts="crtbegin.o crtend.o crti.o crtn.o"
e59be7e3 486 ;;
487 arm*-*-symbianelf*)
a997b0d8 488 tmake_file="${tmake_file} arm/t-symbian t-slibgcc-nolc-override"
022a2799 489 tm_file="$tm_file arm/symbian-lib.h"
237490bf 490 # Symbian OS provides its own startup code.
e59be7e3 491 ;;
492 esac
84600db5 493 tmake_file="$tmake_file t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp"
18e98669 494 extra_parts="$extra_parts crtfastmath.o"
e59be7e3 495 unwind_header=config/arm/unwind-arm.h
894a47b4 496 ;;
894a47b4 497avr-*-*)
a23b9c51 498 # Make HImode functions for AVR
499 tmake_file="${cpu_type}/t-avr t-fpbit"
fd28e216 500 if test x${with_avrlibc} != xno; then
501 tmake_file="$tmake_file ${cpu_type}/t-avrlibc"
502 fi
022a2799 503 tm_file="$tm_file avr/avr-lib.h"
894a47b4 504 ;;
505bfin*-elf*)
2219274c 506 tmake_file="bfin/t-bfin bfin/t-crtlibid bfin/t-crtstuff t-libgcc-pic t-fdpbit"
237490bf 507 extra_parts="$extra_parts crtbeginS.o crtendS.o crti.o crtn.o crtlibid.o"
894a47b4 508 ;;
509bfin*-uclinux*)
2219274c 510 tmake_file="bfin/t-bfin bfin/t-crtlibid bfin/t-crtstuff t-libgcc-pic t-fdpbit"
237490bf 511 extra_parts="$extra_parts crtbeginS.o crtendS.o crtlibid.o"
1e53920f 512 md_unwind_header=bfin/linux-unwind.h
894a47b4 513 ;;
bce94ab5 514bfin*-linux-uclibc*)
2219274c 515 tmake_file="$tmake_file bfin/t-bfin bfin/t-crtstuff t-libgcc-pic t-fdpbit bfin/t-linux"
bce94ab5 516 # No need to build crtbeginT.o on uClibc systems. Should probably
517 # be moved to the OS specific section above.
518 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
1e53920f 519 md_unwind_header=bfin/linux-unwind.h
bce94ab5 520 ;;
a23b9c51 521bfin*-rtems*)
9213d2eb 522 tmake_file="$tmake_file bfin/t-bfin t-fdpbit"
237490bf 523 extra_parts="$extra_parts crti.o crtn.o"
a23b9c51 524 ;;
894a47b4 525bfin*-*)
9213d2eb 526 tmake_file="$tmake_file bfin/t-bfin t-fdpbit"
237490bf 527 extra_parts="crtbegin.o crtend.o crti.o crtn.o"
894a47b4 528 ;;
b9fdd12b 529cr16-*-elf)
530 tmake_file="${tmake_file} cr16/t-cr16 cr16/t-crtlibid t-fdpbit"
531 extra_parts="$extra_parts crti.o crtn.o crtlibid.o"
532 ;;
237490bf 533crisv32-*-elf)
b4294f67 534 tmake_file="$tmake_file cris/t-cris t-softfp-sfdf t-softfp"
237490bf 535 ;;
237490bf 536cris-*-elf)
b4294f67 537 tmake_file="$tmake_file cris/t-cris t-softfp-sfdf t-softfp cris/t-elfmulti"
237490bf 538 ;;
877d7f12 539cris-*-linux* | crisv32-*-linux*)
b4294f67 540 tmake_file="$tmake_file cris/t-cris t-softfp-sfdf t-softfp cris/t-linux"
894a47b4 541 ;;
d406228c 542csky-*-elf*)
543 tmake_file="csky/t-csky t-fdpbit"
544 extra_parts="$extra_parts crti.o crtn.o"
545 ;;
546csky-*-linux*)
547 tmake_file="$tmake_file csky/t-csky t-slibgcc-libgcc t-fdpbit csky/t-linux-csky"
548 extra_parts="$extra_parts crti.o crtn.o"
549 md_unwind_header=csky/linux-unwind.h
550 ;;
1c579c0e 551epiphany-*-elf* | epiphany-*-rtems*)
552 tmake_file="$tmake_file epiphany/t-epiphany t-fdpbit epiphany/t-custom-eqsf"
d19f5793 553 extra_parts="$extra_parts crti.o crtint.o crtrunc.o crtm1reg-r43.o crtm1reg-r63.o crtn.o"
554 ;;
894a47b4 555fr30-*-elf)
9213d2eb 556 tmake_file="$tmake_file fr30/t-fr30 t-fdpbit"
237490bf 557 extra_parts="$extra_parts crti.o crtn.o"
894a47b4 558 ;;
559frv-*-elf)
237490bf 560 tmake_file="$tmake_file frv/t-frv t-fdpbit"
005a5ef5 561 tm_file="$tm_file frv/elf-lib.h frv/frv-abi.h"
237490bf 562 # Don't use crtbegin.o, crtend.o.
563 extra_parts="frvbegin.o frvend.o"
894a47b4 564 ;;
565frv-*-*linux*)
9213d2eb 566 tmake_file="$tmake_file frv/t-frv frv/t-linux t-fdpbit"
005a5ef5 567 tm_file="$tm_file frv/elf-lib.h frv/frv-abi.h"
894a47b4 568 ;;
b6616c9c 569ft32-*-elf)
570 tmake_file="ft32/t-ft32 t-softfp-sfdf t-softfp-excl t-softfp"
571 extra_parts="$extra_parts crti.o crti-hw.o crtn.o"
572 ;;
894a47b4 573h8300-*-elf*)
9213d2eb 574 tmake_file="$tmake_file h8300/t-h8300 t-fpbit"
022a2799 575 tm_file="$tm_file h8300/h8300-lib.h"
237490bf 576 extra_parts="$extra_parts crti.o crtn.o"
894a47b4 577 ;;
acff2768 578h8300-*-linux*)
579 tmake_file="t-linux h8300/t-linux t-softfp-sfdf t-softfp"
580 tm_file="$tm_file h8300/h8300-lib.h"
581 ;;
6af9f7ea 582hppa*64*-*-linux*)
9213d2eb 583 tmake_file="$tmake_file pa/t-linux pa/t-linux64"
a99f9d91 584 extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
894a47b4 585 ;;
6af9f7ea 586hppa*-*-linux*)
9213d2eb 587 tmake_file="$tmake_file pa/t-linux t-slibgcc-libgcc"
a997b0d8 588 # Set the libgcc version number
177cc56c 589 if test x$ac_cv_sjlj_exceptions = xyes; then
a997b0d8 590 tmake_file="$tmake_file pa/t-slibgcc-sjlj-ver"
591 else
592 tmake_file="$tmake_file pa/t-slibgcc-dwarf-ver"
593 fi
a99f9d91 594 extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
01cb8ad1 595 md_unwind_header=pa/linux-unwind.h
894a47b4 596 ;;
597hppa[12]*-*-hpux10*)
4dc4ff49 598 tmake_file="$tmake_file pa/t-hpux pa/t-hpux10 t-libgcc-pic t-slibgcc"
a997b0d8 599 # Set the libgcc version number
177cc56c 600 if test x$ac_cv_sjlj_exceptions = xyes; then
a997b0d8 601 tmake_file="$tmake_file pa/t-slibgcc-sjlj-ver"
602 else
603 tmake_file="$tmake_file pa/t-slibgcc-dwarf-ver"
604 fi
605 tmake_file="$tmake_file pa/t-slibgcc-hpux t-slibgcc-hpux"
1e53920f 606 md_unwind_header=pa/hpux-unwind.h
894a47b4 607 ;;
608hppa*64*-*-hpux11*)
ab4fdb3d 609 tmake_file="$tmake_file pa/t-hpux pa/t-pa64 pa/t-stublib t-libgcc-pic t-slibgcc"
a997b0d8 610 # Set the libgcc version number
177cc56c 611 if test x$ac_cv_sjlj_exceptions = xyes; then
a997b0d8 612 tmake_file="$tmake_file pa/t-slibgcc-sjlj-ver"
613 else
614 tmake_file="$tmake_file pa/t-slibgcc-dwarf-ver"
615 fi
616 tmake_file="$tmake_file pa/t-slibgcc-hpux t-slibgcc-hpux"
677e8b73 617 tm_file="$tm_file pa/pa64-hpux-lib.h"
237490bf 618 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o \
619 libgcc_stub.a"
1e53920f 620 md_unwind_header=pa/hpux-unwind.h
894a47b4 621 ;;
622hppa[12]*-*-hpux11*)
4dc4ff49 623 tmake_file="$tmake_file pa/t-hpux pa/t-stublib t-libgcc-pic t-slibgcc"
a997b0d8 624 # Set the libgcc version number
177cc56c 625 if test x$ac_cv_sjlj_exceptions = xyes; then
a997b0d8 626 tmake_file="$tmake_file pa/t-slibgcc-sjlj-ver"
627 else
628 tmake_file="$tmake_file pa/t-slibgcc-dwarf-ver"
629 fi
630 tmake_file="$tmake_file pa/t-slibgcc-hpux t-slibgcc-hpux"
237490bf 631 extra_parts="libgcc_stub.a"
1e53920f 632 md_unwind_header=pa/hpux-unwind.h
894a47b4 633 ;;
07cf7615 634hppa*-*-openbsd*)
635 tmake_file="$tmake_file pa/t-openbsd"
636 ;;
894a47b4 637i[34567]86-*-darwin*)
65e1ae67 638 tmake_file="$tmake_file i386/t-crtpc t-crtfm i386/t-msabi"
022a2799 639 tm_file="$tm_file i386/darwin-lib.h"
ba079bc9 640 extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
894a47b4 641 ;;
642x86_64-*-darwin*)
65e1ae67 643 tmake_file="$tmake_file i386/t-crtpc t-crtfm i386/t-msabi"
022a2799 644 tm_file="$tm_file i386/darwin-lib.h"
ba079bc9 645 extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
894a47b4 646 ;;
146896ec 647i[34567]86-*-elfiamcu)
648 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"
649 ;;
894a47b4 650i[34567]86-*-elf*)
4dc4ff49 651 tmake_file="$tmake_file i386/t-crtstuff t-crtstuff-pic t-libgcc-pic"
894a47b4 652 ;;
1e085786 653x86_64-*-elf* | x86_64-*-rtems*)
4dc4ff49 654 tmake_file="$tmake_file i386/t-crtstuff t-crtstuff-pic t-libgcc-pic"
ab55f7db 655 case ${host} in
656 x86_64-*-rtems*)
657 extra_parts="$extra_parts crti.o crtn.o"
658 ;;
659 esac
cc8ebe39 660 ;;
9b859c0a 661x86_64-*-fuchsia*)
662 tmake_file="$tmake_file t-libgcc-pic"
663 ;;
463553db 664i[34567]86-*-dragonfly*)
665 tmake_file="${tmake_file} i386/t-dragonfly i386/t-crtstuff"
666 md_unwind_header=i386/dragonfly-unwind.h
667 ;;
668x86_64-*-dragonfly*)
669 tmake_file="${tmake_file} i386/t-dragonfly i386/t-crtstuff"
670 md_unwind_header=i386/dragonfly-unwind.h
671 ;;
894a47b4 672i[34567]86-*-freebsd*)
237490bf 673 tmake_file="${tmake_file} i386/t-freebsd i386/t-crtstuff"
328976ed 674 md_unwind_header=i386/freebsd-unwind.h
894a47b4 675 ;;
676x86_64-*-freebsd*)
237490bf 677 tmake_file="${tmake_file} i386/t-freebsd i386/t-crtstuff"
328976ed 678 md_unwind_header=i386/freebsd-unwind.h
894a47b4 679 ;;
680i[34567]86-*-netbsdelf*)
a1928e5c 681 tmake_file="${tmake_file} i386/t-crtstuff"
894a47b4 682 ;;
894a47b4 683x86_64-*-netbsd*)
237490bf 684 tmake_file="${tmake_file} i386/t-crtstuff"
894a47b4 685 ;;
894a47b4 686i[34567]86-*-openbsd*)
687 ;;
51796b3a 688x86_64-*-openbsd*)
689 ;;
fe27820f 690i[34567]86-*-linux*)
6d057ce8 691 extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
2a8549e0 692 tmake_file="${tmake_file} i386/t-crtpc t-crtfm i386/t-crtstuff t-dfprules"
58ca7445 693 tm_file="${tm_file} i386/elf-lib.h"
1e53920f 694 md_unwind_header=i386/linux-unwind.h
894a47b4 695 ;;
79573034 696i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu)
fe27820f 697 extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
2a8549e0 698 tmake_file="${tmake_file} i386/t-crtpc t-crtfm i386/t-crtstuff t-dfprules"
58ca7445 699 tm_file="${tm_file} i386/elf-lib.h"
fe27820f 700 ;;
701x86_64-*-linux*)
6d057ce8 702 extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
2a8549e0 703 tmake_file="${tmake_file} i386/t-crtpc t-crtfm i386/t-crtstuff t-dfprules"
58ca7445 704 tm_file="${tm_file} i386/elf-lib.h"
1e53920f 705 md_unwind_header=i386/linux-unwind.h
894a47b4 706 ;;
79573034 707x86_64-*-kfreebsd*-gnu)
fe27820f 708 extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
2a8549e0 709 tmake_file="${tmake_file} i386/t-crtpc t-crtfm i386/t-crtstuff t-dfprules"
58ca7445 710 tm_file="${tm_file} i386/elf-lib.h"
fe27820f 711 ;;
894a47b4 712i[34567]86-pc-msdosdjgpp*)
713 ;;
714i[34567]86-*-lynxos*)
715 ;;
894a47b4 716i[34567]86-*-nto-qnx*)
4dc4ff49 717 tmake_file="$tmake_file i386/t-nto t-libgcc-pic"
237490bf 718 extra_parts=crtbegin.o
894a47b4 719 ;;
720i[34567]86-*-rtems*)
ac34f4bd 721 tmake_file="$tmake_file i386/t-crtstuff t-softfp-sfdftf i386/32/t-softfp i386/t-softfp t-softfp"
237490bf 722 extra_parts="$extra_parts crti.o crtn.o"
894a47b4 723 ;;
0fd03648 724i[34567]86-*-solaris2* | x86_64-*-solaris2*)
65e1ae67 725 tmake_file="$tmake_file i386/t-crtpc t-crtfm i386/t-msabi"
ba079bc9 726 extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
43cbcd84 727 tm_file="${tm_file} i386/elf-lib.h"
1e53920f 728 md_unwind_header=i386/sol2-unwind.h
894a47b4 729 ;;
0e50554f 730i[4567]86-wrs-vxworks|i[4567]86-wrs-vxworksae|i[4567]86-wrs-vxworks7|x86_64-wrs-vxworks7)
894a47b4 731 ;;
1e53920f 732i[34567]86-*-cygwin*)
1db4f54b 733 extra_parts="crtbegin.o crtbeginS.o crtend.o crtfastmath.o"
5be42fa9 734 if test x$enable_vtable_verify = xyes; then
735 extra_parts="$extra_parts vtv_start.o vtv_end.o vtv_start_preinit.o vtv_end_preinit.o"
736 fi
a997b0d8 737 # This has to match the logic for DWARF2_UNWIND_INFO in gcc/config/i386/cygming.h
177cc56c 738 if test x$ac_cv_sjlj_exceptions = xyes; then
a997b0d8 739 tmake_eh_file="i386/t-sjlj-eh"
740 else
741 tmake_eh_file="i386/t-dw2-eh"
742 fi
743 # Shared libgcc DLL install dir depends on cross/native build.
744 if test x${build} = x${host} ; then
745 tmake_dlldir_file="i386/t-dlldir"
746 else
747 tmake_dlldir_file="i386/t-dlldir-x"
748 fi
2a8549e0 749 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"
8f433c51 750 ;;
45d13ef4 751x86_64-*-cygwin*)
1db4f54b 752 extra_parts="crtbegin.o crtbeginS.o crtend.o crtfastmath.o"
5be42fa9 753 if test x$enable_vtable_verify = xyes; then
754 extra_parts="$extra_parts vtv_start.o vtv_end.o vtv_start_preinit.o vtv_end_preinit.o"
755 fi
45d13ef4 756 # This has to match the logic for DWARF2_UNWIND_INFO in gcc/config/i386/cygming.h
177cc56c 757 if test x$ac_cv_sjlj_exceptions = xyes; then
45d13ef4 758 tmake_eh_file="i386/t-sjlj-eh"
51d42eb1 759 elif test "${host_address}" = 32; then
760 # biarch -m32 with --disable-sjlj-exceptions
761 tmake_eh_file="i386/t-dw2-eh"
45d13ef4 762 else
763 tmake_eh_file="i386/t-seh-eh"
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
771 # FIXME - dj - t-chkstk used to be in here, need a 64-bit version of that
2a8549e0 772 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"
45d13ef4 773 ;;
1e53920f 774i[34567]86-*-mingw*)
775 extra_parts="crtbegin.o crtend.o crtfastmath.o"
5be42fa9 776 if test x$enable_vtable_verify = xyes; then
777 extra_parts="$extra_parts vtv_start.o vtv_end.o vtv_start_preinit.o vtv_end_preinit.o"
778 fi
4dc4ff49 779 case ${target_thread_file} in
780 win32)
781 tmake_file="$tmake_file i386/t-gthr-win32"
782 ;;
2d00fffd 783 posix)
784 tmake_file="i386/t-mingw-pthread $tmake_file"
785 ;;
4dc4ff49 786 esac
a997b0d8 787 # This has to match the logic for DWARF2_UNWIND_INFO in gcc/config/i386/cygming.h
177cc56c 788 if test x$ac_cv_sjlj_exceptions = xyes; then
a997b0d8 789 tmake_eh_file="i386/t-sjlj-eh"
790 else
791 tmake_eh_file="i386/t-dw2-eh"
7ed6dbef 792 md_unwind_header=i386/w32-unwind.h
a997b0d8 793 fi
794 # Shared libgcc DLL install dir depends on cross/native build.
795 if test x${build} = x${host} ; then
796 tmake_dlldir_file="i386/t-dlldir"
797 else
798 tmake_dlldir_file="i386/t-dlldir-x"
799 fi
2a8549e0 800 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"
1e53920f 801 ;;
8f433c51 802x86_64-*-mingw*)
4dc4ff49 803 case ${target_thread_file} in
804 win32)
805 tmake_file="$tmake_file i386/t-gthr-win32"
806 ;;
2d00fffd 807 posix)
808 tmake_file="i386/t-mingw-pthread $tmake_file"
809 ;;
4dc4ff49 810 esac
a997b0d8 811 # This has to match the logic for DWARF2_UNWIND_INFO in gcc/config/i386/cygming.h
177cc56c 812 if test x$ac_cv_sjlj_exceptions = xyes; then
a997b0d8 813 tmake_eh_file="i386/t-sjlj-eh"
51d42eb1 814 elif test "${host_address}" = 32; then
815 # biarch -m32 with --disable-sjlj-exceptions
816 tmake_eh_file="i386/t-dw2-eh"
817 md_unwind_header=i386/w32-unwind.h
a997b0d8 818 else
8ad0b530 819 tmake_eh_file="i386/t-seh-eh"
a997b0d8 820 fi
821 # Shared libgcc DLL install dir depends on cross/native build.
822 if test x${build} = x${host} ; then
823 tmake_dlldir_file="i386/t-dlldir"
824 else
825 tmake_dlldir_file="i386/t-dlldir-x"
826 fi
2a8549e0 827 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"
0624d0c7 828 extra_parts="$extra_parts crtbegin.o crtend.o crtfastmath.o"
5be42fa9 829 if test x$enable_vtable_verify = xyes; then
830 extra_parts="$extra_parts vtv_start.o vtv_end.o vtv_start_preinit.o vtv_end_preinit.o"
831 fi
894a47b4 832 ;;
894a47b4 833ia64*-*-elf*)
237490bf 834 extra_parts="$extra_parts crtbeginS.o crtendS.o crtfastmath.o"
dff001ee 835 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"
894a47b4 836 ;;
837ia64*-*-freebsd*)
237490bf 838 extra_parts="$extra_parts crtfastmath.o"
dff001ee 839 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"
894a47b4 840 ;;
841ia64*-*-linux*)
237490bf 842 # Don't use crtbeginT.o from *-*-linux* default.
894a47b4 843 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o"
2ff958e6 844 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"
e59be7e3 845 if test x$with_system_libunwind != xyes ; then
a997b0d8 846 tmake_file="${tmake_file} t-libunwind-elf ia64/t-linux-libunwind"
e59be7e3 847 fi
1e53920f 848 md_unwind_header=ia64/linux-unwind.h
894a47b4 849 ;;
850ia64*-*-hpux*)
2ff958e6 851 tmake_file="ia64/t-ia64 ia64/t-ia64-elf ia64/t-hpux t-slibgcc ia64/t-slibgcc-hpux t-slibgcc-hpux"
894a47b4 852 ;;
9b9a2528 853ia64-hp-*vms*)
dff001ee 854 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"
237490bf 855 extra_parts="$extra_parts crtinitS.o"
1e53920f 856 md_unwind_header=ia64/vms-unwind.h
9b9a2528 857 ;;
894a47b4 858iq2000*-*-elf*)
08417926 859 tmake_file="iq2000/t-iq2000 t-fdpbit"
237490bf 860 # Don't use default.
861 extra_parts=
894a47b4 862 ;;
fbb6f195 863lm32-*-elf*)
237490bf 864 extra_parts="$extra_parts crti.o crtn.o"
84600db5 865 tmake_file="lm32/t-lm32 lm32/t-elf t-softfp-sfdf t-softfp"
f6fe91e8 866 ;;
fbb6f195 867lm32-*-rtems*)
868 tmake_file="$tmake_file lm32/t-lm32 lm32/t-elf t-softfp-sfdf t-softfp"
869 extra_parts="$extra_parts crti.o crtn.o"
870 ;;
f6fe91e8 871lm32-*-uclinux*)
237490bf 872 extra_parts="$extra_parts crtbegin.o crtendS.o crtbeginT.o"
4dc4ff49 873 tmake_file="lm32/t-lm32 lm32/t-uclinux t-libgcc-pic t-softfp-sfdf t-softfp"
f6fe91e8 874 ;;
237490bf 875m32r-*-elf*)
78c81e30 876 tmake_file="$tmake_file m32r/t-m32r t-fdpbit"
877 extra_parts="$extra_parts crtinit.o crtfini.o"
894a47b4 878 ;;
879m32rle-*-elf*)
a23b9c51 880 tmake_file=t-fdpbit
894a47b4 881 ;;
882m32r-*-linux*)
237490bf 883 tmake_file="$tmake_file m32r/t-linux t-fdpbit"
894a47b4 884 ;;
885m32rle-*-linux*)
237490bf 886 tmake_file="$tmake_file m32r/t-linux t-fdpbit"
894a47b4 887 ;;
9213d2eb 888m68k-*-elf* | fido-*-elf)
889 tmake_file="$tmake_file m68k/t-floatlib"
894a47b4 890 ;;
6af9f7ea 891m68k*-*-netbsdelf*)
894a47b4 892 ;;
893m68k*-*-openbsd*)
894 ;;
5bb27b7c 895m68k-*-uclinux*) # Motorola m68k/ColdFire running uClinux with uClibc
896 tmake_file="$tmake_file m68k/t-floatlib m68k/t-linux"
1e53920f 897 md_unwind_header=m68k/linux-unwind.h
894a47b4 898 ;;
1e53920f 899m68k-*-linux*) # Motorola m68k's running GNU/Linux
894a47b4 900 # with ELF format using glibc 2
901 # aka the GNU/Linux C library 6.
5bb27b7c 902 tmake_file="$tmake_file m68k/t-floatlib m68k/t-linux"
177cc56c 903 # If not configured with setjmp/longjmp exceptions, bump the
a997b0d8 904 # libgcc version number.
177cc56c 905 if test x$ac_cv_sjlj_exceptions != xyes; then
a997b0d8 906 tmake_file="$tmake_file m68k/t-slibgcc-elf-ver"
907 fi
1e53920f 908 md_unwind_header=m68k/linux-unwind.h
894a47b4 909 ;;
910m68k-*-rtems*)
9213d2eb 911 tmake_file="$tmake_file m68k/t-floatlib"
237490bf 912 extra_parts="$extra_parts crti.o crtn.o"
894a47b4 913 ;;
914mcore-*-elf)
9213d2eb 915 tmake_file="mcore/t-mcore t-fdpbit"
237490bf 916 extra_parts="$extra_parts crti.o crtn.o"
894a47b4 917 ;;
a997b0d8 918microblaze*-linux*)
c48df545 919 tmake_file="${tmake_file} microblaze/t-microblaze t-fdpbit t-slibgcc-libgcc"
a997b0d8 920 ;;
98f2ac05 921microblaze*-*-elf)
922 tmake_file="${tmake_file} microblaze/t-microblaze t-fdpbit"
923 extra_parts="$extra_parts crtbeginS.o crtendS.o crtbeginT.o crti.o crtn.o"
d34b0d1e 924 ;;
d742e92d 925microblaze*-*-rtems*)
926 tmake_file="${tmake_file} microblaze/t-microblaze t-fdpbit"
927 extra_parts="$extra_parts crtbeginS.o crtendS.o crtbeginT.o crti.o crtn.o"
928 ;;
894a47b4 929mips*-*-netbsd*) # NetBSD/mips, either endian.
930 ;;
894a47b4 931mips*-*-linux*) # Linux MIPS, either endian.
283681bb 932 extra_parts="$extra_parts crtfastmath.o"
60b34f30 933 tmake_file="${tmake_file} t-crtfm"
60b34f30 934 case ${host} in
272552a3 935 mips64r5900* | mipsr5900*)
936 # The MIPS16 support code uses floating point
937 # instructions that are not supported on r5900.
938 ;;
939 *)
940 tmake_file="${tmake_file} mips/t-mips16 t-slibgcc-libgcc"
941 ;;
60b34f30 942 esac
1e53920f 943 md_unwind_header=mips/linux-unwind.h
894a47b4 944 ;;
a23b9c51 945mips*-sde-elf*)
20dbbfaf 946 tmake_file="$tmake_file mips/t-crtstuff mips/t-mips16"
a23b9c51 947 case "${with_newlib}" in
948 yes)
949 # newlib / libgloss.
950 ;;
951 *)
952 # MIPS toolkit libraries.
237490bf 953 tmake_file="$tmake_file mips/t-sdemtk"
a23b9c51 954 ;;
955 esac
237490bf 956 extra_parts="$extra_parts crti.o crtn.o"
a23b9c51 957 ;;
21889c08 958mipsisa32-*-elf* | mipsisa32el-*-elf* | \
959mipsisa32r2-*-elf* | mipsisa32r2el-*-elf* | \
78645e70 960mipsisa32r6-*-elf* | mipsisa32r6el-*-elf* | \
21889c08 961mipsisa64-*-elf* | mipsisa64el-*-elf* | \
78645e70 962mipsisa64r2-*-elf* | mipsisa64r2el-*-elf* | \
963mipsisa64r6-*-elf* | mipsisa64r6el-*-elf*)
4dc4ff49 964 tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16"
237490bf 965 extra_parts="$extra_parts crti.o crtn.o"
77a32a8e 966 ;;
894a47b4 967mipsisa64sr71k-*-elf*)
20dbbfaf 968 tmake_file="$tmake_file mips/t-elf mips/t-crtstuff t-fdpbit"
237490bf 969 extra_parts="$extra_parts crti.o crtn.o"
894a47b4 970 ;;
971mipsisa64sb1-*-elf* | mipsisa64sb1el-*-elf*)
4dc4ff49 972 tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16"
237490bf 973 extra_parts="$extra_parts crti.o crtn.o"
894a47b4 974 ;;
975mips-*-elf* | mipsel-*-elf*)
4dc4ff49 976 tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16"
237490bf 977 extra_parts="$extra_parts crti.o crtn.o"
894a47b4 978 ;;
60b34f30 979mipsr5900-*-elf* | mipsr5900el-*-elf*)
980 tmake_file="$tmake_file mips/t-elf mips/t-crtstuff"
981 extra_parts="$extra_parts crti.o crtn.o"
982 ;;
894a47b4 983mips64-*-elf* | mips64el-*-elf*)
4dc4ff49 984 tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16"
237490bf 985 extra_parts="$extra_parts crti.o crtn.o"
894a47b4 986 ;;
60b34f30 987mips64r5900-*-elf* | mips64r5900el-*-elf*)
988 tmake_file="$tmake_file mips/t-elf mips/t-crtstuff"
989 extra_parts="$extra_parts crti.o crtn.o"
990 ;;
894a47b4 991mips64vr-*-elf* | mips64vrel-*-elf*)
4dc4ff49 992 tmake_file="$tmake_file mips/t-elf mips/t-vr mips/t-crtstuff"
237490bf 993 extra_parts="$extra_parts crti.o crtn.o"
894a47b4 994 ;;
995mips64orion-*-elf* | mips64orionel-*-elf*)
4dc4ff49 996 tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16"
237490bf 997 extra_parts="$extra_parts crti.o crtn.o"
894a47b4 998 ;;
999mips*-*-rtems*)
4dc4ff49 1000 tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16"
237490bf 1001 extra_parts="$extra_parts crti.o crtn.o"
894a47b4 1002 ;;
1003mips-wrs-vxworks)
1004 ;;
894a47b4 1005mipstx39-*-elf* | mipstx39el-*-elf*)
237490bf 1006 tmake_file="$tmake_file mips/t-crtstuff mips/t-mips16"
894a47b4 1007 ;;
1008mmix-knuth-mmixware)
8525326e 1009 extra_parts="crti.o crtn.o crtbegin.o crtend.o"
1010 tmake_file="${tmake_file} ${cpu_type}/t-${cpu_type}"
894a47b4 1011 ;;
1012mn10300-*-*)
a23b9c51 1013 tmake_file=t-fdpbit
894a47b4 1014 ;;
ffdf58db 1015moxie-*-elf | moxie-*-moxiebox* | moxie-*-uclinux* | moxie-*-rtems*)
fbb6f195 1016 tmake_file="$tmake_file moxie/t-moxie t-softfp-sfdf t-softfp-excl t-softfp"
ffdf58db 1017 extra_parts="$extra_parts crti.o crtn.o crtbegin.o crtend.o"
be52b6d8 1018 ;;
e4a25868 1019msp430*-*-elf)
1020 tmake_file="$tm_file t-crtstuff t-fdpbit msp430/t-msp430"
7ed86ba5 1021 extra_parts="$extra_parts libmul_none.a libmul_16.a libmul_32.a libmul_f5.a"
e4a25868 1022 ;;
a5a22b4f 1023nds32*-linux*)
1024 # Basic makefile fragment and extra_parts for crt stuff.
1025 # We also append c-isr library implementation.
1026 tmake_file="${tmake_file} t-slibgcc-libgcc"
1027 tmake_file="${tmake_file} nds32/t-nds32-glibc nds32/t-crtstuff t-softfp-sfdf t-softfp"
1028 # The header file of defining MD_FALLBACK_FRAME_STATE_FOR.
1029 md_unwind_header=nds32/linux-unwind.h
1030 # Append library definition makefile fragment according to --with-nds32-lib=X setting.
1031 case "${with_nds32_lib}" in
1032 "" | glibc | uclibc )
1033 ;;
1034 *)
1035 echo "Cannot accept --with-nds32-lib=$with_nds32_lib, available values are: glibc uclibc" 1>&2
1036 exit 1
1037 ;;
1038 esac
1039 ;;
eae21ed1 1040nds32*-elf*)
1041 # Basic makefile fragment and extra_parts for crt stuff.
1042 # We also append c-isr library implementation.
1043 tmake_file="${tmake_file} nds32/t-nds32 nds32/t-nds32-isr"
1044 extra_parts="crtbegin1.o crtend1.o libnds32_isr.a"
1045 # Append library definition makefile fragment according to --with-nds32-lib=X setting.
1046 case "${with_nds32_lib}" in
1047 "" | newlib)
1048 # Append library definition makefile fragment t-nds32-newlib.
1049 # Append 'soft-fp' software floating point make rule fragment provided by gcc.
1050 tmake_file="${tmake_file} nds32/t-nds32-newlib t-softfp-sfdf t-softfp"
1051 ;;
1052 mculib)
1053 # Append library definition makefile fragment t-nds32-mculib.
1054 # The software floating point library is included in mculib.
1055 tmake_file="${tmake_file} nds32/t-nds32-mculib"
1056 ;;
1057 *)
1058 echo "Cannot accept --with-nds32-lib=$with_nds32_lib, available values are: newlib mculib" 1>&2
1059 exit 1
1060 ;;
1061 esac
1062 ;;
de65406d 1063nios2-*-linux*)
1064 tmake_file="$tmake_file nios2/t-nios2 nios2/t-linux t-libgcc-pic t-slibgcc-libgcc"
de65406d 1065 md_unwind_header=nios2/linux-unwind.h
1066 ;;
1067nios2-*-*)
1068 tmake_file="$tmake_file nios2/t-nios2 t-softfp-sfdf t-softfp-excl t-softfp"
1069 extra_parts="$extra_parts crti.o crtn.o"
1070 ;;
2acd4f1d 1071or1k-*-linux*)
1072 tmake_file="$tmake_file or1k/t-or1k"
1073 tmake_file="$tmake_file t-softfp-sfdf t-softfp"
1074 md_unwind_header=or1k/linux-unwind.h
1075 ;;
1076or1k-*-*)
1077 tmake_file="$tmake_file or1k/t-or1k"
1078 tmake_file="$tmake_file t-softfp-sfdf t-softfp"
1079 ;;
894a47b4 1080pdp11-*-*)
4dc4ff49 1081 tmake_file="pdp11/t-pdp11 t-fdpbit"
894a47b4 1082 ;;
894a47b4 1083powerpc-*-darwin*)
1e53920f 1084 case ${host} in
1085 *-*-darwin9* | *-*-darwin[12][0-9]*)
1086 # libSystem contains unwind information for signal frames since
1087 # Darwin 9.
1088 ;;
1089 *)
1090 md_unwind_header=rs6000/darwin-unwind.h
1091 ;;
1092 esac
84600db5 1093 tmake_file="$tmake_file rs6000/t-ibm-ldouble"
8c229c20 1094 extra_parts="$extra_parts crt2.o libef_ppc.a"
894a47b4 1095 ;;
1096powerpc64-*-darwin*)
4dc4ff49 1097 tmake_file="$tmake_file rs6000/t-darwin64 rs6000/t-ibm-ldouble"
8c229c20 1098 extra_parts="$extra_parts crt2.o libef_ppc.a"
894a47b4 1099 ;;
bdd1ee48 1100powerpc*-*-freebsd*)
1101 tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-savresfgpr rs6000/t-crtstuff rs6000/t-freebsd t-softfp-sfdf t-softfp-excl t-softfp"
237490bf 1102 extra_parts="$extra_parts crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
bdd1ee48 1103 case ${host} in
1104 powerpc64*)
1105 tmake_file="${tmake_file} rs6000/t-freebsd64"
1106 md_unwind_header=rs6000/freebsd-unwind.h
1107 ;;
1108 esac
894a47b4 1109 ;;
1110powerpc-*-netbsd*)
08417926 1111 tmake_file="$tmake_file rs6000/t-netbsd rs6000/t-crtstuff"
894a47b4 1112 ;;
894a47b4 1113powerpc-*-eabispe*)
16348e18 1114 tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-savresfgpr rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
237490bf 1115 extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
894a47b4 1116 ;;
1117powerpc-*-eabisimaltivec*)
738c50b8 1118 tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
237490bf 1119 extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
894a47b4 1120 ;;
1121powerpc-*-eabisim*)
738c50b8 1122 tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
237490bf 1123 extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
894a47b4 1124 ;;
1125powerpc-*-elf*)
47ab8c10 1126 tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-savresfgpr rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
237490bf 1127 extra_parts="$extra_parts crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
894a47b4 1128 ;;
1129powerpc-*-eabialtivec*)
738c50b8 1130 tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
237490bf 1131 extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
a23b9c51 1132 ;;
1133powerpc-xilinx-eabi*)
738c50b8 1134 tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
237490bf 1135 extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
894a47b4 1136 ;;
1137powerpc-*-eabi*)
738c50b8 1138 tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-savresfgpr rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
237490bf 1139 extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
894a47b4 1140 ;;
1141powerpc-*-rtems*)
a2397d15 1142 tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-savresfgpr rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
237490bf 1143 extra_parts="$extra_parts crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
894a47b4 1144 ;;
d80dc920 1145powerpc*-*-linux*)
e707b8cc 1146 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"
ec3f28c9 1147 tmake_file="${tmake_file} t-stack rs6000/t-stack-rs6000"
fd1eaa27 1148 case $ppc_fp_type in
1149 64)
1150 ;;
1151 hard)
1152 tmake_file="${tmake_file} t-hardfp-sfdf t-hardfp"
1153 ;;
1154 soft)
0e36a0d7 1155 tmake_file="${tmake_file} t-softfp-sfdf ${ppc_fp_compat} t-softfp"
fd1eaa27 1156 ;;
d9b5cf5c 1157 e500v1)
0e36a0d7 1158 tmake_file="${tmake_file} rs6000/t-e500v1-fp ${ppc_fp_compat} t-softfp t-hardfp"
d9b5cf5c 1159 ;;
1160 e500v2)
0e36a0d7 1161 tmake_file="${tmake_file} t-hardfp-sfdf rs6000/t-e500v2-fp ${ppc_fp_compat} t-softfp t-hardfp"
fd1eaa27 1162 ;;
1163 *)
1164 echo "Unknown ppc_fp_type $ppc_fp_type" 1>&2
1165 exit 1
1166 ;;
1167 esac
d99eec2c 1168
1169 if test $libgcc_cv_powerpc_float128 = yes; then
1170 tmake_file="${tmake_file} rs6000/t-float128"
1171 fi
1172
1173 if test $libgcc_cv_powerpc_float128_hw = yes; then
1174 tmake_file="${tmake_file} rs6000/t-float128-hw"
1175 fi
1176
237490bf 1177 extra_parts="$extra_parts ecrti.o ecrtn.o ncrti.o ncrtn.o"
1e53920f 1178 md_unwind_header=rs6000/linux-unwind.h
894a47b4 1179 ;;
061339f2 1180powerpc-wrs-vxworks*)
47ab8c10 1181 tmake_file="$tmake_file rs6000/t-ppccomm rs6000/t-savresfgpr t-fdpbit"
f8a195db 1182 extra_parts="$extra_parts crtbegin.o crtend.o"
894a47b4 1183 ;;
894a47b4 1184powerpc-*-lynxos*)
08417926 1185 tmake_file="$tmake_file rs6000/t-lynx t-fdpbit"
894a47b4 1186 ;;
894a47b4 1187powerpcle-*-elf*)
738c50b8 1188 tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
237490bf 1189 extra_parts="$extra_parts crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
894a47b4 1190 ;;
1191powerpcle-*-eabisim*)
738c50b8 1192 tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
237490bf 1193 extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
894a47b4 1194 ;;
1195powerpcle-*-eabi*)
738c50b8 1196 tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
237490bf 1197 extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
894a47b4 1198 ;;
83abca3e 1199pru-*-*)
1200 tmake_file="${tmake_file} t-softfp-sfdf t-softfp-excl t-softfp t-gnu-prefix pru/t-pru"
1201 tm_file="$tm_file pru/pru-abi.h"
1202 ;;
36387fad 1203riscv*-*-linux*)
1204 tmake_file="${tmake_file} riscv/t-softfp${host_address} t-softfp riscv/t-elf riscv/t-elf${host_address}"
1205 extra_parts="$extra_parts crtbegin.o crtend.o crti.o crtn.o crtendS.o crtbeginT.o"
1206 md_unwind_header=riscv/linux-unwind.h
1207 ;;
7ea6a647 1208riscv*-*-freebsd*)
1209 tmake_file="${tmake_file} riscv/t-softfp${host_address} t-softfp riscv/t-elf riscv/t-elf${host_address}"
1210 extra_parts="$extra_parts crtbegin.o crtend.o crti.o crtn.o crtendS.o crtbeginT.o"
1211 ;;
36387fad 1212riscv*-*-*)
1213 tmake_file="${tmake_file} riscv/t-softfp${host_address} t-softfp riscv/t-elf riscv/t-elf${host_address}"
1214 extra_parts="$extra_parts crtbegin.o crtend.o crti.o crtn.o"
1215 ;;
894a47b4 1216rs6000-ibm-aix4.[3456789]* | powerpc-ibm-aix4.[3456789]*)
e59be7e3 1217 md_unwind_header=rs6000/aix-unwind.h
c1420b84 1218 tmake_file="t-fdpbit rs6000/t-ppc64-fp rs6000/t-slibgcc-aix rs6000/t-ibm-ldouble"
894a47b4 1219 ;;
1220rs6000-ibm-aix5.1.* | powerpc-ibm-aix5.1.*)
e59be7e3 1221 md_unwind_header=rs6000/aix-unwind.h
c1420b84 1222 tmake_file="t-fdpbit rs6000/t-ppc64-fp rs6000/t-slibgcc-aix rs6000/t-ibm-ldouble"
894a47b4 1223 ;;
1224rs6000-ibm-aix[56789].* | powerpc-ibm-aix[56789].*)
e59be7e3 1225 md_unwind_header=rs6000/aix-unwind.h
a8af2dd5 1226 tmake_file="t-fdpbit rs6000/t-ppc64-fp rs6000/t-slibgcc-aix rs6000/t-ibm-ldouble rs6000/t-aix-cxa"
552a60d3 1227 extra_parts="crtcxa.o crtcxa_s.o crtdbase.o"
894a47b4 1228 ;;
78e515f7 1229rl78-*-elf)
1230 tmake_file="$tm_file t-fdpbit rl78/t-rl78"
1231 ;;
24833e1a 1232rx-*-elf)
a23b9c51 1233 tmake_file="rx/t-rx t-fdpbit"
022a2799 1234 tm_file="$tm_file rx/rx-abi.h rx/rx-lib.h"
24833e1a 1235 ;;
00a94423 1236rx-*-linux*)
aafb4994 1237 tmake_file="rx/t-rx t-fdpbit"
1238 tm_file="$tm_file rx/rx-lib.h"
00a94423 1239 ;;
894a47b4 1240s390-*-linux*)
c6d481f7 1241 tmake_file="${tmake_file} s390/t-crtstuff s390/t-linux s390/32/t-floattodi t-stack s390/t-stack-s390"
1e53920f 1242 md_unwind_header=s390/linux-unwind.h
894a47b4 1243 ;;
1244s390x-*-linux*)
c6d481f7 1245 tmake_file="${tmake_file} s390/t-crtstuff s390/t-linux t-stack s390/t-stack-s390"
368b5b2c 1246 if test "${host_address}" = 32; then
1247 tmake_file="${tmake_file} s390/32/t-floattodi"
1248 fi
1e53920f 1249 md_unwind_header=s390/linux-unwind.h
894a47b4 1250 ;;
1251s390x-ibm-tpf*)
4dc4ff49 1252 tmake_file="${tmake_file} s390/t-crtstuff t-libgcc-pic t-eh-dw2-dip"
237490bf 1253 extra_parts="crtbeginS.o crtendS.o"
f9cccfac 1254 md_unwind_header=s390/tpf-unwind.h
894a47b4 1255 ;;
237490bf 1256sh-*-elf* | sh[12346l]*-*-elf*)
1257 tmake_file="$tmake_file sh/t-sh t-crtstuff-pic t-fdpbit"
1258 extra_parts="$extra_parts crt1.o crti.o crtn.o crtbeginS.o crtendS.o \
1259 libic_invalidate_array_4-100.a \
1260 libic_invalidate_array_4-200.a \
1261 libic_invalidate_array_4a.a \
1262 libgcc-Os-4-200.a libgcc-4-300.a"
97f1a704 1263 case ${host} in
237490bf 1264 sh*-superh-elf)
1265 tmake_file="$tmake_file sh/t-superh"
1266 extra_parts="$extra_parts crt1-mmu.o gcrt1-mmu.o gcrt1.o"
1267 ;;
1268 esac
1269 ;;
1270sh-*-linux* | sh[2346lbe]*-*-linux*)
9213d2eb 1271 tmake_file="${tmake_file} sh/t-sh t-slibgcc-libgcc sh/t-linux t-fdpbit"
237490bf 1272 md_unwind_header=sh/linux-unwind.h
1273 ;;
9a9b5abf 1274sh-*-netbsdelf* | shl*-*-netbsdelf*)
9213d2eb 1275 tmake_file="$tmake_file sh/t-sh sh/t-netbsd"
9a9b5abf 1276
237490bf 1277 # NetBSD's C library includes a fast software FP library that
1278 # has support for setting/setting the rounding mode, exception
1279 # mask, etc. Therefore, we don't want to include software FP
1280 # in libgcc.
894a47b4 1281 ;;
894a47b4 1282sh-*-rtems*)
9213d2eb 1283 tmake_file="$tmake_file sh/t-sh t-crtstuff-pic t-fdpbit"
237490bf 1284 extra_parts="$extra_parts crt1.o crti.o crtn.o crtbeginS.o crtendS.o \
57380e33 1285 libic_invalidate_array_4-100.a \
1286 libic_invalidate_array_4-200.a \
1287 libic_invalidate_array_4a.a \
1288 libgcc-Os-4-200.a libgcc-4-300.a"
894a47b4 1289 ;;
1290sh-wrs-vxworks)
9213d2eb 1291 tmake_file="$tmake_file sh/t-sh t-crtstuff-pic t-fdpbit"
894a47b4 1292 ;;
894a47b4 1293sparc-*-netbsdelf*)
1294 ;;
1295sparc64-*-openbsd*)
1296 ;;
1297sparc-*-elf*)
63abf89e 1298 case ${host} in
1299 *-leon[3-9]*)
1300 ;;
1301 *)
1302 tmake_file="sparc/t-softmul"
1303 ;;
1304 esac
237490bf 1305 tmake_file="${tmake_file} t-fdpbit t-crtfm"
1306 extra_parts="$extra_parts crti.o crtn.o crtfastmath.o"
894a47b4 1307 ;;
1308sparc-*-linux*) # SPARC's running GNU/Linux, libc6
95de80bc 1309 tmake_file="${tmake_file} t-crtfm"
1310 if test "${host_address}" = 64; then
1311 tmake_file="$tmake_file sparc/t-linux64"
1312 fi
a23b9c51 1313 case ${host} in
1314 *-leon*)
a997b0d8 1315 tmake_file="${tmake_file} t-fdpbit"
1316 ;;
1317 *)
1318 tmake_file="${tmake_file} sparc/t-linux"
a23b9c51 1319 ;;
1320 esac
9213d2eb 1321 case ${host} in
1322 *-leon[3-9]*)
1323 ;;
1324 *)
95de80bc 1325 if test "${host_address}" = 32; then
1326 tmake_file="$tmake_file sparc/t-softmul"
1327 fi
9213d2eb 1328 ;;
1329 esac
894a47b4 1330 extra_parts="$extra_parts crtfastmath.o"
f9cccfac 1331 md_unwind_header=sparc/linux-unwind.h
894a47b4 1332 ;;
a23b9c51 1333sparc-*-rtems*)
fbb6f195 1334 tmake_file="$tmake_file sparc/t-elf sparc/t-softmul t-crtfm t-fdpbit"
237490bf 1335 extra_parts="$extra_parts crti.o crtn.o crtfastmath.o"
894a47b4 1336 ;;
63abf89e 1337sparc*-*-solaris2*)
1338 tmake_file="$tmake_file t-crtfm"
1339 extra_parts="$extra_parts crtfastmath.o"
1e53920f 1340 md_unwind_header=sparc/sol2-unwind.h
894a47b4 1341 ;;
894a47b4 1342sparc64-*-elf*)
237490bf 1343 tmake_file="${tmake_file} t-crtfm"
1344 extra_parts="$extra_parts crti.o crtn.o crtfastmath.o"
894a47b4 1345 ;;
a23b9c51 1346sparc64-*-rtems*)
00b706f9 1347 tmake_file="$tmake_file t-crtfm"
237490bf 1348 extra_parts="$extra_parts crti.o crtn.o crtfastmath.o"
a23b9c51 1349 ;;
723e1902 1350sparc-wrs-vxworks)
1351 ;;
894a47b4 1352sparc64-*-freebsd*|ultrasparc-*-freebsd*)
1125ba83 1353 tmake_file="$tmake_file t-crtfm"
237490bf 1354 extra_parts="$extra_parts crtfastmath.o"
894a47b4 1355 ;;
1356sparc64-*-linux*) # 64-bit SPARC's running GNU/Linux
1357 extra_parts="$extra_parts crtfastmath.o"
95de80bc 1358 tmake_file="${tmake_file} t-crtfm sparc/t-linux"
1359 if test "${host_address}" = 64; then
1360 tmake_file="${tmake_file} sparc/t-linux64"
1361 fi
1362 if test "${host_address}" = 32; then
1363 tmake_file="${tmake_file} sparc/t-softmul"
1364 fi
1e53920f 1365 md_unwind_header=sparc/linux-unwind.h
894a47b4 1366 ;;
1367sparc64-*-netbsd*)
1368 ;;
1369spu-*-elf*)
4dc4ff49 1370 tmake_file="$tmake_file spu/t-elf t-libgcc-pic t-fdpbit"
237490bf 1371 extra_parts="$extra_parts \
1372 libgcc_cachemgr.a libgcc_cachemgr_nonatomic.a \
1373 libgcc_cache8k.a libgcc_cache16k.a libgcc_cache32k.a \
1374 libgcc_cache64k.a libgcc_cache128k.a"
894a47b4 1375 ;;
a997b0d8 1376tic6x-*-uclinux)
adce431d 1377 tmake_file="${tmake_file} t-softfp-sfdf t-softfp-excl t-softfp \
1378 c6x/t-elf c6x/t-uclinux t-crtstuff-pic t-libgcc-pic \
1379 t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver t-gnu-prefix"
022a2799 1380 tm_file="$tm_file c6x/c6x-abi.h"
adce431d 1381 extra_parts="$extra_parts crtbeginS.o crtendS.o crti.o crtn.o"
a997b0d8 1382 unwind_header=config/c6x/unwind-c6x.h
1383 ;;
237490bf 1384tic6x-*-elf)
1385 tmake_file="${tmake_file} t-softfp-sfdf t-softfp-excl t-softfp t-gnu-prefix c6x/t-elf"
022a2799 1386 tm_file="$tm_file c6x/c6x-abi.h"
237490bf 1387 extra_parts="$extra_parts crtbeginS.o crtendS.o crti.o crtn.o"
7e5fc0c4 1388 unwind_header=config/c6x/unwind-c6x.h
5aa04b01 1389 ;;
2da35515 1390tilegx*-*-linux*)
d58f7073 1391 if test "${host_address}" = 64; then
1392 tmake_file="${tmake_file} tilegx/t-softfp"
1393 fi
1394 tmake_file="${tmake_file} tilegx/t-crtstuff t-softfp-sfdf t-softfp tilegx/t-tilegx"
7ce78e23 1395 md_unwind_header=tilepro/linux-unwind.h
1396 ;;
2da35515 1397tilepro*-*-linux*)
6bf644d1 1398 tmake_file="${tmake_file} tilepro/t-crtstuff t-softfp-sfdf t-softfp tilepro/t-tilepro t-slibgcc-libgcc"
7ce78e23 1399 md_unwind_header=tilepro/linux-unwind.h
1400 ;;
707238af 1401v850*-*-*)
0cdefccf 1402 tmake_file="${tmake_file} v850/t-v850 t-fdpbit"
894a47b4 1403 ;;
63bfd172 1404vax-*-linux*)
9213d2eb 1405 tmake_file="$tmake_file vax/t-linux"
63bfd172 1406 ;;
894a47b4 1407vax-*-netbsdelf*)
1408 ;;
894a47b4 1409vax-*-openbsd*)
1410 ;;
8992df51 1411visium-*-elf*)
1412 extra_parts="$extra_parts crtbegin.o crtend.o crti.o crtn.o"
1413 tmake_file="visium/t-visium t-fdpbit"
1414 ;;
894a47b4 1415xstormy16-*-elf)
2219274c 1416 tmake_file="stormy16/t-stormy16 t-fdpbit"
894a47b4 1417 ;;
75c7ffbc 1418xtensa*-*-elf*)
237490bf 1419 tmake_file="$tmake_file xtensa/t-xtensa xtensa/t-elf"
1420 extra_parts="$extra_parts crti.o crtn.o"
894a47b4 1421 ;;
75c7ffbc 1422xtensa*-*-linux*)
382e1a72 1423 tmake_file="$tmake_file xtensa/t-xtensa xtensa/t-linux t-slibgcc-libgcc"
1e53920f 1424 md_unwind_header=xtensa/linux-unwind.h
894a47b4 1425 ;;
e3c15dbe 1426xtensa*-*-uclinux*)
1427 tmake_file="$tmake_file xtensa/t-xtensa xtensa/t-linux t-slibgcc-libgcc"
1428 md_unwind_header=xtensa/linux-unwind.h
1429 extra_parts="$extra_parts crtbeginS.o crtbeginT.o crtendS.o"
1430 ;;
894a47b4 1431am33_2.0-*-linux*)
237490bf 1432 # Don't need crtbeginT.o from *-*-linux* default.
894a47b4 1433 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
a997b0d8 1434 tmake_file="$tmake_file t-fdpbit"
894a47b4 1435 ;;
7eac0a4e 1436m32c-*-elf*|m32c-*-rtems*)
9213d2eb 1437 tmake_file="$tmake_file m32c/t-m32c"
894a47b4 1438 ;;
8ce80784 1439nvptx-*)
1440 tmake_file="$tmake_file nvptx/t-nvptx"
1441 extra_parts="crt0.o"
1442 ;;
894a47b4 1443*)
1444 echo "*** Configuration ${host} not supported" 1>&2
1445 exit 1
1446 ;;
1447esac
e4cbe54f 1448
98c9b52b 1449case ${host} in
1450i[34567]86-*-* | x86_64-*-*)
6e6c7fc1 1451 case ${host} in
1452 *-musl*)
1453 tmake_file="${tmake_file} i386/t-cpuinfo-static"
1454 ;;
1455 *)
1456 tmake_file="${tmake_file} i386/t-cpuinfo"
1457 ;;
1458 esac
98c9b52b 1459 ;;
1460esac
1461
e4cbe54f 1462case ${host} in
1eab96a6 1463i[34567]86-*-linux* | x86_64-*-linux* | \
a997b0d8 1464 i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu | \
1eab96a6 1465 i[34567]86-*-gnu*)
e67d3d38 1466 tmake_file="${tmake_file} t-tls i386/t-linux i386/t-msabi t-slibgcc-libgcc"
c9b3ebc5 1467 if test "$libgcc_cv_cfi" = "yes"; then
f2d9def0 1468 tmake_file="${tmake_file} t-stack i386/t-stack-i386"
c9b3ebc5 1469 fi
e4cbe54f 1470 ;;
1471esac
b3fd46a0 1472
1473case ${host} in
ac34f4bd 1474i[34567]86-*-elfiamcu | i[34567]86-*-rtems*)
1475 # These use soft-fp for SFmode and DFmode, not just TFmode.
1476 ;;
1477i[34567]86-*-* | x86_64-*-*)
84600db5 1478 tmake_file="${tmake_file} t-softfp-tf"
48cdc7d7 1479 if test "${host_address}" = 32; then
1480 tmake_file="${tmake_file} i386/${host_address}/t-softfp"
1481 fi
2c223cf2 1482 tmake_file="${tmake_file} i386/t-softfp t-softfp"
144633f4 1483 ;;
1484esac
1485
1486case ${host} in
1487i[34567]86-*-linux* | x86_64-*-linux*)
1488 # Provide backward binary compatibility for 64bit Linux/x86.
1489 if test "${host_address}" = 64; then
1490 tmake_file="${tmake_file} i386/${host_address}/t-softfp-compat"
1491 fi
022a2799 1492 tm_file="${tm_file} i386/value-unwind.h"
b3fd46a0 1493 ;;
9c0ca8b6 1494aarch64*-*-*)
1495 # ILP32 needs an extra header for unwinding
1496 tm_file="${tm_file} aarch64/value-unwind.h"
1497 ;;
b3fd46a0 1498esac