]> git.ipfire.org Git - thirdparty/gcc.git/blame - libgcc/config.host
PR tree-optimize/48929
[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.
47# extra_parts List of extra object files that should be compiled
48# for this target machine. This may be overridden
49# by setting EXTRA_PARTS in a tmake_file fragment.
50# If either is set, EXTRA_PARTS and
51# EXTRA_MULTILIB_PARTS inherited from the GCC
52# subdirectory will be ignored.
1e53920f 53# md_unwind_header The name of a header file defining
54# MD_FALLBACK_FRAME_STATE_FOR.
894a47b4 55# tmake_file A list of machine-description-specific
56# makefile-fragments, if different from
57# "$cpu_type/t-$cpu_type".
58
59asm_hidden_op=.hidden
60extra_parts=
61tmake_file=
1e53920f 62md_unwind_header=no-unwind.h
894a47b4 63
64# Set default cpu_type so it can be updated in each machine entry.
65cpu_type=`echo ${host} | sed 's/-.*$//'`
66case ${host} in
67m32c*-*-*)
68 cpu_type=m32c
69 ;;
70alpha*-*-*)
71 cpu_type=alpha
72 ;;
73am33_2.0-*-linux*)
74 cpu_type=mn10300
75 ;;
894a47b4 76arm*-*-*)
77 cpu_type=arm
78 ;;
38dd5584 79avr-*-*)
80 cpu_type=avr
81 ;;
894a47b4 82bfin*-*)
83 cpu_type=bfin
84 ;;
278e2fd1 85fido-*-*)
86 cpu_type=m68k
87 ;;
894a47b4 88frv*) cpu_type=frv
89 ;;
be52b6d8 90moxie*) cpu_type=moxie
91 ;;
894a47b4 92i[34567]86-*-*)
93 cpu_type=i386
94 ;;
95x86_64-*-*)
96 cpu_type=i386
97 ;;
98ia64-*-*)
99 ;;
6af9f7ea 100hppa*-*-*)
894a47b4 101 cpu_type=pa
102 ;;
f6fe91e8 103lm32*-*-*)
104 cpu_type=lm32
105 ;;
894a47b4 106m32r*-*-*)
107 cpu_type=m32r
108 ;;
894a47b4 109m68k-*-*)
110 ;;
46222c18 111mep*-*-*)
112 ;;
d34b0d1e 113microblaze*-*-*)
114 cpu_type=microblaze
115 ;;
894a47b4 116mips*-*-*)
117 cpu_type=mips
118 ;;
119powerpc*-*-*)
120 cpu_type=rs6000
121 ;;
122rs6000*-*-*)
123 ;;
124score*-*-*)
125 cpu_type=score
126 ;;
127sparc64*-*-*)
128 cpu_type=sparc
129 ;;
130sparc*-*-*)
131 cpu_type=sparc
132 ;;
133spu*-*-*)
134 cpu_type=spu
135 ;;
136s390*-*-*)
137 cpu_type=s390
138 ;;
139# Note the 'l'; we need to be able to match e.g. "shle" or "shl".
140sh[123456789lbe]*-*-*)
141 cpu_type=sh
142 ;;
894a47b4 143esac
144
145# Common parts for widely ported systems.
146case ${host} in
147*-*-darwin*)
148 asm_hidden_op=.private_extern
149 tmake_file="t-darwin ${cpu_type}/t-darwin t-slibgcc-darwin"
150 ;;
151*-*-freebsd[12] | *-*-freebsd[12].* | *-*-freebsd*aout*)
152 # This is the place-holder for the generic a.out configuration
153 # of FreeBSD. No actual configuration resides here since
154 # there was only ever a bare-bones ix86 configuration for
155 # a.out and it exists solely in the machine-specific section.
156 # This place-holder must exist to avoid dropping into
157 # the generic ELF configuration of FreeBSD (i.e. it must be
158 # ordered before that section).
159 ;;
160*-*-freebsd*)
161 # This is the generic ELF configuration of FreeBSD. Later
162 # machine-specific sections may refine and add to this
163 # configuration.
164 ;;
74cd9df8 165*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-gnu*)
894a47b4 166 extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
167 ;;
894a47b4 168*-*-netbsd*)
169 ;;
170*-*-openbsd*)
171 ;;
172*-*-rtems*)
173 ;;
63abf89e 174*-*-solaris2*)
175 tmake_file="$tmake_file t-sol2 t-slibgcc t-slibgcc-elf-ver"
176 if test $with_gnu_ld = yes; then
177 tmake_file="$tmake_file t-slibgcc-gld"
178 else
179 tmake_file="$tmake_file t-slibgcc-sld"
180 fi
181 # Add cpu-specific t-sol2 after t-slibgcc-* so it can augment SHLIB_MAPFILES.
182 tmake_file="$tmake_file $cpu_type/t-sol2"
183 extra_parts="gmon.o crtbegin.o crtend.o"
184 case ${host} in
185 i?86-*-solaris2.1[0-9]*)
186 # Solaris 10+/x86 provides crt1.o, crti.o, crtn.o, and gcrt1.o as
187 # part of the base system.
188 ;;
189 sparc*-*-solaris2.1[0-9]*)
190 # Solaris 10+/SPARC lacks crt1.o and gcrt1.o.
191 extra_parts="$extra_parts crt1.o gcrt1.o"
192 ;;
193 *)
194 tmake_file="$tmake_file t-crtin"
195 extra_parts="$extra_parts crt1.o crti.o crtn.o gcrt1.o"
196 ;;
197 esac
198 ;;
894a47b4 199*-*-vxworks*)
200 ;;
201*-*-elf)
202 ;;
203esac
204
205case ${host} in
206# Support site-specific machine types.
207*local*)
208 rest=`echo ${host} | sed -e "s/$cpu_type-//"`
209 if test -f $srcdir/config/${cpu_type}/t-$rest
210 then tmake_file=${cpu_type}/t-$rest
211 fi
212 ;;
17b3d2a8 213alpha*-*-linux*)
894a47b4 214 tmake_file="${tmake_file} alpha/t-crtfm"
cdca0ab7 215 extra_parts="$extra_parts crtfastmath.o"
1e53920f 216 md_unwind_header=alpha/linux-unwind.h
894a47b4 217 ;;
894a47b4 218alpha*-*-freebsd*)
219 ;;
220alpha*-*-netbsd*)
221 ;;
222alpha*-*-openbsd*)
223 ;;
ed3e1bbc 224alpha*-dec-osf5.1*)
541346b9 225 tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee alpha/t-crtfm t-slibgcc alpha/t-slibgcc-osf"
226 case ${target_thread_file} in
227 posix)
228 tmake_file="${tmake_file} alpha/t-osf-pthread"
229 ;;
230 esac
231 extra_parts="${extra_parts} qrnnd.o crtfastmath.o gthr-posix.o"
1e53920f 232 md_unwind_header=alpha/osf5-unwind.h
894a47b4 233 ;;
234alpha64-dec-*vms*)
9b9a2528 235 tmake_file="vms/t-vms vms/t-vms64 alpha/t-vms"
1e53920f 236 md_unwind_header=alpha/vms-unwind.h
894a47b4 237 ;;
238alpha*-dec-*vms*)
9b9a2528 239 tmake_file="vms/t-vms alpha/t-vms"
1e53920f 240 md_unwind_header=alpha/vms-unwind.h
894a47b4 241 ;;
894a47b4 242arm-wrs-vxworks)
243 ;;
6af9f7ea 244arm*-*-freebsd*)
894a47b4 245 ;;
246arm*-*-netbsdelf*)
247 ;;
894a47b4 248arm*-*-linux*) # ARM GNU/Linux with ELF
249 ;;
250arm*-*-uclinux*) # ARM ucLinux
251 ;;
252arm*-*-ecos-elf)
253 ;;
254arm*-*-eabi* | arm*-*-symbianelf* )
255 ;;
256arm*-*-rtems*)
257 ;;
6af9f7ea 258arm*-*-elf)
894a47b4 259 ;;
260arm*-wince-pe*)
261 ;;
894a47b4 262avr-*-rtems*)
263 ;;
264avr-*-*)
38dd5584 265 # Make HImode functions for AVR
266 tmake_file=${cpu_type}/t-avr
894a47b4 267 ;;
268bfin*-elf*)
269 ;;
270bfin*-uclinux*)
1e53920f 271 md_unwind_header=bfin/linux-unwind.h
894a47b4 272 ;;
bce94ab5 273bfin*-linux-uclibc*)
274 # No need to build crtbeginT.o on uClibc systems. Should probably
275 # be moved to the OS specific section above.
276 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
1e53920f 277 md_unwind_header=bfin/linux-unwind.h
bce94ab5 278 ;;
894a47b4 279bfin*-*)
280 ;;
877d7f12 281crisv32-*-elf | crisv32-*-none | cris-*-elf | cris-*-none)
7a9b9c95 282 extra_parts="crtbegin.o crtend.o"
894a47b4 283 ;;
877d7f12 284cris-*-linux* | crisv32-*-linux*)
894a47b4 285 ;;
278e2fd1 286fido-*-elf)
287 ;;
894a47b4 288fr30-*-elf)
289 ;;
290frv-*-elf)
291 ;;
292frv-*-*linux*)
293 ;;
894a47b4 294h8300-*-rtems*)
295 ;;
296h8300-*-elf*)
297 ;;
6af9f7ea 298hppa*64*-*-linux*)
894a47b4 299 ;;
6af9f7ea 300hppa*-*-linux*)
1e53920f 301 md_unwind_header=pa/pa32-linux.h
894a47b4 302 ;;
303hppa[12]*-*-hpux10*)
1e53920f 304 md_unwind_header=pa/hpux-unwind.h
894a47b4 305 ;;
306hppa*64*-*-hpux11*)
1e53920f 307 md_unwind_header=pa/hpux-unwind.h
894a47b4 308 ;;
309hppa[12]*-*-hpux11*)
1e53920f 310 md_unwind_header=pa/hpux-unwind.h
894a47b4 311 ;;
312i[34567]86-*-darwin*)
313 ;;
314x86_64-*-darwin*)
315 tmake_file="t-darwin ${cpu_type}/t-darwin64 t-slibgcc-darwin"
316 ;;
317i[34567]86-*-elf*)
318 ;;
cc8ebe39 319x86_64-*-elf*)
320 ;;
894a47b4 321i[34567]86-*-freebsd*)
278afeb5 322 tmake_file="${tmake_file} i386/t-freebsd"
894a47b4 323 ;;
324x86_64-*-freebsd*)
278afeb5 325 tmake_file="${tmake_file} i386/t-freebsd"
894a47b4 326 ;;
327i[34567]86-*-netbsdelf*)
328 ;;
894a47b4 329x86_64-*-netbsd*)
330 ;;
331i[34567]86-*-openbsd2.*|i[34567]86-*openbsd3.[0123])
332 ;;
333i[34567]86-*-openbsd*)
334 ;;
1e53920f 335i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu | i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu)
6d057ce8 336 extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
337 tmake_file="${tmake_file} i386/t-crtpc i386/t-crtfm"
1e53920f 338 md_unwind_header=i386/linux-unwind.h
894a47b4 339 ;;
340x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu)
6d057ce8 341 extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
342 tmake_file="${tmake_file} i386/t-crtpc i386/t-crtfm"
1e53920f 343 md_unwind_header=i386/linux-unwind.h
894a47b4 344 ;;
894a47b4 345i[34567]86-pc-msdosdjgpp*)
346 ;;
347i[34567]86-*-lynxos*)
348 ;;
349i[3456x]86-*-netware*)
350 case /${with_ld} in
351 */nwld)
352 tmake_file="${tmake_file} i386/t-nwld"
353 ;;
354 esac
355 ;;
356i[34567]86-*-nto-qnx*)
357 ;;
358i[34567]86-*-rtems*)
63abf89e 359 extra_parts="crtbegin.o crtend.o crti.o crtn.o"
360 tmake_file="${tmake_file} t-crtin i386/t-softfp i386/t-crtstuff t-rtems"
894a47b4 361 ;;
894a47b4 362i[34567]86-*-solaris2*)
43ae7603 363 tmake_file="$tmake_file i386/t-crtfm"
364 extra_parts="$extra_parts crtfastmath.o"
1e53920f 365 md_unwind_header=i386/sol2-unwind.h
894a47b4 366 ;;
894a47b4 367i[4567]86-wrs-vxworks|i[4567]86-wrs-vxworksae)
368 ;;
1e53920f 369i[34567]86-*-cygwin*)
9e51385b 370 extra_parts="crtbegin.o crtend.o crtfastmath.o"
371 tmake_file="i386/t-cygming i386/t-crtfm"
8f433c51 372 ;;
1e53920f 373i[34567]86-*-mingw*)
374 extra_parts="crtbegin.o crtend.o crtfastmath.o"
375 tmake_file="i386/t-cygming i386/t-crtfm"
376 md_unwind_header=i386/w32-unwind.h
377 ;;
8f433c51 378x86_64-*-mingw*)
894a47b4 379 ;;
894a47b4 380i[34567]86-*-interix3*)
381 ;;
894a47b4 382ia64*-*-elf*)
75612461 383 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o"
384 tmake_file="ia64/t-ia64"
894a47b4 385 ;;
386ia64*-*-freebsd*)
279dadf5 387 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o"
388 tmake_file="ia64/t-ia64"
894a47b4 389 ;;
390ia64*-*-linux*)
391 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o"
24200b28 392 tmake_file="ia64/t-ia64 t-softfp ia64/t-fprules-softfp ia64/t-softfp-compat"
1e53920f 393 md_unwind_header=ia64/linux-unwind.h
894a47b4 394 ;;
395ia64*-*-hpux*)
396 ;;
9b9a2528 397ia64-hp-*vms*)
398 tmake_file="vms/t-vms vms/t-vms64 ia64/t-vms"
1e53920f 399 md_unwind_header=ia64/vms-unwind.h
9b9a2528 400 ;;
894a47b4 401iq2000*-*-elf*)
402 ;;
432dd419 403lm32-*-elf*|lm32-*-rtems*)
f6fe91e8 404 extra_parts="crtbegin.o crtend.o crti.o crtn.o"
405 tmake_file="lm32/t-lm32 lm32/t-elf t-softfp"
406 ;;
407lm32-*-uclinux*)
408 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o"
409 tmake_file="lm32/t-lm32 lm32/t-uclinux t-softfp"
410 ;;
b8138586 411m32r-*-elf*|m32r-*-rtems*)
894a47b4 412 ;;
413m32rle-*-elf*)
414 ;;
415m32r-*-linux*)
416 ;;
417m32rle-*-linux*)
418 ;;
6af9f7ea 419m68k-*-elf*)
894a47b4 420 ;;
6af9f7ea 421m68k*-*-netbsdelf*)
894a47b4 422 ;;
423m68k*-*-openbsd*)
424 ;;
425m68k-*-uclinux*) # Motorola m68k/ColdFire running uClinux with uClibc
1e53920f 426 md_unwind_header=m68k/linux-unwind.h
894a47b4 427 ;;
1e53920f 428m68k-*-linux*) # Motorola m68k's running GNU/Linux
894a47b4 429 # with ELF format using glibc 2
430 # aka the GNU/Linux C library 6.
1e53920f 431 md_unwind_header=m68k/linux-unwind.h
894a47b4 432 ;;
433m68k-*-rtems*)
434 ;;
435mcore-*-elf)
436 ;;
d34b0d1e 437microblaze*-*-*)
438 tmake_file="microblaze/t-microblaze"
439 ;;
8087ae75 440mips-sgi-irix6.5*)
441 tmake_file="mips/t-irix6 t-slibgcc mips/t-slibgcc-irix"
442 extra_parts="crtbegin.o crtend.o irix-crti.o irix-crtn.o"
894a47b4 443 ;;
444mips*-*-netbsd*) # NetBSD/mips, either endian.
445 ;;
446mips64*-*-linux*)
283681bb 447 extra_parts="$extra_parts crtfastmath.o"
448 tmake_file="{$tmake_file} mips/t-crtfm"
1e53920f 449 md_unwind_header=mips/linux-unwind.h
894a47b4 450 ;;
451mips*-*-linux*) # Linux MIPS, either endian.
283681bb 452 extra_parts="$extra_parts crtfastmath.o"
453 tmake_file="{$tmake_file} mips/t-crtfm"
1e53920f 454 md_unwind_header=mips/linux-unwind.h
894a47b4 455 ;;
456mips*-*-openbsd*)
457 ;;
458mipsisa32-*-elf* | mipsisa32el-*-elf*)
459 ;;
460mipsisa32r2-*-elf* | mipsisa32r2el-*-elf*)
461 ;;
462mipsisa64-*-elf* | mipsisa64el-*-elf*)
463 ;;
77a32a8e 464mipsisa64r2-*-elf* | mipsisa64r2el-*-elf*)
465 ;;
894a47b4 466mipsisa64sr71k-*-elf*)
467 ;;
468mipsisa64sb1-*-elf* | mipsisa64sb1el-*-elf*)
469 ;;
470mips-*-elf* | mipsel-*-elf*)
471 ;;
472mips64-*-elf* | mips64el-*-elf*)
473 ;;
474mips64vr-*-elf* | mips64vrel-*-elf*)
475 ;;
476mips64orion-*-elf* | mips64orionel-*-elf*)
477 ;;
478mips*-*-rtems*)
479 ;;
480mips-wrs-vxworks)
481 ;;
894a47b4 482mipstx39-*-elf* | mipstx39el-*-elf*)
483 ;;
484mmix-knuth-mmixware)
8525326e 485 extra_parts="crti.o crtn.o crtbegin.o crtend.o"
486 tmake_file="${tmake_file} ${cpu_type}/t-${cpu_type}"
894a47b4 487 ;;
488mn10300-*-*)
489 ;;
be52b6d8 490moxie-*-*)
00301a1a 491 tmake_file="moxie/t-moxie moxie/t-moxie-softfp"
be52b6d8 492 extra_parts="crtbegin.o crtend.o crti.o crtn.o"
493 ;;
894a47b4 494pdp11-*-*)
495 ;;
8372e9ea 496picochip-*-*)
497 ;;
894a47b4 498powerpc-*-darwin*)
1e53920f 499 case ${host} in
500 *-*-darwin9* | *-*-darwin[12][0-9]*)
501 # libSystem contains unwind information for signal frames since
502 # Darwin 9.
503 ;;
504 *)
505 md_unwind_header=rs6000/darwin-unwind.h
506 ;;
507 esac
894a47b4 508 ;;
509powerpc64-*-darwin*)
510 ;;
95525c17 511powerpc-*-freebsd*)
512 tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-freebsd t-softfp"
894a47b4 513 ;;
514powerpc-*-netbsd*)
515 ;;
894a47b4 516powerpc-*-eabispe*)
952bf8bb 517 tmake_file="${tmake_file} rs6000/t-ppccomm"
894a47b4 518 ;;
519powerpc-*-eabisimaltivec*)
520 ;;
521powerpc-*-eabisim*)
522 ;;
523powerpc-*-elf*)
524 ;;
525powerpc-*-eabialtivec*)
526 ;;
527powerpc-*-eabi*)
952bf8bb 528 tmake_file="${tmake_file} rs6000/t-ppccomm"
894a47b4 529 ;;
530powerpc-*-rtems*)
531 ;;
4e5e2802 532powerpc-*-linux* | powerpc64-*-linux*)
5790f80a 533 tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-ldbl128 t-softfp"
1e53920f 534 md_unwind_header=rs6000/linux-unwind.h
894a47b4 535 ;;
894a47b4 536powerpc-wrs-vxworks|powerpc-wrs-vxworksae)
537 ;;
894a47b4 538powerpc-*-lynxos*)
539 ;;
894a47b4 540powerpcle-*-elf*)
541 ;;
542powerpcle-*-eabisim*)
543 ;;
544powerpcle-*-eabi*)
545 ;;
894a47b4 546rs6000-ibm-aix4.[3456789]* | powerpc-ibm-aix4.[3456789]*)
547 ;;
548rs6000-ibm-aix5.1.* | powerpc-ibm-aix5.1.*)
549 ;;
550rs6000-ibm-aix[56789].* | powerpc-ibm-aix[56789].*)
551 ;;
24833e1a 552rx-*-elf)
553 extra_parts="crtbegin.o crtend.o"
554 tmake_file="rx/t-rx"
555 ;;
894a47b4 556s390-*-linux*)
e38fe738 557 tmake_file="${tmake_file} s390/t-crtstuff s390/t-linux s390/32/t-floattodi"
1e53920f 558 md_unwind_header=s390/linux-unwind.h
894a47b4 559 ;;
560s390x-*-linux*)
e38fe738 561 tmake_file="${tmake_file} s390/t-crtstuff s390/t-linux"
1e53920f 562 md_unwind_header=s390/linux-unwind.h
894a47b4 563 ;;
564s390x-ibm-tpf*)
e38fe738 565 tmake_file="${tmake_file} s390/t-crtstuff s390/t-tpf"
1e53920f 566 md_unwind_header-s390/tpf-unwind.h
894a47b4 567 ;;
568score-*-elf)
569 ;;
6af9f7ea 570sh-*-elf* | sh[12346l]*-*-elf* | \
ccf1c0f1 571 sh-*-linux* | sh[2346lbe]*-*-linux* | \
894a47b4 572 sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \
573 sh64-*-netbsd* | sh64l*-*-netbsd*)
97f1a704 574 case ${host} in
575 sh*-*-linux*)
576 tmake_file="${tmake_file} sh/t-linux"
73956a0d 577 md_unwind_header=sh/linux-unwind.h
97f1a704 578 ;;
579 esac
894a47b4 580 ;;
894a47b4 581sh-*-rtems*)
582 ;;
583sh-wrs-vxworks)
584 ;;
894a47b4 585sparc-*-netbsdelf*)
586 ;;
587sparc64-*-openbsd*)
588 ;;
589sparc-*-elf*)
63abf89e 590 case ${host} in
591 *-leon[3-9]*)
592 ;;
593 *)
594 tmake_file="sparc/t-softmul"
595 ;;
596 esac
597 tmake_file="${tmake_file} sparc/t-softfp t-crtin t-crtfm"
598 extra_parts="crtbegin.o crtend.o crti.o crtn.o crtfastmath.o"
894a47b4 599 ;;
600sparc-*-linux*) # SPARC's running GNU/Linux, libc6
601 extra_parts="$extra_parts crtfastmath.o"
63abf89e 602 tmake_file="${tmake_file} t-crtfm"
1e53920f 603 md_unwind_header=sparc/linux.h
894a47b4 604 ;;
41d8444c 605sparc-*-rtems* | sparc64-*-rtems* )
63abf89e 606 tmake_file="sparc/t-elf t-crtin t-crtfm t-rtems"
607 extra_parts="crtbegin.o crtend.o crti.o crtn.o crtfastmath.o"
894a47b4 608 ;;
63abf89e 609sparc*-*-solaris2*)
610 tmake_file="$tmake_file t-crtfm"
611 extra_parts="$extra_parts crtfastmath.o"
1e53920f 612 md_unwind_header=sparc/sol2-unwind.h
894a47b4 613 ;;
894a47b4 614sparc64-*-elf*)
63abf89e 615 tmake_file="${tmake_file} t-crtin t-crtfm"
616 extra_parts="crtbegin.o crtend.o crti.o crtn.o crtfastmath.o"
894a47b4 617 ;;
723e1902 618sparc-wrs-vxworks)
619 ;;
894a47b4 620sparc64-*-freebsd*|ultrasparc-*-freebsd*)
621 ;;
622sparc64-*-linux*) # 64-bit SPARC's running GNU/Linux
623 extra_parts="$extra_parts crtfastmath.o"
63abf89e 624 tmake_file="${tmake_file} t-crtfm"
1e53920f 625 md_unwind_header=sparc/linux-unwind.h
894a47b4 626 ;;
627sparc64-*-netbsd*)
628 ;;
629spu-*-elf*)
630 ;;
894a47b4 631v850e1-*-*)
632 ;;
633v850e-*-*)
634 ;;
635v850-*-*)
636 ;;
63bfd172 637vax-*-linux*)
638 ;;
894a47b4 639vax-*-netbsdelf*)
640 ;;
894a47b4 641vax-*-openbsd*)
642 ;;
894a47b4 643xstormy16-*-elf)
644 ;;
75c7ffbc 645xtensa*-*-elf*)
894a47b4 646 ;;
75c7ffbc 647xtensa*-*-linux*)
1e53920f 648 md_unwind_header=xtensa/linux-unwind.h
894a47b4 649 ;;
650am33_2.0-*-linux*)
651 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
652 ;;
7eac0a4e 653m32c-*-elf*|m32c-*-rtems*)
894a47b4 654 ;;
46222c18 655mep*-*-*)
656 ;;
894a47b4 657*)
658 echo "*** Configuration ${host} not supported" 1>&2
659 exit 1
660 ;;
661esac
e4cbe54f 662
663case ${host} in
1eab96a6 664i[34567]86-*-linux* | x86_64-*-linux* | \
665 i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu | \
666 i[34567]86-*-gnu*)
c9b3ebc5 667 tmake_file="${tmake_file} t-tls"
668 if test "$libgcc_cv_cfi" = "yes"; then
f2d9def0 669 tmake_file="${tmake_file} t-stack i386/t-stack-i386"
c9b3ebc5 670 fi
e4cbe54f 671 ;;
672esac
b3fd46a0 673
674case ${host} in
675i[34567]86-*-darwin* | x86_64-*-darwin* | \
09ec66c8 676 i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu | \
6471e33b 677 i[34567]86-*-linux* | x86_64-*-linux* | \
8a84c748 678 i[34567]86-*-gnu* | \
20be3c56 679 i[34567]86-*-solaris2* | \
278afeb5 680 i[34567]86-*-cygwin* | i[34567]86-*-mingw* | x86_64-*-mingw* | \
681 i[34567]86-*-freebsd* | x86_64-*-freebsd*)
144633f4 682 if test "${host_address}" = 32; then
f2b540ae 683 tmake_file="${tmake_file} t-softfp i386/${host_address}/t-fprules-softfp"
144633f4 684 fi
685 ;;
686esac
687
688case ${host} in
689i[34567]86-*-linux* | x86_64-*-linux*)
690 # Provide backward binary compatibility for 64bit Linux/x86.
691 if test "${host_address}" = 64; then
692 tmake_file="${tmake_file} i386/${host_address}/t-softfp-compat"
693 fi
b3fd46a0 694 ;;
695esac