]> git.ipfire.org Git - thirdparty/gcc.git/blame - libgcc/config.host
2011-08-05 Robert Dewar <dewar@adacore.com>
[thirdparty/gcc.git] / libgcc / config.host
CommitLineData
894a47b4 1# libgcc host-specific configuration file.
99c77e32 2# Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
63abf89e 3# 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
894a47b4 4
5#This file is part of GCC.
6
7#GCC is free software; you can redistribute it and/or modify it under
8#the terms of the GNU General Public License as published by the Free
6bc9506f 9#Software Foundation; either version 3, or (at your option) any later
894a47b4 10#version.
11
12#GCC is distributed in the hope that it will be useful, but WITHOUT
13#ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14#FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15#for more details.
16
17#You should have received a copy of the GNU General Public License
6bc9506f 18#along with GCC; see the file COPYING3. If not see
19#<http://www.gnu.org/licenses/>.
894a47b4 20
21# This is the libgcc host-specific configuration file
22# where a configuration type is mapped to different system-specific
23# definitions and files. This is invoked by the autoconf-generated
24# configure script. Putting it in a separate shell file lets us skip
25# running autoconf when modifying host-specific information.
26
27# This file bears an obvious resemblance to gcc/config.gcc. The cases
28# should be kept similar, to ease moving library-specific settings
29# from config.gcc to this file. That is also why tmake_file is
30# left as tmake_file, rather than hmake_file, even though this library
31# switches on ${host}.
32
33# This file switches on the shell variable ${host}, and also uses the
34# following shell variables:
35#
36# with_* Various variables as set by configure.
37
38# This file sets the following shell variables for use by the
39# autoconf-generated configure script:
40#
41# asm_hidden_op The assembler pseudo-op to use for hide
42# lists for object files implemented in
43# assembly (with -fvisibility=hidden for C).
44# The default is ".hidden".
45# cpu_type The name of the cpu, if different from the first
46# chunk of the canonical host name.
a6f06169 47# enable_execute_stack The name of a source file implementing
48# __enable_execute_stack.
894a47b4 49# extra_parts List of extra object files that should be compiled
50# for this target machine. This may be overridden
51# by setting EXTRA_PARTS in a tmake_file fragment.
52# If either is set, EXTRA_PARTS and
53# EXTRA_MULTILIB_PARTS inherited from the GCC
54# subdirectory will be ignored.
1e53920f 55# md_unwind_header The name of a header file defining
56# MD_FALLBACK_FRAME_STATE_FOR.
894a47b4 57# tmake_file A list of machine-description-specific
58# makefile-fragments, if different from
59# "$cpu_type/t-$cpu_type".
e59be7e3 60# unwind_header The name of the header file declaring the unwind
61# runtime interface routines.
894a47b4 62
63asm_hidden_op=.hidden
a6f06169 64enable_execute_stack=
894a47b4 65extra_parts=
66tmake_file=
1e53920f 67md_unwind_header=no-unwind.h
e59be7e3 68unwind_header=unwind-generic.h
894a47b4 69
70# Set default cpu_type so it can be updated in each machine entry.
71cpu_type=`echo ${host} | sed 's/-.*$//'`
72case ${host} in
73m32c*-*-*)
74 cpu_type=m32c
a23b9c51 75 tmake_file=t-fdpbit
894a47b4 76 ;;
77alpha*-*-*)
78 cpu_type=alpha
79 ;;
80am33_2.0-*-linux*)
81 cpu_type=mn10300
82 ;;
894a47b4 83arm*-*-*)
84 cpu_type=arm
85 ;;
38dd5584 86avr-*-*)
87 cpu_type=avr
88 ;;
894a47b4 89bfin*-*)
90 cpu_type=bfin
91 ;;
278e2fd1 92fido-*-*)
93 cpu_type=m68k
94 ;;
894a47b4 95frv*) cpu_type=frv
96 ;;
be52b6d8 97moxie*) cpu_type=moxie
98 ;;
894a47b4 99i[34567]86-*-*)
100 cpu_type=i386
101 ;;
102x86_64-*-*)
103 cpu_type=i386
104 ;;
105ia64-*-*)
106 ;;
6af9f7ea 107hppa*-*-*)
894a47b4 108 cpu_type=pa
109 ;;
f6fe91e8 110lm32*-*-*)
111 cpu_type=lm32
112 ;;
894a47b4 113m32r*-*-*)
114 cpu_type=m32r
115 ;;
894a47b4 116m68k-*-*)
117 ;;
46222c18 118mep*-*-*)
119 ;;
d34b0d1e 120microblaze*-*-*)
121 cpu_type=microblaze
122 ;;
894a47b4 123mips*-*-*)
124 cpu_type=mips
a23b9c51 125 tmake_file=mips/t-mips
894a47b4 126 ;;
127powerpc*-*-*)
128 cpu_type=rs6000
129 ;;
130rs6000*-*-*)
131 ;;
132score*-*-*)
133 cpu_type=score
134 ;;
135sparc64*-*-*)
136 cpu_type=sparc
137 ;;
138sparc*-*-*)
139 cpu_type=sparc
140 ;;
141spu*-*-*)
142 cpu_type=spu
143 ;;
144s390*-*-*)
145 cpu_type=s390
146 ;;
147# Note the 'l'; we need to be able to match e.g. "shle" or "shl".
148sh[123456789lbe]*-*-*)
149 cpu_type=sh
150 ;;
707238af 151v850*-*-*)
152 cpu_type=v850
153 ;;
5aa04b01 154tic6x-*-*)
155 cpu_type=c6x
156 ;;
894a47b4 157esac
158
159# Common parts for widely ported systems.
160case ${host} in
161*-*-darwin*)
162 asm_hidden_op=.private_extern
163 tmake_file="t-darwin ${cpu_type}/t-darwin t-slibgcc-darwin"
1a4a11f3 164 extra_parts=crt3.o
894a47b4 165 ;;
166*-*-freebsd[12] | *-*-freebsd[12].* | *-*-freebsd*aout*)
167 # This is the place-holder for the generic a.out configuration
168 # of FreeBSD. No actual configuration resides here since
169 # there was only ever a bare-bones ix86 configuration for
170 # a.out and it exists solely in the machine-specific section.
171 # This place-holder must exist to avoid dropping into
172 # the generic ELF configuration of FreeBSD (i.e. it must be
173 # ordered before that section).
174 ;;
175*-*-freebsd*)
176 # This is the generic ELF configuration of FreeBSD. Later
177 # machine-specific sections may refine and add to this
178 # configuration.
e59be7e3 179 tmake_file=t-eh-dw2-dip
894a47b4 180 ;;
e59be7e3 181*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu)
182 tmake_file=t-eh-dw2-dip
894a47b4 183 extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
184 ;;
894a47b4 185*-*-netbsd*)
186 ;;
187*-*-openbsd*)
188 ;;
189*-*-rtems*)
190 ;;
63abf89e 191*-*-solaris2*)
e59be7e3 192 # Unless linker support and dl_iterate_phdr are present,
193 # unwind-dw2-fde-dip.c automatically falls back to unwind-dw2-fde.c.
194 tmake_file="$tmake_file t-sol2 t-eh-dw2-dip t-slibgcc t-slibgcc-elf-ver"
63abf89e 195 if test $with_gnu_ld = yes; then
196 tmake_file="$tmake_file t-slibgcc-gld"
197 else
198 tmake_file="$tmake_file t-slibgcc-sld"
199 fi
200 # Add cpu-specific t-sol2 after t-slibgcc-* so it can augment SHLIB_MAPFILES.
201 tmake_file="$tmake_file $cpu_type/t-sol2"
202 extra_parts="gmon.o crtbegin.o crtend.o"
203 case ${host} in
14f27bc6 204 i?86-*-solaris2.1[0-9]* | x86_64-*-solaris2.1[0-9]*)
63abf89e 205 # Solaris 10+/x86 provides crt1.o, crti.o, crtn.o, and gcrt1.o as
206 # part of the base system.
207 ;;
208 sparc*-*-solaris2.1[0-9]*)
209 # Solaris 10+/SPARC lacks crt1.o and gcrt1.o.
210 extra_parts="$extra_parts crt1.o gcrt1.o"
211 ;;
212 *)
213 tmake_file="$tmake_file t-crtin"
214 extra_parts="$extra_parts crt1.o crti.o crtn.o gcrt1.o"
215 ;;
216 esac
217 ;;
894a47b4 218*-*-vxworks*)
219 ;;
220*-*-elf)
221 ;;
222esac
223
a6f06169 224case ${host} in
225*-*-darwin* | *-*-freebsd* | *-*-netbsd* | *-*-openbsd* | *-*-solaris2* | \
226 alpha*-dec-osf5.1*)
227 enable_execute_stack=enable-execute-stack-mprotect.c
228 ;;
229i[34567]86-*-mingw* | x86_64-*-mingw*)
230 enable_execute_stack=config/i386/enable-execute-stack-mingw32.c
231 ;;
232*)
233 enable_execute_stack=enable-execute-stack-empty.c;
234 ;;
235esac
236
894a47b4 237case ${host} in
17b3d2a8 238alpha*-*-linux*)
1125ba83 239 tmake_file="${tmake_file} t-crtfm"
cdca0ab7 240 extra_parts="$extra_parts crtfastmath.o"
1e53920f 241 md_unwind_header=alpha/linux-unwind.h
894a47b4 242 ;;
894a47b4 243alpha*-*-freebsd*)
1125ba83 244 tmake_file="${tmake_file} t-crtfm"
245 extra_parts="$extra_parts crtfastmath.o"
894a47b4 246 ;;
247alpha*-*-netbsd*)
248 ;;
249alpha*-*-openbsd*)
250 ;;
ed3e1bbc 251alpha*-dec-osf5.1*)
1125ba83 252 tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee t-crtfm t-slibgcc alpha/t-slibgcc-osf"
541346b9 253 case ${target_thread_file} in
254 posix)
255 tmake_file="${tmake_file} alpha/t-osf-pthread"
256 ;;
257 esac
258 extra_parts="${extra_parts} qrnnd.o crtfastmath.o gthr-posix.o"
1e53920f 259 md_unwind_header=alpha/osf5-unwind.h
894a47b4 260 ;;
261alpha64-dec-*vms*)
9b9a2528 262 tmake_file="vms/t-vms vms/t-vms64 alpha/t-vms"
1e53920f 263 md_unwind_header=alpha/vms-unwind.h
894a47b4 264 ;;
265alpha*-dec-*vms*)
9b9a2528 266 tmake_file="vms/t-vms alpha/t-vms"
1e53920f 267 md_unwind_header=alpha/vms-unwind.h
894a47b4 268 ;;
894a47b4 269arm-wrs-vxworks)
a23b9c51 270 tmake_file=t-fdpbit
894a47b4 271 ;;
6af9f7ea 272arm*-*-freebsd*)
a23b9c51 273 tmake_file=t-fdpbit
894a47b4 274 ;;
275arm*-*-netbsdelf*)
276 ;;
894a47b4 277arm*-*-linux*) # ARM GNU/Linux with ELF
bbbe4599 278 tmake_file="${tmake_file} t-fixedpoint-gnu-prefix"
e59be7e3 279 case ${host} in
280 arm*-*-linux-*eabi)
281 tmake_file="${tmake_file} arm/t-bpabi"
282 unwind_header=config/arm/unwind-arm.h
283 ;;
284 esac
894a47b4 285 ;;
286arm*-*-uclinux*) # ARM ucLinux
bbbe4599 287 tmake_file="${tmake_file} t-fixedpoint-gnu-prefix"
e59be7e3 288 case ${host} in
289 arm*-*-uclinux*eabi)
290 tmake_file="${tmake_file} arm/t-bpabi"
291 unwind_header=config/arm/unwind-arm.h
292 ;;
293 esac
894a47b4 294 ;;
295arm*-*-ecos-elf)
296 ;;
297arm*-*-eabi* | arm*-*-symbianelf* )
bbbe4599 298 tmake_file="${tmake_file} t-fixedpoint-gnu-prefix"
e59be7e3 299 case ${host} in
300 arm*-*-eabi*)
301 tmake_file="${tmake_file} arm/t-bpabi"
302 ;;
303 arm*-*-symbianelf*)
304 tmake_file="${tmake_file} arm/t-symbian"
305 ;;
306 esac
307 unwind_header=config/arm/unwind-arm.h
894a47b4 308 ;;
309arm*-*-rtems*)
310 ;;
6af9f7ea 311arm*-*-elf)
894a47b4 312 ;;
313arm*-wince-pe*)
314 ;;
894a47b4 315avr-*-rtems*)
a23b9c51 316 tmake_file=t-fpbit
894a47b4 317 ;;
318avr-*-*)
a23b9c51 319 # Make HImode functions for AVR
320 tmake_file="${cpu_type}/t-avr t-fpbit"
321
894a47b4 322 ;;
323bfin*-elf*)
a23b9c51 324 tmke_file=t-fdpbit
894a47b4 325 ;;
326bfin*-uclinux*)
a23b9c51 327 tmake_file=t-fdpbit
1e53920f 328 md_unwind_header=bfin/linux-unwind.h
894a47b4 329 ;;
bce94ab5 330bfin*-linux-uclibc*)
a23b9c51 331 tmake_file=t-fdpbit
bce94ab5 332 # No need to build crtbeginT.o on uClibc systems. Should probably
333 # be moved to the OS specific section above.
334 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
1e53920f 335 md_unwind_header=bfin/linux-unwind.h
bce94ab5 336 ;;
a23b9c51 337bfin*-rtems*)
338 tmake_file=t-fdpbit
339 ;;
894a47b4 340bfin*-*)
a23b9c51 341 tmake_file=t-fdpbit
894a47b4 342 ;;
877d7f12 343crisv32-*-elf | crisv32-*-none | cris-*-elf | cris-*-none)
a23b9c51 344 tmake_file=t-fdpbit
7a9b9c95 345 extra_parts="crtbegin.o crtend.o"
894a47b4 346 ;;
877d7f12 347cris-*-linux* | crisv32-*-linux*)
a23b9c51 348 tmake_file=t-fdpbit
894a47b4 349 ;;
278e2fd1 350fido-*-elf)
351 ;;
894a47b4 352fr30-*-elf)
a23b9c51 353 tmake_file=t-fdpbit
894a47b4 354 ;;
355frv-*-elf)
a23b9c51 356 tmake_file=t-fdpbit
894a47b4 357 ;;
358frv-*-*linux*)
a23b9c51 359 tmake_file=t-fdpbit
894a47b4 360 ;;
894a47b4 361h8300-*-rtems*)
a23b9c51 362 tmake_file=t-fpbit
894a47b4 363 ;;
364h8300-*-elf*)
a23b9c51 365 tmake_file=t-fpbit
894a47b4 366 ;;
6af9f7ea 367hppa*64*-*-linux*)
894a47b4 368 ;;
6af9f7ea 369hppa*-*-linux*)
01cb8ad1 370 md_unwind_header=pa/linux-unwind.h
894a47b4 371 ;;
372hppa[12]*-*-hpux10*)
1e53920f 373 md_unwind_header=pa/hpux-unwind.h
894a47b4 374 ;;
375hppa*64*-*-hpux11*)
1e53920f 376 md_unwind_header=pa/hpux-unwind.h
894a47b4 377 ;;
378hppa[12]*-*-hpux11*)
1e53920f 379 md_unwind_header=pa/hpux-unwind.h
894a47b4 380 ;;
381i[34567]86-*-darwin*)
ba079bc9 382 tmake_file="$tmake_file i386/t-crtpc i386/t-crtfm"
383 extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
894a47b4 384 ;;
385x86_64-*-darwin*)
ba079bc9 386 tmake_file="t-darwin ${cpu_type}/t-darwin64 i386/t-crtpc i386/t-crtfm t-slibgcc-darwin"
387 extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
894a47b4 388 ;;
389i[34567]86-*-elf*)
390 ;;
cc8ebe39 391x86_64-*-elf*)
392 ;;
894a47b4 393i[34567]86-*-freebsd*)
278afeb5 394 tmake_file="${tmake_file} i386/t-freebsd"
894a47b4 395 ;;
396x86_64-*-freebsd*)
278afeb5 397 tmake_file="${tmake_file} i386/t-freebsd"
894a47b4 398 ;;
399i[34567]86-*-netbsdelf*)
400 ;;
894a47b4 401x86_64-*-netbsd*)
402 ;;
403i[34567]86-*-openbsd2.*|i[34567]86-*openbsd3.[0123])
404 ;;
405i[34567]86-*-openbsd*)
406 ;;
fe27820f 407i[34567]86-*-linux*)
6d057ce8 408 extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
17aa03f5 409 tmake_file="${tmake_file} i386/t-crtpc i386/t-crtfm t-dfprules"
1e53920f 410 md_unwind_header=i386/linux-unwind.h
894a47b4 411 ;;
fe27820f 412i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu | i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu)
413 extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
17aa03f5 414 tmake_file="${tmake_file} i386/t-crtpc i386/t-crtfm t-dfprules"
fe27820f 415 ;;
416x86_64-*-linux*)
6d057ce8 417 extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
17aa03f5 418 tmake_file="${tmake_file} i386/t-crtpc i386/t-crtfm t-dfprules"
1e53920f 419 md_unwind_header=i386/linux-unwind.h
894a47b4 420 ;;
fe27820f 421x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu)
422 extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
17aa03f5 423 tmake_file="${tmake_file} i386/t-crtpc i386/t-crtfm t-dfprules"
fe27820f 424 ;;
894a47b4 425i[34567]86-pc-msdosdjgpp*)
426 ;;
427i[34567]86-*-lynxos*)
428 ;;
894a47b4 429i[34567]86-*-nto-qnx*)
430 ;;
431i[34567]86-*-rtems*)
63abf89e 432 extra_parts="crtbegin.o crtend.o crti.o crtn.o"
433 tmake_file="${tmake_file} t-crtin i386/t-softfp i386/t-crtstuff t-rtems"
894a47b4 434 ;;
14f27bc6 435i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*)
ba079bc9 436 tmake_file="$tmake_file i386/t-crtpc i386/t-crtfm"
437 extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
1e53920f 438 md_unwind_header=i386/sol2-unwind.h
894a47b4 439 ;;
894a47b4 440i[4567]86-wrs-vxworks|i[4567]86-wrs-vxworksae)
441 ;;
1e53920f 442i[34567]86-*-cygwin*)
9e51385b 443 extra_parts="crtbegin.o crtend.o crtfastmath.o"
17aa03f5 444 tmake_file="i386/t-cygming i386/t-crtfm t-dfprules"
8f433c51 445 ;;
1e53920f 446i[34567]86-*-mingw*)
447 extra_parts="crtbegin.o crtend.o crtfastmath.o"
17aa03f5 448 tmake_file="i386/t-cygming i386/t-crtfm t-dfprules"
1e53920f 449 md_unwind_header=i386/w32-unwind.h
450 ;;
8f433c51 451x86_64-*-mingw*)
1125ba83 452 tmake_file="t-dfprules i386/t-crtfm"
453 extra_parts="$extra_parts crtfastmath.o"
894a47b4 454 ;;
894a47b4 455i[34567]86-*-interix3*)
456 ;;
894a47b4 457ia64*-*-elf*)
75612461 458 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o"
e59be7e3 459 tmake_file="ia64/t-ia64 ia64/t-eh-ia64 t-crtfm"
894a47b4 460 ;;
461ia64*-*-freebsd*)
279dadf5 462 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o"
e59be7e3 463 tmake_file="ia64/t-ia64 ia64/t-eh-ia64 t-crtfm"
894a47b4 464 ;;
465ia64*-*-linux*)
466 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o"
e59be7e3 467 tmake_file="ia64/t-ia64 t-crtfm t-softfp ia64/t-fprules-softfp ia64/t-softfp-compat ia64/t-glibc ia64/t-eh-ia64 t-libunwind"
468 if test x$with_system_libunwind != xyes ; then
469 tmake_file="${tmake_file} t-libunwind-elf ia64/t-glibc-libunwind"
470 fi
1e53920f 471 md_unwind_header=ia64/linux-unwind.h
894a47b4 472 ;;
473ia64*-*-hpux*)
e59be7e3 474 tmake_file="ia64/t-hpux"
894a47b4 475 ;;
9b9a2528 476ia64-hp-*vms*)
e59be7e3 477 tmake_file="vms/t-vms vms/t-vms64 ia64/t-eh-ia64 ia64/t-vms"
1e53920f 478 md_unwind_header=ia64/vms-unwind.h
9b9a2528 479 ;;
894a47b4 480iq2000*-*-elf*)
a23b9c51 481 tmake_file=t-fdpbit
894a47b4 482 ;;
432dd419 483lm32-*-elf*|lm32-*-rtems*)
f6fe91e8 484 extra_parts="crtbegin.o crtend.o crti.o crtn.o"
485 tmake_file="lm32/t-lm32 lm32/t-elf t-softfp"
486 ;;
487lm32-*-uclinux*)
488 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o"
489 tmake_file="lm32/t-lm32 lm32/t-uclinux t-softfp"
490 ;;
b8138586 491m32r-*-elf*|m32r-*-rtems*)
a23b9c51 492 tmake_file=t-fdpbit
894a47b4 493 ;;
494m32rle-*-elf*)
a23b9c51 495 tmake_file=t-fdpbit
894a47b4 496 ;;
497m32r-*-linux*)
a23b9c51 498 tmake_file=t-fdpbit
894a47b4 499 ;;
500m32rle-*-linux*)
a23b9c51 501 tmake_file=t-fdpbit
894a47b4 502 ;;
6af9f7ea 503m68k-*-elf*)
894a47b4 504 ;;
6af9f7ea 505m68k*-*-netbsdelf*)
894a47b4 506 ;;
507m68k*-*-openbsd*)
508 ;;
509m68k-*-uclinux*) # Motorola m68k/ColdFire running uClinux with uClibc
1e53920f 510 md_unwind_header=m68k/linux-unwind.h
894a47b4 511 ;;
1e53920f 512m68k-*-linux*) # Motorola m68k's running GNU/Linux
894a47b4 513 # with ELF format using glibc 2
514 # aka the GNU/Linux C library 6.
1e53920f 515 md_unwind_header=m68k/linux-unwind.h
894a47b4 516 ;;
517m68k-*-rtems*)
518 ;;
519mcore-*-elf)
a23b9c51 520 tmake_file=t-fdpbit
894a47b4 521 ;;
d34b0d1e 522microblaze*-*-*)
a23b9c51 523 tmake_file="microblaze/t-microblaze t-fdpbit"
d34b0d1e 524 ;;
8087ae75 525mips-sgi-irix6.5*)
a23b9c51 526 tmake_file="$tmake_file mips/t-irix6 t-crtfm mips/t-tpbit t-slibgcc mips/t-slibgcc-irix"
ee884cfb 527 extra_parts="crtbegin.o crtend.o crtfastmath.o irix-crti.o irix-crtn.o"
adf7c0a1 528 md_unwind_header=mips/irix6-unwind.h
894a47b4 529 ;;
530mips*-*-netbsd*) # NetBSD/mips, either endian.
531 ;;
a23b9c51 532mips64*-*-linux* | mipsisa64*-*-linux*)
283681bb 533 extra_parts="$extra_parts crtfastmath.o"
a23b9c51 534 tmake_file="${tmake_file} t-crtfm mips/t-tpbit"
1e53920f 535 md_unwind_header=mips/linux-unwind.h
894a47b4 536 ;;
537mips*-*-linux*) # Linux MIPS, either endian.
283681bb 538 extra_parts="$extra_parts crtfastmath.o"
a23b9c51 539 tmake_file="${tmake_file} t-crtfm"
1e53920f 540 md_unwind_header=mips/linux-unwind.h
894a47b4 541 ;;
542mips*-*-openbsd*)
543 ;;
a23b9c51 544mips*-sde-elf*)
545 case "${with_newlib}" in
546 yes)
547 # newlib / libgloss.
548 ;;
549 *)
550 # MIPS toolkit libraries.
551 tmake_file=mips/t-sdemtk
552 ;;
553 esac
554 ;;
894a47b4 555mipsisa32-*-elf* | mipsisa32el-*-elf*)
556 ;;
557mipsisa32r2-*-elf* | mipsisa32r2el-*-elf*)
558 ;;
559mipsisa64-*-elf* | mipsisa64el-*-elf*)
560 ;;
77a32a8e 561mipsisa64r2-*-elf* | mipsisa64r2el-*-elf*)
562 ;;
894a47b4 563mipsisa64sr71k-*-elf*)
a23b9c51 564 tmake_file=t-fdpbit
894a47b4 565 ;;
566mipsisa64sb1-*-elf* | mipsisa64sb1el-*-elf*)
567 ;;
568mips-*-elf* | mipsel-*-elf*)
569 ;;
570mips64-*-elf* | mips64el-*-elf*)
571 ;;
572mips64vr-*-elf* | mips64vrel-*-elf*)
573 ;;
574mips64orion-*-elf* | mips64orionel-*-elf*)
575 ;;
576mips*-*-rtems*)
577 ;;
578mips-wrs-vxworks)
579 ;;
894a47b4 580mipstx39-*-elf* | mipstx39el-*-elf*)
581 ;;
582mmix-knuth-mmixware)
8525326e 583 extra_parts="crti.o crtn.o crtbegin.o crtend.o"
584 tmake_file="${tmake_file} ${cpu_type}/t-${cpu_type}"
894a47b4 585 ;;
586mn10300-*-*)
a23b9c51 587 tmake_file=t-fdpbit
894a47b4 588 ;;
be52b6d8 589moxie-*-*)
00301a1a 590 tmake_file="moxie/t-moxie moxie/t-moxie-softfp"
be52b6d8 591 extra_parts="crtbegin.o crtend.o crti.o crtn.o"
592 ;;
894a47b4 593pdp11-*-*)
a23b9c51 594 tmake_file=t-fdpbit
894a47b4 595 ;;
8372e9ea 596picochip-*-*)
a23b9c51 597 tmake_file="picochip/t-picochip t-fpbit"
8372e9ea 598 ;;
894a47b4 599powerpc-*-darwin*)
1e53920f 600 case ${host} in
601 *-*-darwin9* | *-*-darwin[12][0-9]*)
602 # libSystem contains unwind information for signal frames since
603 # Darwin 9.
604 ;;
605 *)
606 md_unwind_header=rs6000/darwin-unwind.h
607 ;;
608 esac
1a4a11f3 609 extra_parts="$extra_parts crt2.o"
894a47b4 610 ;;
611powerpc64-*-darwin*)
1a4a11f3 612 extra_parts="$extra_parts crt2.o"
894a47b4 613 ;;
95525c17 614powerpc-*-freebsd*)
615 tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-freebsd t-softfp"
894a47b4 616 ;;
617powerpc-*-netbsd*)
618 ;;
894a47b4 619powerpc-*-eabispe*)
952bf8bb 620 tmake_file="${tmake_file} rs6000/t-ppccomm"
894a47b4 621 ;;
622powerpc-*-eabisimaltivec*)
a23b9c51 623 tmake_file=t-fdpbit
894a47b4 624 ;;
625powerpc-*-eabisim*)
a23b9c51 626 tmake_file=t-fdpbit
894a47b4 627 ;;
628powerpc-*-elf*)
a23b9c51 629 tmake_file=t-fdpbit
894a47b4 630 ;;
631powerpc-*-eabialtivec*)
a23b9c51 632 tmake_file=t-fdpbit
633 ;;
634powerpc-xilinx-eabi*)
635 tmake_file=t-fdpbit
894a47b4 636 ;;
637powerpc-*-eabi*)
a23b9c51 638 tmake_file="${tmake_file} rs6000/t-ppccomm t-fdpbit"
894a47b4 639 ;;
640powerpc-*-rtems*)
a23b9c51 641 tmake_file=t-fdpbit
894a47b4 642 ;;
4e5e2802 643powerpc-*-linux* | powerpc64-*-linux*)
a23b9c51 644 tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-ldbl128 t-softfp t-dfprules rs6000/t-ppc64-fp"
1e53920f 645 md_unwind_header=rs6000/linux-unwind.h
894a47b4 646 ;;
894a47b4 647powerpc-wrs-vxworks|powerpc-wrs-vxworksae)
a23b9c51 648 tmake_file=t-fdpbit
894a47b4 649 ;;
894a47b4 650powerpc-*-lynxos*)
a23b9c51 651 tmake_file=t-fdpbit
894a47b4 652 ;;
894a47b4 653powerpcle-*-elf*)
a23b9c51 654 tmake_file=t-fdpbit
894a47b4 655 ;;
656powerpcle-*-eabisim*)
a23b9c51 657 tmake_file=t-fdpbit
894a47b4 658 ;;
659powerpcle-*-eabi*)
a23b9c51 660 tmake_file=t-fdpbit
894a47b4 661 ;;
894a47b4 662rs6000-ibm-aix4.[3456789]* | powerpc-ibm-aix4.[3456789]*)
e59be7e3 663 md_unwind_header=rs6000/aix-unwind.h
a23b9c51 664 tmake_file="t-fdpbit rs6000/t-ppc64-fp"
894a47b4 665 ;;
666rs6000-ibm-aix5.1.* | powerpc-ibm-aix5.1.*)
e59be7e3 667 md_unwind_header=rs6000/aix-unwind.h
a23b9c51 668 tmake_file="t-fdpbit rs6000/t-ppc64-fp"
894a47b4 669 ;;
670rs6000-ibm-aix[56789].* | powerpc-ibm-aix[56789].*)
e59be7e3 671 md_unwind_header=rs6000/aix-unwind.h
a23b9c51 672 tmake_file="t-fdpbit rs6000/t-ppc64-fp"
894a47b4 673 ;;
24833e1a 674rx-*-elf)
675 extra_parts="crtbegin.o crtend.o"
a23b9c51 676 tmake_file="rx/t-rx t-fdpbit"
24833e1a 677 ;;
894a47b4 678s390-*-linux*)
e38fe738 679 tmake_file="${tmake_file} s390/t-crtstuff s390/t-linux s390/32/t-floattodi"
1e53920f 680 md_unwind_header=s390/linux-unwind.h
894a47b4 681 ;;
682s390x-*-linux*)
e38fe738 683 tmake_file="${tmake_file} s390/t-crtstuff s390/t-linux"
1e53920f 684 md_unwind_header=s390/linux-unwind.h
894a47b4 685 ;;
686s390x-ibm-tpf*)
e59be7e3 687 tmake_file="${tmake_file} s390/t-crtstuff s390/t-tpf t-eh-dw2-dip"
f9cccfac 688 md_unwind_header=s390/tpf-unwind.h
894a47b4 689 ;;
690score-*-elf)
691 ;;
6af9f7ea 692sh-*-elf* | sh[12346l]*-*-elf* | \
ccf1c0f1 693 sh-*-linux* | sh[2346lbe]*-*-linux* | \
894a47b4 694 sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \
695 sh64-*-netbsd* | sh64l*-*-netbsd*)
97f1a704 696 case ${host} in
697 sh*-*-linux*)
a23b9c51 698 tmake_file="${tmake_file} sh/t-linux t-fdpbit"
73956a0d 699 md_unwind_header=sh/linux-unwind.h
97f1a704 700 ;;
a23b9c51 701 sh*-*-netbsd*)
702 # NetBSD's C library includes a fast software FP library that
703 # has support for setting/setting the rounding mode, exception
704 # mask, etc. Therefore, we don't want to include software FP
705 # in libgcc.
706 ;;
707 sh*-*-*)
708 tmake_file=t-fdpbit
709 ;;
97f1a704 710 esac
894a47b4 711 ;;
894a47b4 712sh-*-rtems*)
a23b9c51 713 tmake_file=t-fdpbit
894a47b4 714 ;;
715sh-wrs-vxworks)
a23b9c51 716 tmake_file=t-fdpbit
894a47b4 717 ;;
894a47b4 718sparc-*-netbsdelf*)
719 ;;
720sparc64-*-openbsd*)
721 ;;
722sparc-*-elf*)
63abf89e 723 case ${host} in
724 *-leon[3-9]*)
725 ;;
726 *)
727 tmake_file="sparc/t-softmul"
728 ;;
729 esac
a23b9c51 730 tmake_file="${tmake_file} t-fdpbit t-crtin t-crtfm"
63abf89e 731 extra_parts="crtbegin.o crtend.o crti.o crtn.o crtfastmath.o"
894a47b4 732 ;;
733sparc-*-linux*) # SPARC's running GNU/Linux, libc6
a23b9c51 734 case ${host} in
735 *-leon*)
736 tmake_file=t-fdpbit
737 ;;
738 esac
894a47b4 739 extra_parts="$extra_parts crtfastmath.o"
63abf89e 740 tmake_file="${tmake_file} t-crtfm"
f9cccfac 741 md_unwind_header=sparc/linux-unwind.h
894a47b4 742 ;;
a23b9c51 743sparc-*-rtems*)
744 tmake_file="sparc/t-elf t-crtin t-crtfm t-rtems t-fdpbit"
63abf89e 745 extra_parts="crtbegin.o crtend.o crti.o crtn.o crtfastmath.o"
894a47b4 746 ;;
63abf89e 747sparc*-*-solaris2*)
748 tmake_file="$tmake_file t-crtfm"
749 extra_parts="$extra_parts crtfastmath.o"
1e53920f 750 md_unwind_header=sparc/sol2-unwind.h
894a47b4 751 ;;
894a47b4 752sparc64-*-elf*)
63abf89e 753 tmake_file="${tmake_file} t-crtin t-crtfm"
754 extra_parts="crtbegin.o crtend.o crti.o crtn.o crtfastmath.o"
894a47b4 755 ;;
a23b9c51 756sparc64-*-rtems*)
757 tmake_file="sparc/t-elf t-crtin t-crtfm t-rtems"
758 extra_parts="crtbegin.o crtend.o crti.o crtn.o crtfastmath.o"
759 ;;
723e1902 760sparc-wrs-vxworks)
761 ;;
894a47b4 762sparc64-*-freebsd*|ultrasparc-*-freebsd*)
1125ba83 763 tmake_file="$tmake_file t-crtfm"
764 extra_parts=crtfastmath.o
894a47b4 765 ;;
766sparc64-*-linux*) # 64-bit SPARC's running GNU/Linux
767 extra_parts="$extra_parts crtfastmath.o"
63abf89e 768 tmake_file="${tmake_file} t-crtfm"
1e53920f 769 md_unwind_header=sparc/linux-unwind.h
894a47b4 770 ;;
771sparc64-*-netbsd*)
772 ;;
773spu-*-elf*)
a23b9c51 774 tmake_file="t-fdpbit spu/t-elf"
894a47b4 775 ;;
5aa04b01 776tic6x-*-*)
777 tmake_file="${tmake_file} t-gnu-prefix"
778 ;;
707238af 779v850*-*-*)
a23b9c51 780 tmake_file=t-fdpbit
894a47b4 781 ;;
63bfd172 782vax-*-linux*)
783 ;;
894a47b4 784vax-*-netbsdelf*)
785 ;;
894a47b4 786vax-*-openbsd*)
787 ;;
894a47b4 788xstormy16-*-elf)
a23b9c51 789 tmake_file=t-fdpbit
894a47b4 790 ;;
75c7ffbc 791xtensa*-*-elf*)
e59be7e3 792 tmake_file=xtensa/t-xtensa
894a47b4 793 ;;
75c7ffbc 794xtensa*-*-linux*)
e59be7e3 795 tmake_file=xtensa/t-xtensa
1e53920f 796 md_unwind_header=xtensa/linux-unwind.h
894a47b4 797 ;;
798am33_2.0-*-linux*)
799 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
a23b9c51 800 tmake_file=t-fdpbit
894a47b4 801 ;;
7eac0a4e 802m32c-*-elf*|m32c-*-rtems*)
894a47b4 803 ;;
46222c18 804mep*-*-*)
a23b9c51 805 tmake_file=t-fdpbit
46222c18 806 ;;
894a47b4 807*)
808 echo "*** Configuration ${host} not supported" 1>&2
809 exit 1
810 ;;
811esac
e4cbe54f 812
813case ${host} in
1eab96a6 814i[34567]86-*-linux* | x86_64-*-linux* | \
815 i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu | \
816 i[34567]86-*-gnu*)
c9b3ebc5 817 tmake_file="${tmake_file} t-tls"
818 if test "$libgcc_cv_cfi" = "yes"; then
f2d9def0 819 tmake_file="${tmake_file} t-stack i386/t-stack-i386"
c9b3ebc5 820 fi
e4cbe54f 821 ;;
822esac
b3fd46a0 823
824case ${host} in
825i[34567]86-*-darwin* | x86_64-*-darwin* | \
09ec66c8 826 i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu | \
6471e33b 827 i[34567]86-*-linux* | x86_64-*-linux* | \
8a84c748 828 i[34567]86-*-gnu* | \
14f27bc6 829 i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]* | \
278afeb5 830 i[34567]86-*-cygwin* | i[34567]86-*-mingw* | x86_64-*-mingw* | \
831 i[34567]86-*-freebsd* | x86_64-*-freebsd*)
144633f4 832 if test "${host_address}" = 32; then
f2b540ae 833 tmake_file="${tmake_file} t-softfp i386/${host_address}/t-fprules-softfp"
144633f4 834 fi
835 ;;
836esac
837
838case ${host} in
839i[34567]86-*-linux* | x86_64-*-linux*)
840 # Provide backward binary compatibility for 64bit Linux/x86.
841 if test "${host_address}" = 64; then
842 tmake_file="${tmake_file} i386/${host_address}/t-softfp-compat"
843 fi
b3fd46a0 844 ;;
845esac