]> git.ipfire.org Git - thirdparty/gcc.git/blame - libgcc/config.host
re PR bootstrap/39150 (Configure scripts have no 64-Bit Solaris defined (only i386...
[thirdparty/gcc.git] / libgcc / config.host
CommitLineData
fa958513 1# libgcc host-specific configuration file.
8d8da227 2# Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
ca24c5ad 3# 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
fa958513
DJ
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
748086b7 9#Software Foundation; either version 3, or (at your option) any later
fa958513
DJ
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
748086b7
JJ
18#along with GCC; see the file COPYING3. If not see
19#<http://www.gnu.org/licenses/>.
fa958513
DJ
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.
10e48e39
RO
47# enable_execute_stack The name of a source file implementing
48# __enable_execute_stack.
fa958513
DJ
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.
58cd1d70
RO
55# md_unwind_header The name of a header file defining
56# MD_FALLBACK_FRAME_STATE_FOR.
fa958513
DJ
57# tmake_file A list of machine-description-specific
58# makefile-fragments, if different from
59# "$cpu_type/t-$cpu_type".
60
61asm_hidden_op=.hidden
10e48e39 62enable_execute_stack=
fa958513
DJ
63extra_parts=
64tmake_file=
58cd1d70 65md_unwind_header=no-unwind.h
fa958513
DJ
66
67# Set default cpu_type so it can be updated in each machine entry.
68cpu_type=`echo ${host} | sed 's/-.*$//'`
69case ${host} in
70m32c*-*-*)
71 cpu_type=m32c
72 ;;
73alpha*-*-*)
74 cpu_type=alpha
75 ;;
76am33_2.0-*-linux*)
77 cpu_type=mn10300
78 ;;
fa958513
DJ
79arm*-*-*)
80 cpu_type=arm
81 ;;
47583040
AH
82avr-*-*)
83 cpu_type=avr
84 ;;
fa958513
DJ
85bfin*-*)
86 cpu_type=bfin
87 ;;
7d33c31d
KH
88fido-*-*)
89 cpu_type=m68k
90 ;;
fa958513
DJ
91frv*) cpu_type=frv
92 ;;
cceb575c
AG
93moxie*) cpu_type=moxie
94 ;;
fa958513
DJ
95i[34567]86-*-*)
96 cpu_type=i386
97 ;;
98x86_64-*-*)
99 cpu_type=i386
100 ;;
101ia64-*-*)
102 ;;
cd985f66 103hppa*-*-*)
fa958513
DJ
104 cpu_type=pa
105 ;;
aa4945c1
JB
106lm32*-*-*)
107 cpu_type=lm32
108 ;;
fa958513
DJ
109m32r*-*-*)
110 cpu_type=m32r
111 ;;
fa958513
DJ
112m68k-*-*)
113 ;;
7acf4da6
DD
114mep*-*-*)
115 ;;
80920132
ME
116microblaze*-*-*)
117 cpu_type=microblaze
118 ;;
fa958513
DJ
119mips*-*-*)
120 cpu_type=mips
121 ;;
122powerpc*-*-*)
123 cpu_type=rs6000
124 ;;
125rs6000*-*-*)
126 ;;
127score*-*-*)
128 cpu_type=score
129 ;;
130sparc64*-*-*)
131 cpu_type=sparc
132 ;;
133sparc*-*-*)
134 cpu_type=sparc
135 ;;
136spu*-*-*)
137 cpu_type=spu
138 ;;
139s390*-*-*)
140 cpu_type=s390
141 ;;
142# Note the 'l'; we need to be able to match e.g. "shle" or "shl".
143sh[123456789lbe]*-*-*)
144 cpu_type=sh
145 ;;
4be46d19
NC
146v850*-*-*)
147 cpu_type=v850
148 ;;
fa958513
DJ
149esac
150
151# Common parts for widely ported systems.
152case ${host} in
153*-*-darwin*)
154 asm_hidden_op=.private_extern
155 tmake_file="t-darwin ${cpu_type}/t-darwin t-slibgcc-darwin"
156 ;;
157*-*-freebsd[12] | *-*-freebsd[12].* | *-*-freebsd*aout*)
158 # This is the place-holder for the generic a.out configuration
159 # of FreeBSD. No actual configuration resides here since
160 # there was only ever a bare-bones ix86 configuration for
161 # a.out and it exists solely in the machine-specific section.
162 # This place-holder must exist to avoid dropping into
163 # the generic ELF configuration of FreeBSD (i.e. it must be
164 # ordered before that section).
165 ;;
166*-*-freebsd*)
167 # This is the generic ELF configuration of FreeBSD. Later
168 # machine-specific sections may refine and add to this
169 # configuration.
170 ;;
c0451df7 171*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-gnu*)
fa958513
DJ
172 extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
173 ;;
fa958513
DJ
174*-*-netbsd*)
175 ;;
176*-*-openbsd*)
177 ;;
178*-*-rtems*)
179 ;;
ca24c5ad
RO
180*-*-solaris2*)
181 tmake_file="$tmake_file t-sol2 t-slibgcc t-slibgcc-elf-ver"
182 if test $with_gnu_ld = yes; then
183 tmake_file="$tmake_file t-slibgcc-gld"
184 else
185 tmake_file="$tmake_file t-slibgcc-sld"
186 fi
187 # Add cpu-specific t-sol2 after t-slibgcc-* so it can augment SHLIB_MAPFILES.
188 tmake_file="$tmake_file $cpu_type/t-sol2"
189 extra_parts="gmon.o crtbegin.o crtend.o"
190 case ${host} in
fbdd5d87 191 i?86-*-solaris2.1[0-9]* | x86_64-*-solaris2.1[0-9]*)
ca24c5ad
RO
192 # Solaris 10+/x86 provides crt1.o, crti.o, crtn.o, and gcrt1.o as
193 # part of the base system.
194 ;;
195 sparc*-*-solaris2.1[0-9]*)
196 # Solaris 10+/SPARC lacks crt1.o and gcrt1.o.
197 extra_parts="$extra_parts crt1.o gcrt1.o"
198 ;;
199 *)
200 tmake_file="$tmake_file t-crtin"
201 extra_parts="$extra_parts crt1.o crti.o crtn.o gcrt1.o"
202 ;;
203 esac
204 ;;
fa958513
DJ
205*-*-vxworks*)
206 ;;
207*-*-elf)
208 ;;
209esac
210
10e48e39
RO
211case ${host} in
212*-*-darwin* | *-*-freebsd* | *-*-netbsd* | *-*-openbsd* | *-*-solaris2* | \
213 alpha*-dec-osf5.1*)
214 enable_execute_stack=enable-execute-stack-mprotect.c
215 ;;
216i[34567]86-*-mingw* | x86_64-*-mingw*)
217 enable_execute_stack=config/i386/enable-execute-stack-mingw32.c
218 ;;
219*)
220 enable_execute_stack=enable-execute-stack-empty.c;
221 ;;
222esac
223
fa958513
DJ
224case ${host} in
225# Support site-specific machine types.
226*local*)
227 rest=`echo ${host} | sed -e "s/$cpu_type-//"`
228 if test -f $srcdir/config/${cpu_type}/t-$rest
229 then tmake_file=${cpu_type}/t-$rest
230 fi
231 ;;
ebb9f8b0 232alpha*-*-linux*)
fa958513 233 tmake_file="${tmake_file} alpha/t-crtfm"
5ea41e3a 234 extra_parts="$extra_parts crtfastmath.o"
58cd1d70 235 md_unwind_header=alpha/linux-unwind.h
fa958513 236 ;;
fa958513
DJ
237alpha*-*-freebsd*)
238 ;;
239alpha*-*-netbsd*)
240 ;;
241alpha*-*-openbsd*)
242 ;;
8c200350 243alpha*-dec-osf5.1*)
ee33b5f0
RO
244 tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee alpha/t-crtfm t-slibgcc alpha/t-slibgcc-osf"
245 case ${target_thread_file} in
246 posix)
247 tmake_file="${tmake_file} alpha/t-osf-pthread"
248 ;;
249 esac
250 extra_parts="${extra_parts} qrnnd.o crtfastmath.o gthr-posix.o"
58cd1d70 251 md_unwind_header=alpha/osf5-unwind.h
fa958513
DJ
252 ;;
253alpha64-dec-*vms*)
a9a25daa 254 tmake_file="vms/t-vms vms/t-vms64 alpha/t-vms"
58cd1d70 255 md_unwind_header=alpha/vms-unwind.h
fa958513
DJ
256 ;;
257alpha*-dec-*vms*)
a9a25daa 258 tmake_file="vms/t-vms alpha/t-vms"
58cd1d70 259 md_unwind_header=alpha/vms-unwind.h
fa958513 260 ;;
fa958513
DJ
261arm-wrs-vxworks)
262 ;;
cd985f66 263arm*-*-freebsd*)
fa958513
DJ
264 ;;
265arm*-*-netbsdelf*)
266 ;;
fa958513
DJ
267arm*-*-linux*) # ARM GNU/Linux with ELF
268 ;;
269arm*-*-uclinux*) # ARM ucLinux
270 ;;
271arm*-*-ecos-elf)
272 ;;
273arm*-*-eabi* | arm*-*-symbianelf* )
274 ;;
275arm*-*-rtems*)
276 ;;
cd985f66 277arm*-*-elf)
fa958513
DJ
278 ;;
279arm*-wince-pe*)
280 ;;
fa958513
DJ
281avr-*-rtems*)
282 ;;
283avr-*-*)
47583040
AH
284 # Make HImode functions for AVR
285 tmake_file=${cpu_type}/t-avr
fa958513
DJ
286 ;;
287bfin*-elf*)
288 ;;
289bfin*-uclinux*)
58cd1d70 290 md_unwind_header=bfin/linux-unwind.h
fa958513 291 ;;
344189f9
BS
292bfin*-linux-uclibc*)
293 # No need to build crtbeginT.o on uClibc systems. Should probably
294 # be moved to the OS specific section above.
295 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
58cd1d70 296 md_unwind_header=bfin/linux-unwind.h
344189f9 297 ;;
fa958513
DJ
298bfin*-*)
299 ;;
4081d704 300crisv32-*-elf | crisv32-*-none | cris-*-elf | cris-*-none)
8fce4e31 301 extra_parts="crtbegin.o crtend.o"
fa958513 302 ;;
4081d704 303cris-*-linux* | crisv32-*-linux*)
fa958513 304 ;;
7d33c31d
KH
305fido-*-elf)
306 ;;
fa958513
DJ
307fr30-*-elf)
308 ;;
309frv-*-elf)
310 ;;
311frv-*-*linux*)
312 ;;
fa958513
DJ
313h8300-*-rtems*)
314 ;;
315h8300-*-elf*)
316 ;;
cd985f66 317hppa*64*-*-linux*)
fa958513 318 ;;
cd985f66 319hppa*-*-linux*)
0defd786 320 md_unwind_header=pa/linux-unwind.h
fa958513
DJ
321 ;;
322hppa[12]*-*-hpux10*)
58cd1d70 323 md_unwind_header=pa/hpux-unwind.h
fa958513
DJ
324 ;;
325hppa*64*-*-hpux11*)
58cd1d70 326 md_unwind_header=pa/hpux-unwind.h
fa958513
DJ
327 ;;
328hppa[12]*-*-hpux11*)
58cd1d70 329 md_unwind_header=pa/hpux-unwind.h
fa958513
DJ
330 ;;
331i[34567]86-*-darwin*)
332 ;;
333x86_64-*-darwin*)
334 tmake_file="t-darwin ${cpu_type}/t-darwin64 t-slibgcc-darwin"
335 ;;
336i[34567]86-*-elf*)
337 ;;
3ae3dbd6
HK
338x86_64-*-elf*)
339 ;;
fa958513 340i[34567]86-*-freebsd*)
d78552bd 341 tmake_file="${tmake_file} i386/t-freebsd"
fa958513
DJ
342 ;;
343x86_64-*-freebsd*)
d78552bd 344 tmake_file="${tmake_file} i386/t-freebsd"
fa958513
DJ
345 ;;
346i[34567]86-*-netbsdelf*)
347 ;;
fa958513
DJ
348x86_64-*-netbsd*)
349 ;;
350i[34567]86-*-openbsd2.*|i[34567]86-*openbsd3.[0123])
351 ;;
352i[34567]86-*-openbsd*)
353 ;;
9e7714f4 354i[34567]86-*-linux*)
577565f9
UB
355 extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
356 tmake_file="${tmake_file} i386/t-crtpc i386/t-crtfm"
58cd1d70 357 md_unwind_header=i386/linux-unwind.h
fa958513 358 ;;
9e7714f4
TS
359i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu | i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu)
360 extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
361 tmake_file="${tmake_file} i386/t-crtpc i386/t-crtfm"
362 ;;
363x86_64-*-linux*)
577565f9
UB
364 extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
365 tmake_file="${tmake_file} i386/t-crtpc i386/t-crtfm"
58cd1d70 366 md_unwind_header=i386/linux-unwind.h
fa958513 367 ;;
9e7714f4
TS
368x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu)
369 extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
370 tmake_file="${tmake_file} i386/t-crtpc i386/t-crtfm"
371 ;;
fa958513
DJ
372i[34567]86-pc-msdosdjgpp*)
373 ;;
374i[34567]86-*-lynxos*)
375 ;;
376i[3456x]86-*-netware*)
377 case /${with_ld} in
378 */nwld)
379 tmake_file="${tmake_file} i386/t-nwld"
380 ;;
381 esac
382 ;;
383i[34567]86-*-nto-qnx*)
384 ;;
385i[34567]86-*-rtems*)
ca24c5ad
RO
386 extra_parts="crtbegin.o crtend.o crti.o crtn.o"
387 tmake_file="${tmake_file} t-crtin i386/t-softfp i386/t-crtstuff t-rtems"
fa958513 388 ;;
fbdd5d87 389i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*)
0699e415
RO
390 tmake_file="$tmake_file i386/t-crtfm"
391 extra_parts="$extra_parts crtfastmath.o"
58cd1d70 392 md_unwind_header=i386/sol2-unwind.h
fa958513 393 ;;
fa958513
DJ
394i[4567]86-wrs-vxworks|i[4567]86-wrs-vxworksae)
395 ;;
58cd1d70 396i[34567]86-*-cygwin*)
76f5e200
DS
397 extra_parts="crtbegin.o crtend.o crtfastmath.o"
398 tmake_file="i386/t-cygming i386/t-crtfm"
9bd196f0 399 ;;
58cd1d70
RO
400i[34567]86-*-mingw*)
401 extra_parts="crtbegin.o crtend.o crtfastmath.o"
402 tmake_file="i386/t-cygming i386/t-crtfm"
403 md_unwind_header=i386/w32-unwind.h
404 ;;
9bd196f0 405x86_64-*-mingw*)
fa958513 406 ;;
fa958513
DJ
407i[34567]86-*-interix3*)
408 ;;
fa958513 409ia64*-*-elf*)
f43e89a3
RIL
410 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o"
411 tmake_file="ia64/t-ia64"
fa958513
DJ
412 ;;
413ia64*-*-freebsd*)
be1c764e
GP
414 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o"
415 tmake_file="ia64/t-ia64"
fa958513
DJ
416 ;;
417ia64*-*-linux*)
418 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o"
ba181049 419 tmake_file="ia64/t-ia64 t-softfp ia64/t-fprules-softfp ia64/t-softfp-compat"
58cd1d70 420 md_unwind_header=ia64/linux-unwind.h
fa958513
DJ
421 ;;
422ia64*-*-hpux*)
423 ;;
a9a25daa
DR
424ia64-hp-*vms*)
425 tmake_file="vms/t-vms vms/t-vms64 ia64/t-vms"
58cd1d70 426 md_unwind_header=ia64/vms-unwind.h
a9a25daa 427 ;;
fa958513
DJ
428iq2000*-*-elf*)
429 ;;
c1b14424 430lm32-*-elf*|lm32-*-rtems*)
aa4945c1
JB
431 extra_parts="crtbegin.o crtend.o crti.o crtn.o"
432 tmake_file="lm32/t-lm32 lm32/t-elf t-softfp"
433 ;;
434lm32-*-uclinux*)
435 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o"
436 tmake_file="lm32/t-lm32 lm32/t-uclinux t-softfp"
437 ;;
2042cb04 438m32r-*-elf*|m32r-*-rtems*)
fa958513
DJ
439 ;;
440m32rle-*-elf*)
441 ;;
442m32r-*-linux*)
443 ;;
444m32rle-*-linux*)
445 ;;
cd985f66 446m68k-*-elf*)
fa958513 447 ;;
cd985f66 448m68k*-*-netbsdelf*)
fa958513
DJ
449 ;;
450m68k*-*-openbsd*)
451 ;;
452m68k-*-uclinux*) # Motorola m68k/ColdFire running uClinux with uClibc
58cd1d70 453 md_unwind_header=m68k/linux-unwind.h
fa958513 454 ;;
58cd1d70 455m68k-*-linux*) # Motorola m68k's running GNU/Linux
fa958513
DJ
456 # with ELF format using glibc 2
457 # aka the GNU/Linux C library 6.
58cd1d70 458 md_unwind_header=m68k/linux-unwind.h
fa958513
DJ
459 ;;
460m68k-*-rtems*)
461 ;;
462mcore-*-elf)
463 ;;
80920132
ME
464microblaze*-*-*)
465 tmake_file="microblaze/t-microblaze"
466 ;;
737346fa 467mips-sgi-irix6.5*)
aa4203e7
RO
468 tmake_file="mips/t-irix6 t-crtfm t-slibgcc mips/t-slibgcc-irix"
469 extra_parts="crtbegin.o crtend.o crtfastmath.o irix-crti.o irix-crtn.o"
ea963999 470 md_unwind_header=mips/irix6-unwind.h
fa958513
DJ
471 ;;
472mips*-*-netbsd*) # NetBSD/mips, either endian.
473 ;;
474mips64*-*-linux*)
48b09a92 475 extra_parts="$extra_parts crtfastmath.o"
aa4203e7 476 tmake_file="{$tmake_file} t-crtfm"
58cd1d70 477 md_unwind_header=mips/linux-unwind.h
fa958513
DJ
478 ;;
479mips*-*-linux*) # Linux MIPS, either endian.
48b09a92 480 extra_parts="$extra_parts crtfastmath.o"
aa4203e7 481 tmake_file="{$tmake_file} t-crtfm"
58cd1d70 482 md_unwind_header=mips/linux-unwind.h
fa958513
DJ
483 ;;
484mips*-*-openbsd*)
485 ;;
486mipsisa32-*-elf* | mipsisa32el-*-elf*)
487 ;;
488mipsisa32r2-*-elf* | mipsisa32r2el-*-elf*)
489 ;;
490mipsisa64-*-elf* | mipsisa64el-*-elf*)
491 ;;
0a4a51c7
AN
492mipsisa64r2-*-elf* | mipsisa64r2el-*-elf*)
493 ;;
fa958513
DJ
494mipsisa64sr71k-*-elf*)
495 ;;
496mipsisa64sb1-*-elf* | mipsisa64sb1el-*-elf*)
497 ;;
498mips-*-elf* | mipsel-*-elf*)
499 ;;
500mips64-*-elf* | mips64el-*-elf*)
501 ;;
502mips64vr-*-elf* | mips64vrel-*-elf*)
503 ;;
504mips64orion-*-elf* | mips64orionel-*-elf*)
505 ;;
506mips*-*-rtems*)
507 ;;
508mips-wrs-vxworks)
509 ;;
fa958513
DJ
510mipstx39-*-elf* | mipstx39el-*-elf*)
511 ;;
512mmix-knuth-mmixware)
e7c914db
HPN
513 extra_parts="crti.o crtn.o crtbegin.o crtend.o"
514 tmake_file="${tmake_file} ${cpu_type}/t-${cpu_type}"
fa958513
DJ
515 ;;
516mn10300-*-*)
517 ;;
cceb575c 518moxie-*-*)
e6e50811 519 tmake_file="moxie/t-moxie moxie/t-moxie-softfp"
cceb575c
AG
520 extra_parts="crtbegin.o crtend.o crti.o crtn.o"
521 ;;
fa958513
DJ
522pdp11-*-*)
523 ;;
358da97e
HS
524picochip-*-*)
525 ;;
fa958513 526powerpc-*-darwin*)
58cd1d70
RO
527 case ${host} in
528 *-*-darwin9* | *-*-darwin[12][0-9]*)
529 # libSystem contains unwind information for signal frames since
530 # Darwin 9.
531 ;;
532 *)
533 md_unwind_header=rs6000/darwin-unwind.h
534 ;;
535 esac
fa958513
DJ
536 ;;
537powerpc64-*-darwin*)
538 ;;
9cfa1499
AT
539powerpc-*-freebsd*)
540 tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-freebsd t-softfp"
fa958513
DJ
541 ;;
542powerpc-*-netbsd*)
543 ;;
fa958513 544powerpc-*-eabispe*)
c5b79d4e 545 tmake_file="${tmake_file} rs6000/t-ppccomm"
fa958513
DJ
546 ;;
547powerpc-*-eabisimaltivec*)
548 ;;
549powerpc-*-eabisim*)
550 ;;
551powerpc-*-elf*)
552 ;;
553powerpc-*-eabialtivec*)
554 ;;
555powerpc-*-eabi*)
c5b79d4e 556 tmake_file="${tmake_file} rs6000/t-ppccomm"
fa958513
DJ
557 ;;
558powerpc-*-rtems*)
559 ;;
633dd061 560powerpc-*-linux* | powerpc64-*-linux*)
bcf4713b 561 tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-ldbl128 t-softfp"
58cd1d70 562 md_unwind_header=rs6000/linux-unwind.h
fa958513 563 ;;
fa958513
DJ
564powerpc-wrs-vxworks|powerpc-wrs-vxworksae)
565 ;;
fa958513
DJ
566powerpc-*-lynxos*)
567 ;;
fa958513
DJ
568powerpcle-*-elf*)
569 ;;
570powerpcle-*-eabisim*)
571 ;;
572powerpcle-*-eabi*)
573 ;;
fa958513
DJ
574rs6000-ibm-aix4.[3456789]* | powerpc-ibm-aix4.[3456789]*)
575 ;;
576rs6000-ibm-aix5.1.* | powerpc-ibm-aix5.1.*)
577 ;;
578rs6000-ibm-aix[56789].* | powerpc-ibm-aix[56789].*)
579 ;;
65a324b4
NC
580rx-*-elf)
581 extra_parts="crtbegin.o crtend.o"
582 tmake_file="rx/t-rx"
583 ;;
fa958513 584s390-*-linux*)
81dd9fd7 585 tmake_file="${tmake_file} s390/t-crtstuff s390/t-linux s390/32/t-floattodi"
58cd1d70 586 md_unwind_header=s390/linux-unwind.h
fa958513
DJ
587 ;;
588s390x-*-linux*)
81dd9fd7 589 tmake_file="${tmake_file} s390/t-crtstuff s390/t-linux"
58cd1d70 590 md_unwind_header=s390/linux-unwind.h
fa958513
DJ
591 ;;
592s390x-ibm-tpf*)
81dd9fd7 593 tmake_file="${tmake_file} s390/t-crtstuff s390/t-tpf"
10c4cabc 594 md_unwind_header=s390/tpf-unwind.h
fa958513
DJ
595 ;;
596score-*-elf)
597 ;;
cd985f66 598sh-*-elf* | sh[12346l]*-*-elf* | \
93fea8d3 599 sh-*-linux* | sh[2346lbe]*-*-linux* | \
fa958513
DJ
600 sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \
601 sh64-*-netbsd* | sh64l*-*-netbsd*)
26900826
KK
602 case ${host} in
603 sh*-*-linux*)
604 tmake_file="${tmake_file} sh/t-linux"
82f247af 605 md_unwind_header=sh/linux-unwind.h
26900826
KK
606 ;;
607 esac
fa958513 608 ;;
fa958513
DJ
609sh-*-rtems*)
610 ;;
611sh-wrs-vxworks)
612 ;;
fa958513
DJ
613sparc-*-netbsdelf*)
614 ;;
615sparc64-*-openbsd*)
616 ;;
617sparc-*-elf*)
ca24c5ad
RO
618 case ${host} in
619 *-leon[3-9]*)
620 ;;
621 *)
622 tmake_file="sparc/t-softmul"
623 ;;
624 esac
625 tmake_file="${tmake_file} sparc/t-softfp t-crtin t-crtfm"
626 extra_parts="crtbegin.o crtend.o crti.o crtn.o crtfastmath.o"
fa958513
DJ
627 ;;
628sparc-*-linux*) # SPARC's running GNU/Linux, libc6
629 extra_parts="$extra_parts crtfastmath.o"
ca24c5ad 630 tmake_file="${tmake_file} t-crtfm"
10c4cabc 631 md_unwind_header=sparc/linux-unwind.h
fa958513 632 ;;
1b64cc3e 633sparc-*-rtems* | sparc64-*-rtems* )
ca24c5ad
RO
634 tmake_file="sparc/t-elf t-crtin t-crtfm t-rtems"
635 extra_parts="crtbegin.o crtend.o crti.o crtn.o crtfastmath.o"
fa958513 636 ;;
ca24c5ad
RO
637sparc*-*-solaris2*)
638 tmake_file="$tmake_file t-crtfm"
639 extra_parts="$extra_parts crtfastmath.o"
58cd1d70 640 md_unwind_header=sparc/sol2-unwind.h
fa958513 641 ;;
fa958513 642sparc64-*-elf*)
ca24c5ad
RO
643 tmake_file="${tmake_file} t-crtin t-crtfm"
644 extra_parts="crtbegin.o crtend.o crti.o crtn.o crtfastmath.o"
fa958513 645 ;;
1910440e
RS
646sparc-wrs-vxworks)
647 ;;
fa958513
DJ
648sparc64-*-freebsd*|ultrasparc-*-freebsd*)
649 ;;
650sparc64-*-linux*) # 64-bit SPARC's running GNU/Linux
651 extra_parts="$extra_parts crtfastmath.o"
ca24c5ad 652 tmake_file="${tmake_file} t-crtfm"
58cd1d70 653 md_unwind_header=sparc/linux-unwind.h
fa958513
DJ
654 ;;
655sparc64-*-netbsd*)
656 ;;
657spu-*-elf*)
658 ;;
4be46d19 659v850*-*-*)
fa958513 660 ;;
fea96e25
MR
661vax-*-linux*)
662 ;;
fa958513
DJ
663vax-*-netbsdelf*)
664 ;;
fa958513
DJ
665vax-*-openbsd*)
666 ;;
fa958513
DJ
667xstormy16-*-elf)
668 ;;
c660f132 669xtensa*-*-elf*)
fa958513 670 ;;
c660f132 671xtensa*-*-linux*)
58cd1d70 672 md_unwind_header=xtensa/linux-unwind.h
fa958513
DJ
673 ;;
674am33_2.0-*-linux*)
675 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
676 ;;
541ed00e 677m32c-*-elf*|m32c-*-rtems*)
fa958513 678 ;;
7acf4da6
DD
679mep*-*-*)
680 ;;
fa958513
DJ
681*)
682 echo "*** Configuration ${host} not supported" 1>&2
683 exit 1
684 ;;
685esac
6f461e76
L
686
687case ${host} in
2a761e46
TS
688i[34567]86-*-linux* | x86_64-*-linux* | \
689 i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu | \
690 i[34567]86-*-gnu*)
b6110d6d
ILT
691 tmake_file="${tmake_file} t-tls"
692 if test "$libgcc_cv_cfi" = "yes"; then
ca007d11 693 tmake_file="${tmake_file} t-stack i386/t-stack-i386"
b6110d6d 694 fi
6f461e76
L
695 ;;
696esac
ff473280
L
697
698case ${host} in
699i[34567]86-*-darwin* | x86_64-*-darwin* | \
532bfb0a 700 i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu | \
e997fb9c 701 i[34567]86-*-linux* | x86_64-*-linux* | \
3f56ef8b 702 i[34567]86-*-gnu* | \
fbdd5d87 703 i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]* | \
d78552bd
UB
704 i[34567]86-*-cygwin* | i[34567]86-*-mingw* | x86_64-*-mingw* | \
705 i[34567]86-*-freebsd* | x86_64-*-freebsd*)
c174f11c 706 if test "${host_address}" = 32; then
ce16861e 707 tmake_file="${tmake_file} t-softfp i386/${host_address}/t-fprules-softfp"
c174f11c
L
708 fi
709 ;;
710esac
711
712case ${host} in
713i[34567]86-*-linux* | x86_64-*-linux*)
714 # Provide backward binary compatibility for 64bit Linux/x86.
715 if test "${host_address}" = 64; then
716 tmake_file="${tmake_file} i386/${host_address}/t-softfp-compat"
717 fi
ff473280
L
718 ;;
719esac