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