config.host revision 1.4
1# libgcc host-specific configuration file. 2# Copyright (C) 1997-2013 Free Software Foundation, Inc. 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 8#Software Foundation; either version 3, or (at your option) any later 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 17#along with GCC; see the file COPYING3. If not see 18#<http://www.gnu.org/licenses/>. 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. 46# enable_execute_stack The name of a source file implementing 47# __enable_execute_stack. 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. 54# md_unwind_header The name of a header file defining 55# MD_FALLBACK_FRAME_STATE_FOR. 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. 59# tmake_file A list of machine-description-specific 60# makefile fragments. 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. 66# unwind_header The name of the header file declaring the unwind 67# runtime interface routines. 68 69asm_hidden_op=.hidden 70enable_execute_stack= 71extra_parts= 72tmake_file= 73tm_file= 74tm_define= 75md_unwind_header=no-unwind.h 76unwind_header=unwind-generic.h 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 83 tmake_file=t-fdpbit 84 ;; 85aarch64*-*-*) 86 cpu_type=aarch64 87 ;; 88alpha*-*-*) 89 cpu_type=alpha 90 ;; 91am33_2.0-*-linux*) 92 cpu_type=mn10300 93 ;; 94arm*-*-*) 95 cpu_type=arm 96 ;; 97avr-*-*) 98 cpu_type=avr 99 ;; 100bfin*-*) 101 cpu_type=bfin 102 ;; 103cr16-*-*) 104 ;; 105fido-*-*) 106 cpu_type=m68k 107 ;; 108frv*) cpu_type=frv 109 ;; 110moxie*) cpu_type=moxie 111 ;; 112i[34567]86-*-*) 113 cpu_type=i386 114 ;; 115x86_64-*-*) 116 cpu_type=i386 117 ;; 118ia64-*-*) 119 ;; 120hppa*-*-*) 121 cpu_type=pa 122 ;; 123lm32*-*-*) 124 cpu_type=lm32 125 ;; 126m32r*-*-*) 127 cpu_type=m32r 128 ;; 129m68k-*-*) 130 ;; 131mep*-*-*) 132 ;; 133microblaze*-*-*) 134 cpu_type=microblaze 135 ;; 136mips*-*-*) 137 cpu_type=mips 138 tmake_file=mips/t-mips 139 ;; 140powerpc*-*-*) 141 cpu_type=rs6000 142 ;; 143rs6000*-*-*) 144 ;; 145score*-*-*) 146 cpu_type=score 147 ;; 148sparc64*-*-*) 149 cpu_type=sparc 150 ;; 151sparc*-*-*) 152 cpu_type=sparc 153 ;; 154spu*-*-*) 155 cpu_type=spu 156 ;; 157s390*-*-*) 158 cpu_type=s390 159 ;; 160# Note the 'l'; we need to be able to match e.g. "shle" or "shl". 161sh[123456789lbe]*-*-*) 162 cpu_type=sh 163 ;; 164v850*-*-*) 165 cpu_type=v850 166 ;; 167tic6x-*-*) 168 cpu_type=c6x 169 ;; 170esac 171 172# Common parts for widely ported systems. 173case ${host} in 174*-*-darwin*) 175 asm_hidden_op=.private_extern 176 tmake_file="$tmake_file t-darwin ${cpu_type}/t-darwin t-libgcc-pic t-slibgcc-darwin" 177 extra_parts="crt3.o crttms.o crttme.o" 178 ;; 179*-*-freebsd*) 180 # This is the generic ELF configuration of FreeBSD. Later 181 # machine-specific sections may refine and add to this 182 # configuration. 183 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" 184 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o" 185 case ${target_thread_file} in 186 posix) 187 tmake_file="${tmake_file} t-freebsd-thread" 188 # Before 5.0, FreeBSD can't bind shared libraries to -lc 189 # when "optionally" threaded via weak pthread_* checks. 190 case ${host} in 191 *-*-freebsd[34] | *-*-freebsd[34].*) 192 tmake_file="${tmake_file} t-slibgcc-nolc-override" 193 ;; 194 esac 195 ;; 196 esac 197 ;; 198*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu) 199 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" 200 extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o" 201 ;; 202*-*-lynxos*) 203 tmake_file="$tmake_file t-lynx $cpu_type/t-crtstuff t-crtstuff-pic t-libgcc-pic" 204 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o" 205 ;; 206*-*-netbsd*) 207 tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver" 208 # NetBSD 1.7 and later are set up to use GCC's crtstuff for 209 # ELF configurations. We will clear extra_parts in the 210 # a.out configurations. 211 case ${host} in 212 *-*-netbsd*1.[7-9]* | *-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*) 213 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o" 214 ;; 215 esac 216 ;; 217*-*-openbsd*) 218 tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip" 219 case ${target_thread_file} in 220 posix) 221 tmake_file="$tmake_file t-openbsd-thread" 222 ;; 223 esac 224 ;; 225*-*-rtems*) 226 tmake_file="$tmake_file t-rtems" 227 extra_parts="crtbegin.o crtend.o" 228 ;; 229*-*-solaris2*) 230 # Unless linker support and dl_iterate_phdr are present, 231 # unwind-dw2-fde-dip.c automatically falls back to unwind-dw2-fde.c. 232 tmake_file="$tmake_file t-sol2 t-eh-dw2-dip t-libgcc-pic t-slibgcc t-slibgcc-elf-ver" 233 if test $with_gnu_ld = yes; then 234 tmake_file="$tmake_file t-slibgcc-gld" 235 else 236 tmake_file="$tmake_file t-slibgcc-sld" 237 fi 238 # Add cpu-specific t-sol2 after t-slibgcc-* so it can augment SHLIB_MAPFILES. 239 tmake_file="$tmake_file $cpu_type/t-sol2" 240 extra_parts="gmon.o crtbegin.o crtend.o" 241 case ${host} in 242 i?86-*-solaris2.1[0-9]* | x86_64-*-solaris2.1[0-9]*) 243 # Solaris 10+/x86 provides crt1.o, crti.o, crtn.o, and gcrt1.o as 244 # part of the base system. 245 ;; 246 sparc*-*-solaris2.1[0-9]*) 247 # Solaris 10+/SPARC lacks crt1.o and gcrt1.o. 248 extra_parts="$extra_parts crt1.o gcrt1.o" 249 ;; 250 *) 251 extra_parts="$extra_parts crt1.o crti.o crtn.o gcrt1.o" 252 ;; 253 esac 254 ;; 255*-*-uclinux*) 256 extra_parts="crtbegin.o crtend.o" 257 ;; 258*-*-*vms*) 259 tmake_file="vms/t-vms" 260 extra_parts="crt0.o crtbegin.o crtbeginS.o crtend.o crtendS.o" 261 ;; 262*-*-vxworks*) 263 tmake_file=t-vxworks 264 ;; 265*-*-elf) 266 extra_parts="crtbegin.o crtend.o" 267 ;; 268esac 269 270case ${host} in 271*-*-darwin* | *-*-freebsd* | *-*-netbsd* | *-*-openbsd* | *-*-solaris2*) 272 enable_execute_stack=enable-execute-stack-mprotect.c 273 ;; 274i[34567]86-*-mingw* | x86_64-*-mingw*) 275 enable_execute_stack=config/i386/enable-execute-stack-mingw32.c 276 ;; 277*) 278 enable_execute_stack=enable-execute-stack-empty.c; 279 ;; 280esac 281 282case ${host} in 283aarch64*-*-elf) 284 extra_parts="$extra_parts crtbegin.o crtend.o crti.o crtn.o" 285 tmake_file="${tmake_file} ${cpu_type}/t-aarch64" 286 tmake_file="${tmake_file} ${cpu_type}/t-softfp t-softfp" 287 ;; 288aarch64*-*-linux*) 289 md_unwind_header=aarch64/linux-unwind.h 290 tmake_file="${tmake_file} ${cpu_type}/t-aarch64" 291 tmake_file="${tmake_file} ${cpu_type}/t-softfp t-softfp" 292 ;; 293alpha*-*-linux*) 294 tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee t-crtfm alpha/t-linux" 295 extra_parts="$extra_parts crtfastmath.o" 296 md_unwind_header=alpha/linux-unwind.h 297 ;; 298alpha*-*-freebsd*) 299 tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee t-crtfm" 300 extra_parts="$extra_parts crtbeginT.o crtfastmath.o" 301 ;; 302alpha*-*-netbsd*) 303 tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee" 304 ;; 305alpha*-*-openbsd*) 306 tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee" 307 ;; 308alpha64-dec-*vms*) 309 tmake_file="$tmake_file alpha/t-alpha alpha/t-ieee alpha/t-vms t-slibgcc-vms" 310 extra_parts="$extra_parts vms-dwarf2.o vms-dwarf2eh.o" 311 md_unwind_header=alpha/vms-unwind.h 312 ;; 313alpha*-dec-*vms*) 314 tmake_file="$tmake_file alpha/t-alpha alpha/t-ieee alpha/t-vms t-slibgcc-vms" 315 extra_parts="$extra_parts vms-dwarf2.o vms-dwarf2eh.o" 316 md_unwind_header=alpha/vms-unwind.h 317 ;; 318arm-wrs-vxworks) 319 tmake_file="$tmake_file arm/t-arm arm/t-vxworks t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp" 320 extra_parts="$extra_parts crti.o crtn.o" 321 ;; 322arm*-*-netbsdelf*) 323 tmake_file="$tmake_file arm/t-arm" 324 case ${host} in 325 arm*-*-netbsdelf-*eabi*) 326 tmake_file="${tmake_file} arm/t-netbsd-eabi" 327 unwind_header=config/arm/unwind-arm.h 328 ;; 329 *) 330 tmake_file="${tmake_file} arm/t-netbsd t-slibgcc-gld-nover" 331 ;; 332 esac 333 ;; 334arm*-*-linux*) # ARM GNU/Linux with ELF 335 tmake_file="${tmake_file} arm/t-arm t-fixedpoint-gnu-prefix" 336 tmake_file="${tmake_file} arm/t-elf arm/t-bpabi arm/t-linux-eabi t-slibgcc-libgcc" 337 tm_file="$tm_file arm/bpabi-lib.h" 338 unwind_header=config/arm/unwind-arm.h 339 tmake_file="$tmake_file t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp" 340 ;; 341arm*-*-uclinux*) # ARM ucLinux 342 tmake_file="${tmake_file} t-fixedpoint-gnu-prefix" 343 tmake_file="$tmake_file arm/t-arm arm/t-elf t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp" 344 tmake_file="${tmake_file} arm/t-bpabi" 345 tm_file="$tm_file arm/bpabi-lib.h" 346 unwind_header=config/arm/unwind-arm.h 347 extra_parts="$extra_parts crti.o crtn.o" 348 ;; 349arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*) 350 tmake_file="${tmake_file} arm/t-arm arm/t-elf t-fixedpoint-gnu-prefix" 351 tm_file="$tm_file arm/bpabi-lib.h" 352 case ${host} in 353 arm*-*-eabi* | arm*-*-rtems*) 354 tmake_file="${tmake_file} arm/t-bpabi" 355 extra_parts="crtbegin.o crtend.o crti.o crtn.o" 356 ;; 357 arm*-*-symbianelf*) 358 tmake_file="${tmake_file} arm/t-symbian t-slibgcc-nolc-override" 359 tm_file="$tm_file arm/symbian-lib.h" 360 # Symbian OS provides its own startup code. 361 ;; 362 esac 363 tmake_file="$tmake_file t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp" 364 unwind_header=config/arm/unwind-arm.h 365 ;; 366avr-*-rtems*) 367 tmake_file="$tmake_file avr/t-avr avr/t-rtems t-fpbit" 368 tm_file="$tm_file avr/avr-lib.h" 369 # Don't use default. 370 extra_parts= 371 ;; 372avr-*-*) 373 # Make HImode functions for AVR 374 tmake_file="${cpu_type}/t-avr t-fpbit" 375 if test x${with_avrlibc} != xno; then 376 tmake_file="$tmake_file ${cpu_type}/t-avrlibc" 377 fi 378 tm_file="$tm_file avr/avr-lib.h" 379 ;; 380bfin*-elf*) 381 tmake_file="bfin/t-bfin bfin/t-crtlibid bfin/t-crtstuff t-libgcc-pic t-fdpbit" 382 extra_parts="$extra_parts crtbeginS.o crtendS.o crti.o crtn.o crtlibid.o" 383 ;; 384bfin*-uclinux*) 385 tmake_file="bfin/t-bfin bfin/t-crtlibid bfin/t-crtstuff t-libgcc-pic t-fdpbit" 386 extra_parts="$extra_parts crtbeginS.o crtendS.o crtlibid.o" 387 md_unwind_header=bfin/linux-unwind.h 388 ;; 389bfin*-linux-uclibc*) 390 tmake_file="$tmake_file bfin/t-bfin bfin/t-crtstuff t-libgcc-pic t-fdpbit bfin/t-linux" 391 # No need to build crtbeginT.o on uClibc systems. Should probably 392 # be moved to the OS specific section above. 393 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o" 394 md_unwind_header=bfin/linux-unwind.h 395 ;; 396bfin*-rtems*) 397 tmake_file="$tmake_file bfin/t-bfin t-fdpbit" 398 extra_parts="$extra_parts crti.o crtn.o" 399 ;; 400bfin*-*) 401 tmake_file="$tmake_file bfin/t-bfin t-fdpbit" 402 extra_parts="crtbegin.o crtend.o crti.o crtn.o" 403 ;; 404cr16-*-elf) 405 tmake_file="${tmake_file} cr16/t-cr16 cr16/t-crtlibid t-fdpbit" 406 extra_parts="$extra_parts crti.o crtn.o crtlibid.o" 407 ;; 408crisv32-*-elf) 409 tmake_file="$tmake_file cris/t-cris t-fdpbit" 410 ;; 411cris-*-elf) 412 tmake_file="$tmake_file cris/t-cris t-fdpbit cris/t-elfmulti" 413 ;; 414cris-*-linux* | crisv32-*-linux*) 415 tmake_file="$tmake_file cris/t-cris t-fdpbit cris/t-linux" 416 ;; 417epiphany-*-elf*) 418 tmake_file="epiphany/t-epiphany t-fdpbit epiphany/t-custom-eqsf" 419 extra_parts="$extra_parts crti.o crtint.o crtrunc.o crtm1reg-r43.o crtm1reg-r63.o crtn.o" 420 ;; 421fr30-*-elf) 422 tmake_file="$tmake_file fr30/t-fr30 t-fdpbit" 423 extra_parts="$extra_parts crti.o crtn.o" 424 ;; 425frv-*-elf) 426 tmake_file="$tmake_file frv/t-frv t-fdpbit" 427 tm_file="$tm_file frv/frv-abi.h" 428 # Don't use crtbegin.o, crtend.o. 429 extra_parts="frvbegin.o frvend.o" 430 ;; 431frv-*-*linux*) 432 tmake_file="$tmake_file frv/t-frv frv/t-linux t-fdpbit" 433 tm_file="$tm_file frv/frv-abi.h" 434 ;; 435h8300-*-rtems*) 436 tmake_file="$tmake_file h8300/t-h8300 t-fpbit" 437 tm_file="$tm_file h8300/h8300-lib.h" 438 extra_parts="$extra_parts crti.o crtn.o" 439 ;; 440h8300-*-elf*) 441 tmake_file="$tmake_file h8300/t-h8300 t-fpbit" 442 tm_file="$tm_file h8300/h8300-lib.h" 443 extra_parts="$extra_parts crti.o crtn.o" 444 ;; 445hppa*64*-*-linux*) 446 tmake_file="$tmake_file pa/t-linux pa/t-linux64" 447 ;; 448hppa*-*-linux*) 449 tmake_file="$tmake_file pa/t-linux t-slibgcc-libgcc" 450 # Set the libgcc version number 451 if test x$enable_sjlj_exceptions = xyes; then 452 tmake_file="$tmake_file pa/t-slibgcc-sjlj-ver" 453 else 454 tmake_file="$tmake_file pa/t-slibgcc-dwarf-ver" 455 fi 456 md_unwind_header=pa/linux-unwind.h 457 ;; 458hppa[12]*-*-hpux10*) 459 tmake_file="$tmake_file pa/t-hpux pa/t-hpux10 t-libgcc-pic t-slibgcc" 460 # Set the libgcc version number 461 if test x$enable_sjlj_exceptions = xyes; then 462 tmake_file="$tmake_file pa/t-slibgcc-sjlj-ver" 463 else 464 tmake_file="$tmake_file pa/t-slibgcc-dwarf-ver" 465 fi 466 tmake_file="$tmake_file pa/t-slibgcc-hpux t-slibgcc-hpux" 467 md_unwind_header=pa/hpux-unwind.h 468 ;; 469hppa*64*-*-hpux11*) 470 tmake_file="$tmake_file pa/t-hpux pa/t-pa64 pa/t-stublib t-libgcc-pic t-slibgcc" 471 # Set the libgcc version number 472 if test x$enable_sjlj_exceptions = xyes; then 473 tmake_file="$tmake_file pa/t-slibgcc-sjlj-ver" 474 else 475 tmake_file="$tmake_file pa/t-slibgcc-dwarf-ver" 476 fi 477 tmake_file="$tmake_file pa/t-slibgcc-hpux t-slibgcc-hpux" 478 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o \ 479 libgcc_stub.a" 480 md_unwind_header=pa/hpux-unwind.h 481 ;; 482hppa[12]*-*-hpux11*) 483 tmake_file="$tmake_file pa/t-hpux pa/t-stublib t-libgcc-pic t-slibgcc" 484 # Set the libgcc version number 485 if test x$enable_sjlj_exceptions = xyes; then 486 tmake_file="$tmake_file pa/t-slibgcc-sjlj-ver" 487 else 488 tmake_file="$tmake_file pa/t-slibgcc-dwarf-ver" 489 fi 490 tmake_file="$tmake_file pa/t-slibgcc-hpux t-slibgcc-hpux" 491 extra_parts="libgcc_stub.a" 492 md_unwind_header=pa/hpux-unwind.h 493 ;; 494hppa*-*-openbsd*) 495 tmake_file="$tmake_file pa/t-openbsd" 496 ;; 497hppa*-*-netbsd*) 498 tmake_file="$tmake_file pa/t-netbsd" 499 ;; 500i[34567]86-*-darwin*) 501 tmake_file="$tmake_file i386/t-crtpc i386/t-crtfm" 502 tm_file="$tm_file i386/darwin-lib.h" 503 extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o" 504 ;; 505x86_64-*-darwin*) 506 tmake_file="$tmake_file i386/t-crtpc i386/t-crtfm" 507 tm_file="$tm_file i386/darwin-lib.h" 508 extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o" 509 ;; 510i[34567]86-*-elf*) 511 tmake_file="$tmake_file i386/t-crtstuff t-crtstuff-pic t-libgcc-pic" 512 ;; 513x86_64-*-elf*) 514 tmake_file="$tmake_file i386/t-crtstuff t-crtstuff-pic t-libgcc-pic" 515 ;; 516i[34567]86-*-freebsd*) 517 tmake_file="${tmake_file} i386/t-freebsd i386/t-crtstuff" 518 ;; 519x86_64-*-freebsd*) 520 tmake_file="${tmake_file} i386/t-freebsd i386/t-crtstuff" 521 ;; 522i[34567]86-*-netbsdelf*) 523 ;; 524x86_64-*-netbsd*) 525 tmake_file="${tmake_file} i386/t-crtstuff" 526 ;; 527i[34567]86-*-openbsd2.*|i[34567]86-*openbsd3.[0123]) 528 ;; 529i[34567]86-*-openbsd*) 530 ;; 531x86_64-*-openbsd*) 532 ;; 533i[34567]86-*-linux*) 534 extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o" 535 tmake_file="${tmake_file} i386/t-crtpc i386/t-crtfm i386/t-crtstuff t-dfprules" 536 md_unwind_header=i386/linux-unwind.h 537 ;; 538i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu | i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu) 539 extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o" 540 tmake_file="${tmake_file} i386/t-crtpc i386/t-crtfm i386/t-crtstuff t-dfprules" 541 ;; 542x86_64-*-linux*) 543 extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o" 544 tmake_file="${tmake_file} i386/t-crtpc i386/t-crtfm i386/t-crtstuff t-dfprules" 545 md_unwind_header=i386/linux-unwind.h 546 ;; 547x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu) 548 extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o" 549 tmake_file="${tmake_file} i386/t-crtpc i386/t-crtfm i386/t-crtstuff t-dfprules" 550 ;; 551i[34567]86-pc-msdosdjgpp*) 552 ;; 553i[34567]86-*-lynxos*) 554 ;; 555i[34567]86-*-nto-qnx*) 556 tmake_file="$tmake_file i386/t-nto t-libgcc-pic" 557 extra_parts=crtbegin.o 558 ;; 559i[34567]86-*-rtems*) 560 tmake_file="$tmake_file i386/t-softfp i386/t-crtstuff" 561 extra_parts="$extra_parts crti.o crtn.o" 562 ;; 563i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*) 564 tmake_file="$tmake_file i386/t-crtpc i386/t-crtfm" 565 extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o" 566 md_unwind_header=i386/sol2-unwind.h 567 ;; 568i[4567]86-wrs-vxworks|i[4567]86-wrs-vxworksae) 569 ;; 570i[34567]86-*-cygwin*) 571 extra_parts="crtbegin.o crtend.o crtfastmath.o" 572 # This has to match the logic for DWARF2_UNWIND_INFO in gcc/config/i386/cygming.h 573 if test x$enable_sjlj_exceptions = xyes; then 574 tmake_eh_file="i386/t-sjlj-eh" 575 else 576 tmake_eh_file="i386/t-dw2-eh" 577 fi 578 # Shared libgcc DLL install dir depends on cross/native build. 579 if test x${build} = x${host} ; then 580 tmake_dlldir_file="i386/t-dlldir" 581 else 582 tmake_dlldir_file="i386/t-dlldir-x" 583 fi 584 tmake_file="${tmake_file} ${tmake_eh_file} ${tmake_dlldir_file} i386/t-slibgcc-cygming i386/t-cygming i386/t-cygwin i386/t-crtfm i386/t-chkstk t-dfprules" 585 ;; 586i[34567]86-*-mingw*) 587 extra_parts="crtbegin.o crtend.o crtfastmath.o" 588 case ${target_thread_file} in 589 win32) 590 tmake_file="$tmake_file i386/t-gthr-win32" 591 ;; 592 posix) 593 tmake_file="i386/t-mingw-pthread $tmake_file" 594 ;; 595 esac 596 # This has to match the logic for DWARF2_UNWIND_INFO in gcc/config/i386/cygming.h 597 if test x$enable_sjlj_exceptions = xyes; then 598 tmake_eh_file="i386/t-sjlj-eh" 599 else 600 tmake_eh_file="i386/t-dw2-eh" 601 md_unwind_header=i386/w32-unwind.h 602 fi 603 # Shared libgcc DLL install dir depends on cross/native build. 604 if test x${build} = x${host} ; then 605 tmake_dlldir_file="i386/t-dlldir" 606 else 607 tmake_dlldir_file="i386/t-dlldir-x" 608 fi 609 tmake_file="${tmake_file} ${tmake_eh_file} ${tmake_dlldir_file} i386/t-slibgcc-cygming i386/t-cygming i386/t-mingw32 i386/t-crtfm i386/t-chkstk t-dfprules" 610 ;; 611x86_64-*-mingw*) 612 case ${target_thread_file} in 613 win32) 614 tmake_file="$tmake_file i386/t-gthr-win32" 615 ;; 616 posix) 617 tmake_file="i386/t-mingw-pthread $tmake_file" 618 ;; 619 esac 620 # This has to match the logic for DWARF2_UNWIND_INFO in gcc/config/i386/cygming.h 621 if test x$enable_sjlj_exceptions = xyes; then 622 tmake_eh_file="i386/t-sjlj-eh" 623 else 624 tmake_eh_file="i386/t-seh-eh" 625 fi 626 # Shared libgcc DLL install dir depends on cross/native build. 627 if test x${build} = x${host} ; then 628 tmake_dlldir_file="i386/t-dlldir" 629 else 630 tmake_dlldir_file="i386/t-dlldir-x" 631 fi 632 tmake_file="${tmake_file} ${tmake_eh_file} ${tmake_dlldir_file} i386/t-slibgcc-cygming i386/t-mingw32 t-dfprules i386/t-crtfm i386/t-chkstk" 633 extra_parts="$extra_parts crtfastmath.o" 634 ;; 635i[34567]86-*-interix[3-9]*) 636 tmake_file="$tmake_file i386/t-interix i386/t-chkstk" 637 ;; 638ia64*-*-elf*) 639 extra_parts="$extra_parts crtbeginS.o crtendS.o crtfastmath.o" 640 tmake_file="ia64/t-ia64 ia64/t-ia64-elf ia64/t-eh-ia64 t-crtfm" 641 ;; 642ia64*-*-freebsd*) 643 extra_parts="$extra_parts crtfastmath.o" 644 tmake_file="$tmake_file ia64/t-ia64 ia64/t-ia64-elf ia64/t-eh-ia64 t-crtfm" 645 ;; 646ia64*-*-linux*) 647 # Don't use crtbeginT.o from *-*-linux* default. 648 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o" 649 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" 650 if test x$with_system_libunwind != xyes ; then 651 tmake_file="${tmake_file} t-libunwind-elf ia64/t-linux-libunwind" 652 fi 653 md_unwind_header=ia64/linux-unwind.h 654 ;; 655ia64*-*-hpux*) 656 tmake_file="ia64/t-ia64 ia64/t-ia64-elf ia64/t-hpux t-slibgcc ia64/t-slibgcc-hpux t-slibgcc-hpux" 657 ;; 658ia64-hp-*vms*) 659 tmake_file="$tmake_file ia64/t-ia64 ia64/t-eh-ia64 ia64/t-vms t-slibgcc-vms" 660 extra_parts="$extra_parts crtinitS.o" 661 md_unwind_header=ia64/vms-unwind.h 662 ;; 663iq2000*-*-elf*) 664 tmake_file="iq2000/t-iq2000 t-fdpbit" 665 # Don't use default. 666 extra_parts= 667 ;; 668lm32-*-elf*) 669 extra_parts="$extra_parts crti.o crtn.o" 670 tmake_file="lm32/t-lm32 lm32/t-elf t-softfp-sfdf t-softfp" 671 ;; 672lm32-*-rtems*) 673 tmake_file="$tmake_file lm32/t-lm32 lm32/t-elf t-softfp-sfdf t-softfp" 674 extra_parts="$extra_parts crti.o crtn.o" 675 ;; 676lm32-*-uclinux*) 677 extra_parts="$extra_parts crtbegin.o crtendS.o crtbeginT.o" 678 tmake_file="lm32/t-lm32 lm32/t-uclinux t-libgcc-pic t-softfp-sfdf t-softfp" 679 ;; 680m32r-*-elf*) 681 tmake_file=t-fdpbit 682 ;; 683m32r-*-rtems*) 684 tmake_file="$tmake_file m32r/t-m32r t-fdpbit" 685 extra_parts="$extra_parts crtinit.o crtfini.o" 686 ;; 687m32rle-*-elf*) 688 tmake_file=t-fdpbit 689 ;; 690m32r-*-linux*) 691 tmake_file="$tmake_file m32r/t-linux t-fdpbit" 692 ;; 693m32rle-*-linux*) 694 tmake_file="$tmake_file m32r/t-linux t-fdpbit" 695 ;; 696m68k-*-elf* | fido-*-elf) 697 tmake_file="$tmake_file m68k/t-floatlib" 698 ;; 699m68k*-*-netbsdelf* | m5407-*-netbsdelf* | m68010-*-netbsdelf*) 700 tmake_file="$tmake_file m68k/t-floatlib" 701 ;; 702m68k*-*-openbsd*) 703 ;; 704m68k-*-uclinux*) # Motorola m68k/ColdFire running uClinux with uClibc 705 tmake_file="$tmake_file m68k/t-floatlib m68k/t-linux" 706 md_unwind_header=m68k/linux-unwind.h 707 ;; 708m68k-*-linux*) # Motorola m68k's running GNU/Linux 709 # with ELF format using glibc 2 710 # aka the GNU/Linux C library 6. 711 tmake_file="$tmake_file m68k/t-floatlib m68k/t-linux" 712 # If not configured with --enable-sjlj-exceptions, bump the 713 # libgcc version number. 714 if test x$enable_sjlj_exceptions != xyes; then 715 tmake_file="$tmake_file m68k/t-slibgcc-elf-ver" 716 fi 717 md_unwind_header=m68k/linux-unwind.h 718 ;; 719m68k-*-rtems*) 720 tmake_file="$tmake_file m68k/t-floatlib" 721 extra_parts="$extra_parts crti.o crtn.o" 722 ;; 723mcore-*-elf) 724 tmake_file="mcore/t-mcore t-fdpbit" 725 extra_parts="$extra_parts crti.o crtn.o" 726 ;; 727microblaze*-linux*) 728 tmake_file="${tmake_file} microblaze/t-microblaze t-fdpbit t-slibgcc-libgcc" 729 ;; 730microblaze*-*-elf) 731 tmake_file="${tmake_file} microblaze/t-microblaze t-fdpbit" 732 extra_parts="$extra_parts crtbeginS.o crtendS.o crtbeginT.o crti.o crtn.o" 733 ;; 734microblaze*-*-rtems*) 735 tmake_file="${tmake_file} microblaze/t-microblaze t-fdpbit" 736 extra_parts="$extra_parts crtbeginS.o crtendS.o crtbeginT.o crti.o crtn.o" 737 ;; 738mips*-*-netbsd*) # NetBSD/mips, either endian. 739 ;; 740mips*-*-linux*) # Linux MIPS, either endian. 741 extra_parts="$extra_parts crtfastmath.o" 742 tmake_file="${tmake_file} t-crtfm mips/t-mips16" 743 md_unwind_header=mips/linux-unwind.h 744 if test "${ac_cv_sizeof_long_double}" = 16; then 745 tmake_file="${tmake_file} mips/t-tpbit" 746 fi 747 ;; 748mips*-sde-elf*) 749 tmake_file="$tmake_file mips/t-crtstuff mips/t-mips16" 750 case "${with_newlib}" in 751 yes) 752 # newlib / libgloss. 753 ;; 754 *) 755 # MIPS toolkit libraries. 756 tmake_file="$tmake_file mips/t-sdemtk" 757 ;; 758 esac 759 extra_parts="$extra_parts crti.o crtn.o" 760 ;; 761mipsisa32-*-elf* | mipsisa32el-*-elf* | \ 762mipsisa32r2-*-elf* | mipsisa32r2el-*-elf* | \ 763mipsisa64-*-elf* | mipsisa64el-*-elf* | \ 764mipsisa64r2-*-elf* | mipsisa64r2el-*-elf*) 765 tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16" 766 extra_parts="$extra_parts crti.o crtn.o" 767 ;; 768mipsisa64sr71k-*-elf*) 769 tmake_file="$tmake_file mips/t-elf mips/t-crtstuff t-fdpbit" 770 extra_parts="$extra_parts crti.o crtn.o" 771 ;; 772mipsisa64sb1-*-elf* | mipsisa64sb1el-*-elf*) 773 tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16" 774 extra_parts="$extra_parts crti.o crtn.o" 775 ;; 776mips-*-elf* | mipsel-*-elf*) 777 tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16" 778 extra_parts="$extra_parts crti.o crtn.o" 779 ;; 780mips64-*-elf* | mips64el-*-elf*) 781 tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16" 782 extra_parts="$extra_parts crti.o crtn.o" 783 ;; 784mips64vr-*-elf* | mips64vrel-*-elf*) 785 tmake_file="$tmake_file mips/t-elf mips/t-vr mips/t-crtstuff" 786 extra_parts="$extra_parts crti.o crtn.o" 787 ;; 788mips64orion-*-elf* | mips64orionel-*-elf*) 789 tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16" 790 extra_parts="$extra_parts crti.o crtn.o" 791 ;; 792mips*-*-rtems*) 793 tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16" 794 extra_parts="$extra_parts crti.o crtn.o" 795 ;; 796mips-wrs-vxworks) 797 ;; 798mipstx39-*-elf* | mipstx39el-*-elf*) 799 tmake_file="$tmake_file mips/t-crtstuff mips/t-mips16" 800 ;; 801mmix-knuth-mmixware) 802 extra_parts="crti.o crtn.o crtbegin.o crtend.o" 803 tmake_file="${tmake_file} ${cpu_type}/t-${cpu_type}" 804 ;; 805mn10300-*-*) 806 tmake_file=t-fdpbit 807 ;; 808moxie-*-elf | moxie-*-uclinux*) 809 tmake_file="moxie/t-moxie t-softfp-sfdf t-softfp-excl t-softfp" 810 extra_parts="$extra_parts crti.o crtn.o" 811 ;; 812moxie-*-rtems*) 813 tmake_file="$tmake_file moxie/t-moxie t-softfp-sfdf t-softfp-excl t-softfp" 814 # Don't use default. 815 extra_parts= 816 ;; 817pdp11-*-*) 818 tmake_file="pdp11/t-pdp11 t-fdpbit" 819 ;; 820picochip-*-*) 821 tmake_file="picochip/t-picochip t-fpbit" 822 ;; 823powerpc-*-darwin*) 824 case ${host} in 825 *-*-darwin9* | *-*-darwin[12][0-9]*) 826 # libSystem contains unwind information for signal frames since 827 # Darwin 9. 828 ;; 829 *) 830 md_unwind_header=rs6000/darwin-unwind.h 831 ;; 832 esac 833 tmake_file="$tmake_file rs6000/t-ibm-ldouble" 834 extra_parts="$extra_parts crt2.o" 835 ;; 836powerpc64-*-darwin*) 837 tmake_file="$tmake_file rs6000/t-darwin64 rs6000/t-ibm-ldouble" 838 extra_parts="$extra_parts crt2.o" 839 ;; 840powerpc*-*-freebsd*) 841 tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-savresfgpr rs6000/t-crtstuff rs6000/t-freebsd t-softfp-sfdf t-softfp-excl t-softfp" 842 extra_parts="$extra_parts crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o" 843 case ${host} in 844 powerpc64*) 845 tmake_file="${tmake_file} rs6000/t-freebsd64" 846 md_unwind_header=rs6000/freebsd-unwind.h 847 ;; 848 esac 849 ;; 850powerpc-*-netbsd*) 851 tmake_file="$tmake_file rs6000/t-netbsd rs6000/t-crtstuff" 852 ;; 853powerpc-*-eabispe*) 854 tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-savresfgpr rs6000/t-crtstuff t-crtstuff-pic t-fdpbit" 855 extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o" 856 ;; 857powerpc-*-eabisimaltivec*) 858 tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-crtstuff t-crtstuff-pic t-fdpbit" 859 extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o" 860 ;; 861powerpc-*-eabisim*) 862 tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-crtstuff t-crtstuff-pic t-fdpbit" 863 extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o" 864 ;; 865powerpc-*-elf*) 866 tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-crtstuff t-crtstuff-pic t-fdpbit" 867 extra_parts="$extra_parts crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o" 868 ;; 869powerpc-*-eabialtivec*) 870 tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-crtstuff t-crtstuff-pic t-fdpbit" 871 extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o" 872 ;; 873powerpc-xilinx-eabi*) 874 tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-crtstuff t-crtstuff-pic t-fdpbit" 875 extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o" 876 ;; 877powerpc-*-eabi*) 878 tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-savresfgpr rs6000/t-crtstuff t-crtstuff-pic t-fdpbit" 879 extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o" 880 ;; 881powerpc-*-rtems*) 882 tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-savresfgpr rs6000/t-crtstuff t-crtstuff-pic t-fdpbit" 883 extra_parts="$extra_parts crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o" 884 ;; 885powerpc*-*-linux*) 886 tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-savresfgpr rs6000/t-crtstuff rs6000/t-linux t-softfp-sfdf t-softfp-excl t-dfprules rs6000/t-ppc64-fp t-softfp t-slibgcc-libgcc" 887 extra_parts="$extra_parts ecrti.o ecrtn.o ncrti.o ncrtn.o" 888 md_unwind_header=rs6000/linux-unwind.h 889 ;; 890powerpc-wrs-vxworks|powerpc-wrs-vxworksae) 891 tmake_file="$tmake_file rs6000/t-ppccomm t-fdpbit" 892 ;; 893powerpc-*-lynxos*) 894 tmake_file="$tmake_file rs6000/t-lynx t-fdpbit" 895 ;; 896powerpcle-*-elf*) 897 tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-crtstuff t-crtstuff-pic t-fdpbit" 898 extra_parts="$extra_parts crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o" 899 ;; 900powerpcle-*-eabisim*) 901 tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-crtstuff t-crtstuff-pic t-fdpbit" 902 extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o" 903 ;; 904powerpcle-*-eabi*) 905 tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-crtstuff t-crtstuff-pic t-fdpbit" 906 extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o" 907 ;; 908rs6000-ibm-aix4.[3456789]* | powerpc-ibm-aix4.[3456789]*) 909 md_unwind_header=rs6000/aix-unwind.h 910 tmake_file="t-fdpbit rs6000/t-ppc64-fp rs6000/t-slibgcc-aix rs6000/t-ibm-ldouble" 911 ;; 912rs6000-ibm-aix5.1.* | powerpc-ibm-aix5.1.*) 913 md_unwind_header=rs6000/aix-unwind.h 914 tmake_file="t-fdpbit rs6000/t-ppc64-fp rs6000/t-slibgcc-aix rs6000/t-ibm-ldouble" 915 ;; 916rs6000-ibm-aix[56789].* | powerpc-ibm-aix[56789].*) 917 md_unwind_header=rs6000/aix-unwind.h 918 tmake_file="t-fdpbit rs6000/t-ppc64-fp rs6000/t-slibgcc-aix rs6000/t-ibm-ldouble rs6000/t-aix-cxa" 919 extra_parts="crtcxa.o crtcxa_s.o" 920 ;; 921rl78-*-elf) 922 tmake_file="$tm_file t-fdpbit rl78/t-rl78" 923 ;; 924rx-*-elf) 925 tmake_file="rx/t-rx t-fdpbit" 926 tm_file="$tm_file rx/rx-abi.h rx/rx-lib.h" 927 ;; 928s390-*-linux*) 929 tmake_file="${tmake_file} s390/t-crtstuff s390/t-linux s390/32/t-floattodi" 930 md_unwind_header=s390/linux-unwind.h 931 ;; 932s390x-*-linux*) 933 tmake_file="${tmake_file} s390/t-crtstuff s390/t-linux" 934 md_unwind_header=s390/linux-unwind.h 935 ;; 936s390x-ibm-tpf*) 937 tmake_file="${tmake_file} s390/t-crtstuff t-libgcc-pic t-eh-dw2-dip" 938 extra_parts="crtbeginS.o crtendS.o" 939 md_unwind_header=s390/tpf-unwind.h 940 ;; 941score-*-elf) 942 tmake_file="${tmake_file} t-softfp-sfdf t-softfp-excl t-softfp" 943 extra_parts="$extra_parts crti.o crtn.o" 944 ;; 945sh-*-elf* | sh[12346l]*-*-elf*) 946 tmake_file="$tmake_file sh/t-sh t-crtstuff-pic t-fdpbit" 947 extra_parts="$extra_parts crt1.o crti.o crtn.o crtbeginS.o crtendS.o \ 948 libic_invalidate_array_4-100.a \ 949 libic_invalidate_array_4-200.a \ 950 libic_invalidate_array_4a.a \ 951 libgcc-Os-4-200.a libgcc-4-300.a" 952 case ${host} in sh64*-*-*) 953 tmake_file="$tmake_file sh/t-sh64" 954 ;; 955 esac 956 case ${host} in 957 sh*-superh-elf) 958 tmake_file="$tmake_file sh/t-superh" 959 extra_parts="$extra_parts crt1-mmu.o gcrt1-mmu.o gcrt1.o" 960 ;; 961 esac 962 ;; 963sh-*-linux* | sh[2346lbe]*-*-linux*) 964 tmake_file="${tmake_file} sh/t-sh t-slibgcc-libgcc sh/t-linux t-fdpbit" 965 case ${host} in sh64*-*-linux*) 966 tmake_file="$tmake_file sh/t-sh64" 967 ;; 968 esac 969 md_unwind_header=sh/linux-unwind.h 970 ;; 971sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \ 972 sh64-*-netbsd* | sh64l*-*-netbsd*) 973 tmake_file="$tmake_file sh/t-sh sh/t-netbsd" 974 case ${host} in 975 sh5*-*-netbsd* | sh64*-netbsd*) 976 tmake_file="$tmake_file sh/t-sh64" 977 ;; 978 esac 979 # NetBSD's C library includes a fast software FP library that 980 # has support for setting/setting the rounding mode, exception 981 # mask, etc. Therefore, we don't want to include software FP 982 # in libgcc. 983 ;; 984sh-*-rtems*) 985 tmake_file="$tmake_file sh/t-sh t-crtstuff-pic t-fdpbit" 986 extra_parts="$extra_parts crt1.o crti.o crtn.o crtbeginS.o crtendS.o \ 987 libic_invalidate_array_4-100.a \ 988 libic_invalidate_array_4-200.a \ 989 libic_invalidate_array_4a.a \ 990 libgcc-Os-4-200.a libgcc-4-300.a" 991 ;; 992sh-wrs-vxworks) 993 tmake_file="$tmake_file sh/t-sh t-crtstuff-pic t-fdpbit" 994 ;; 995sparc-*-netbsdelf*) 996 ;; 997sparc64-*-openbsd*) 998 ;; 999sparc-*-elf*) 1000 case ${host} in 1001 *-leon[3-9]*) 1002 ;; 1003 *) 1004 tmake_file="sparc/t-softmul" 1005 ;; 1006 esac 1007 tmake_file="${tmake_file} t-fdpbit t-crtfm" 1008 extra_parts="$extra_parts crti.o crtn.o crtfastmath.o" 1009 ;; 1010sparc-*-linux*) # SPARC's running GNU/Linux, libc6 1011 tmake_file="${tmake_file} t-crtfm" 1012 if test "${host_address}" = 64; then 1013 tmake_file="$tmake_file sparc/t-linux64" 1014 fi 1015 case ${host} in 1016 *-leon*) 1017 tmake_file="${tmake_file} t-fdpbit" 1018 ;; 1019 *) 1020 tmake_file="${tmake_file} sparc/t-linux" 1021 ;; 1022 esac 1023 case ${host} in 1024 *-leon[3-9]*) 1025 ;; 1026 *) 1027 if test "${host_address}" = 32; then 1028 tmake_file="$tmake_file sparc/t-softmul" 1029 fi 1030 ;; 1031 esac 1032 extra_parts="$extra_parts crtfastmath.o" 1033 md_unwind_header=sparc/linux-unwind.h 1034 ;; 1035sparc-*-rtems*) 1036 tmake_file="$tmake_file sparc/t-elf sparc/t-softmul t-crtfm t-fdpbit" 1037 extra_parts="$extra_parts crti.o crtn.o crtfastmath.o" 1038 ;; 1039sparc*-*-solaris2*) 1040 tmake_file="$tmake_file t-crtfm" 1041 extra_parts="$extra_parts crtfastmath.o" 1042 md_unwind_header=sparc/sol2-unwind.h 1043 ;; 1044sparc64-*-elf*) 1045 tmake_file="${tmake_file} t-crtfm" 1046 extra_parts="$extra_parts crti.o crtn.o crtfastmath.o" 1047 ;; 1048sparc64-*-rtems*) 1049 tmake_file="$tmake_file t-crtfm" 1050 extra_parts="$extra_parts crti.o crtn.o crtfastmath.o" 1051 ;; 1052sparc-wrs-vxworks) 1053 ;; 1054sparc64-*-freebsd*|ultrasparc-*-freebsd*) 1055 tmake_file="$tmake_file t-crtfm" 1056 extra_parts="$extra_parts crtfastmath.o" 1057 ;; 1058sparc64-*-linux*) # 64-bit SPARC's running GNU/Linux 1059 extra_parts="$extra_parts crtfastmath.o" 1060 tmake_file="${tmake_file} t-crtfm sparc/t-linux" 1061 if test "${host_address}" = 64; then 1062 tmake_file="${tmake_file} sparc/t-linux64" 1063 fi 1064 if test "${host_address}" = 32; then 1065 tmake_file="${tmake_file} sparc/t-softmul" 1066 fi 1067 md_unwind_header=sparc/linux-unwind.h 1068 ;; 1069sparc64-*-netbsd*) 1070 ;; 1071spu-*-elf*) 1072 tmake_file="$tmake_file spu/t-elf t-libgcc-pic t-fdpbit" 1073 extra_parts="$extra_parts \ 1074 libgcc_cachemgr.a libgcc_cachemgr_nonatomic.a \ 1075 libgcc_cache8k.a libgcc_cache16k.a libgcc_cache32k.a \ 1076 libgcc_cache64k.a libgcc_cache128k.a" 1077 ;; 1078tic6x-*-uclinux) 1079 tmake_file="${tmake_file} t-softfp-sfdf t-softfp-excl t-softfp \ 1080 c6x/t-elf c6x/t-uclinux t-crtstuff-pic t-libgcc-pic \ 1081 t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver t-gnu-prefix" 1082 tm_file="$tm_file c6x/c6x-abi.h" 1083 extra_parts="$extra_parts crtbeginS.o crtendS.o crti.o crtn.o" 1084 unwind_header=config/c6x/unwind-c6x.h 1085 ;; 1086tic6x-*-elf) 1087 tmake_file="${tmake_file} t-softfp-sfdf t-softfp-excl t-softfp t-gnu-prefix c6x/t-elf" 1088 tm_file="$tm_file c6x/c6x-abi.h" 1089 extra_parts="$extra_parts crtbeginS.o crtendS.o crti.o crtn.o" 1090 unwind_header=config/c6x/unwind-c6x.h 1091 ;; 1092tilegx-*-linux*) 1093 tmake_file="${tmake_file} tilegx/t-crtstuff t-softfp-sfdf tilegx/t-softfp t-softfp tilegx/t-tilegx" 1094 md_unwind_header=tilepro/linux-unwind.h 1095 ;; 1096tilepro-*-linux*) 1097 tmake_file="${tmake_file} tilepro/t-crtstuff t-softfp-sfdf t-softfp tilepro/t-tilepro" 1098 md_unwind_header=tilepro/linux-unwind.h 1099 ;; 1100v850*-*-*) 1101 tmake_file="v850/t-v850 t-fdpbit" 1102 ;; 1103vax-*-linux*) 1104 tmake_file="$tmake_file vax/t-linux" 1105 ;; 1106vax-*-netbsdelf*) 1107 ;; 1108vax-*-openbsd*) 1109 ;; 1110xstormy16-*-elf) 1111 tmake_file="stormy16/t-stormy16 t-fdpbit" 1112 ;; 1113xtensa*-*-elf*) 1114 tmake_file="$tmake_file xtensa/t-xtensa xtensa/t-elf" 1115 extra_parts="$extra_parts crti.o crtn.o" 1116 ;; 1117xtensa*-*-linux*) 1118 tmake_file="$tmake_file xtensa/t-xtensa xtensa/t-linux" 1119 md_unwind_header=xtensa/linux-unwind.h 1120 ;; 1121am33_2.0-*-linux*) 1122 # Don't need crtbeginT.o from *-*-linux* default. 1123 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o" 1124 tmake_file="$tmake_file t-fdpbit" 1125 ;; 1126m32c-*-elf*|m32c-*-rtems*) 1127 tmake_file="$tmake_file m32c/t-m32c" 1128 ;; 1129mep*-*-*) 1130 tmake_file="mep/t-mep t-fdpbit" 1131 extra_parts="crtbegin.o crtend.o" 1132 ;; 1133*) 1134 echo "*** Configuration ${host} not supported" 1>&2 1135 exit 1 1136 ;; 1137esac 1138 1139case ${host} in 1140i[34567]86-*-* | x86_64-*-*) 1141 tmake_file="${tmake_file} i386/t-cpuinfo" 1142 ;; 1143esac 1144 1145case ${host} in 1146i[34567]86-*-linux* | x86_64-*-linux* | \ 1147 i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu | \ 1148 i[34567]86-*-knetbsd*-gnu | \ 1149 i[34567]86-*-gnu*) 1150 tmake_file="${tmake_file} t-tls i386/t-linux" 1151 if test "$libgcc_cv_cfi" = "yes"; then 1152 tmake_file="${tmake_file} t-stack i386/t-stack-i386" 1153 fi 1154 ;; 1155esac 1156 1157case ${host} in 1158i[34567]86-*-darwin* | x86_64-*-darwin* | \ 1159 i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu | \ 1160 i[34567]86-*-linux* | x86_64-*-linux* | \ 1161 i[34567]86-*-gnu* | \ 1162 i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]* | \ 1163 i[34567]86-*-cygwin* | i[34567]86-*-mingw* | x86_64-*-mingw* | \ 1164 i[34567]86-*-freebsd* | x86_64-*-freebsd* | \ 1165 i[34567]86-*-openbsd* | x86_64-*-openbsd*) 1166 tmake_file="${tmake_file} t-softfp-tf" 1167 if test "${host_address}" = 32; then 1168 tmake_file="${tmake_file} i386/${host_address}/t-softfp" 1169 fi 1170 tmake_file="${tmake_file} i386/t-softfp t-softfp" 1171 ;; 1172esac 1173 1174case ${host} in 1175i[34567]86-*-linux* | x86_64-*-linux*) 1176 # Provide backward binary compatibility for 64bit Linux/x86. 1177 if test "${host_address}" = 64; then 1178 tmake_file="${tmake_file} i386/${host_address}/t-softfp-compat" 1179 fi 1180 tm_file="${tm_file} i386/value-unwind.h" 1181 ;; 1182esac 1183