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