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