config.gcc revision 219639
1# GCC target-specific configuration file. 2# Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 3# Free Software Foundation, Inc. 4 5#This file is part of GCC. 6 7#GCC is free software; you can redistribute it and/or modify it under 8#the terms of the GNU General Public License as published by the Free 9#Software Foundation; either version 2, or (at your option) any later 10#version. 11 12#GCC is distributed in the hope that it will be useful, but WITHOUT 13#ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 14#FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 15#for more details. 16 17#You should have received a copy of the GNU General Public License 18#along with GCC; see the file COPYING. If not, write to the Free 19#Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 20#02110-1301, USA. 21 22# This is the GCC target-specific configuration file 23# where a configuration type is mapped to different system-specific 24# definitions and files. This is invoked by the autoconf-generated 25# configure script. Putting it in a separate shell file lets us skip 26# running autoconf when modifying target-specific information. 27 28# This file switches on the shell variable ${target}, and also uses the 29# following shell variables: 30# 31# with_* Various variables as set by configure. 32# 33# enable_threads Either the name, yes or no depending on whether 34# threads support was requested. 35# 36# default_use_cxa_atexit 37# The default value for the $enable___cxa_atexit 38# variable. enable___cxa_atexit needs to be set to 39# "yes" for the correct operation of C++ destructors 40# but it relies upon the presence of a non-standard C 41# library function called __cxa_atexit. 42# Since not all C libraries provide __cxa_atexit the 43# default value of $default_use_cxa_atexit is set to 44# "no" except for targets which are known to be OK. 45# 46# gas_flag Either yes or no depending on whether GNU as was 47# requested. 48# 49# gnu_ld_flag Either yes or no depending on whether GNU ld was 50# requested. 51 52# This file sets the following shell variables for use by the 53# autoconf-generated configure script: 54# 55# cpu_type The name of the cpu, if different from the first 56# chunk of the canonical target name. 57# 58# tm_defines List of target macros to define for all compilations. 59# 60# tm_file A list of target macro files, if different from 61# "$cpu_type/$cpu_type.h". Usually it's constructed 62# per target in a way like this: 63# tm_file="${tm_file} dbxelf.h elfos.h svr4.h ${cpu_type.h}/elf.h" 64# Note that the preferred order is: 65# - specific target header "${cpu_type}/${cpu_type.h}" 66# - generic headers like dbxelf.h elfos.h, etc. 67# - specializing target headers like ${cpu_type.h}/elf.h 68# This helps to keep OS specific stuff out of the CPU 69# defining header ${cpu_type}/${cpu_type.h}. 70# 71# tm_p_file Location of file with declarations for functions 72# in $out_file. 73# 74# out_file The name of the machine description C support 75# file, if different from "$cpu_type/$cpu_type.c". 76# 77# md_file The name of the machine-description file, if 78# different from "$cpu_type/$cpu_type.md". 79# 80# tmake_file A list of machine-description-specific 81# makefile-fragments, if different from 82# "$cpu_type/t-$cpu_type". 83# 84# extra_modes The name of the file containing a list of extra 85# machine modes, if necessary and different from 86# "$cpu_type/$cpu_type-modes.def". 87# 88# extra_objs List of extra objects that should be linked into 89# the compiler proper (cc1, cc1obj, cc1plus) 90# depending on target. 91# 92# extra_gcc_objs List of extra objects that should be linked into 93# the compiler driver (gcc) depending on target. 94# 95# extra_headers List of used header files from the directory 96# config/${cpu_type}. 97# 98# extra_passes List of extra executables compiled for this target 99# machine, used for compiling from source to object. 100# 101# extra_parts List of extra object files that should be compiled 102# for this target machine. 103# 104# extra_programs Like extra_passes, but these are used when linking. 105# 106# extra_options List of target-dependent .opt files. 107# 108# c_target_objs List of extra target-dependent objects that be 109# linked into the C compiler only. 110# 111# cxx_target_objs List of extra target-dependent objects that be 112# linked into the C++ compiler only. 113# 114# target_gtfiles List of extra source files with type information. 115# 116# xm_defines List of macros to define when compiling for the 117# target machine. 118# 119# xm_file List of files to include when compiling for the 120# target machine. 121# 122# use_collect2 Set to yes or no, depending on whether collect2 123# will be used. 124# 125# target_cpu_default Set to override the default target model. 126# 127# gdb_needs_out_file_path 128# Set to yes if gdb needs a dir command with 129# `dirname $out_file`. 130# 131# thread_file Set to control which thread package to use. 132# 133# gas Set to yes or no depending on whether the target 134# system normally uses GNU as. 135# 136# need_64bit_hwint Set to yes if HOST_WIDE_INT must be 64 bits wide 137# for this target. This is true iff this target 138# supports "long" or "wchar_t" wider than 32 bits. 139# 140# configure_default_options 141# Set to an initializer for configure_default_options 142# in configargs.h, based on --with-cpu et cetera. 143# 144# use_fixproto Set to "yes" if fixproto should be run normally, 145# "no" if fixproto should never be run. 146 147# The following variables are used in each case-construct to build up the 148# outgoing variables: 149# 150# gnu_ld Set to yes or no depending on whether the target 151# system normally uses GNU ld. 152 153out_file= 154tmake_file= 155extra_headers= 156extra_passes= 157extra_parts= 158extra_programs= 159extra_objs= 160extra_gcc_objs= 161extra_options= 162c_target_objs= 163cxx_target_objs= 164tm_defines= 165xm_defines= 166# Set this to force installation and use of collect2. 167use_collect2= 168# Set this to override the default target model. 169target_cpu_default= 170# Set this if gdb needs a dir command with `dirname $out_file` 171gdb_needs_out_file_path= 172# Set this to control which thread package will be used. 173thread_file= 174# Reinitialize these from the flag values every loop pass, since some 175# configure entries modify them. 176gas="$gas_flag" 177gnu_ld="$gnu_ld_flag" 178default_use_cxa_atexit=no 179target_gtfiles= 180need_64bit_hwint= 181 182# Default to not using fixproto. Targets which need fixproto should 183# specifically set this to 'yes'. 184use_fixproto=no 185 186# Don't carry these over build->host->target. Please. 187xm_file= 188md_file= 189 190# Obsolete configurations. 191case ${target} in 192 c4x-* \ 193 | tic4x-* \ 194 ) 195 if test "x$enable_obsolete" != xyes; then 196 echo "*** Configuration ${target} is obsolete." >&2 197 echo "*** Specify --enable-obsolete to build it anyway." >&2 198 echo "*** Support will be REMOVED in the next major release of GCC," >&2 199 echo "*** unless a maintainer comes forward." >&2 200 exit 1 201 fi;; 202esac 203 204# Unsupported targets list. Do not put an entry in this list unless 205# it would otherwise be caught by a more permissive pattern. The list 206# should be in alphabetical order. 207case ${target} in 208 alpha*-*-linux*libc1* \ 209 | i[34567]86-sequent-sysv \ 210 | i[34567]86-sequent-sysv[123]* \ 211 | i[34567]86-go32-* \ 212 | i[34567]86-*-go32* \ 213 | m68k-*-linux*aout* \ 214 | m68k-*-linux*libc1* \ 215 | mips64orion*-*-rtems* \ 216 | powerpc-*-linux*libc1* \ 217 | sparc-*-linux*aout* \ 218 | sparc-*-linux*libc1* \ 219 | sparc-hal-solaris2* \ 220 | thumb-*-* \ 221 | *-*-linux*coff* \ 222 | *-*-linux*oldld* \ 223 | *-*-rtemsaout* \ 224 | *-*-rtemscoff* \ 225 | vax-*-vms* \ 226 ) 227 echo "*** Configuration ${target} not supported" 1>&2 228 exit 1 229 ;; 230esac 231 232# Set default cpu_type, tm_file, tm_p_file and xm_file so it can be 233# updated in each machine entry. Also set default extra_headers for some 234# machines. 235tm_p_file= 236cpu_type=`echo ${target} | sed 's/-.*$//'` 237cpu_is_64bit= 238case ${target} in 239m32c*-*-*) 240 cpu_type=m32c 241 tmake_file=m32c/t-m32c 242 ;; 243alpha*-*-*) 244 cpu_type=alpha 245 need_64bit_hwint=yes 246 ;; 247am33_2.0-*-linux*) 248 cpu_type=mn10300 249 ;; 250strongarm*-*-*) 251 cpu_type=arm 252 ;; 253arm*-*-*) 254 cpu_type=arm 255 extra_headers="mmintrin.h" 256 ;; 257bfin*-*) 258 cpu_type=bfin 259 ;; 260ep9312*-*-*) 261 cpu_type=arm 262 ;; 263frv*) cpu_type=frv 264 ;; 265xscale-*-*) 266 cpu_type=arm 267 extra_headers="mmintrin.h" 268 ;; 269i[34567]86-*-*) 270 cpu_type=i386 271 extra_headers="mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h 272 pmmintrin.h tmmintrin.h" 273 ;; 274x86_64-*-*) 275 cpu_type=i386 276 extra_headers="mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h 277 pmmintrin.h tmmintrin.h" 278 need_64bit_hwint=yes 279 ;; 280ia64-*-*) 281 extra_headers=ia64intrin.h 282 need_64bit_hwint=yes 283 ;; 284hppa*-*-* | parisc*-*-*) 285 cpu_type=pa 286 ;; 287m32r*-*-*) 288 cpu_type=m32r 289 ;; 290m680[012]0-*-*) 291 cpu_type=m68k 292 extra_headers=math-68881.h 293 ;; 294m68k-*-*) 295 extra_headers=math-68881.h 296 ;; 297mips*-*-*) 298 cpu_type=mips 299 need_64bit_hwint=yes 300 ;; 301powerpc*-*-*) 302 cpu_type=rs6000 303 extra_headers="ppc-asm.h altivec.h spe.h" 304 need_64bit_hwint=yes 305 case x$with_cpu in 306 xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[3456]|xrs64a) 307 cpu_is_64bit=yes 308 ;; 309 esac 310 ;; 311rs6000*-*-*) 312 need_64bit_hwint=yes 313 ;; 314score*-*-*) 315 cpu_type=score 316 ;; 317sparc64*-*-*) 318 cpu_type=sparc 319 need_64bit_hwint=yes 320 ;; 321sparc*-*-*) 322 cpu_type=sparc 323 ;; 324s390*-*-*) 325 cpu_type=s390 326 need_64bit_hwint=yes 327 ;; 328# Note the 'l'; we need to be able to match e.g. "shle" or "shl". 329sh[123456789lbe]*-*-*) 330 cpu_type=sh 331 need_64bit_hwint=yes 332 ;; 333tic4x-*-*) 334 cpu_type=c4x 335 ;; 336esac 337 338tm_file=${cpu_type}/${cpu_type}.h 339if test -f ${srcdir}/config/${cpu_type}/${cpu_type}-protos.h 340then 341 tm_p_file=${cpu_type}/${cpu_type}-protos.h 342fi 343extra_modes= 344if test -f ${srcdir}/config/${cpu_type}/${cpu_type}-modes.def 345then 346 extra_modes=${cpu_type}/${cpu_type}-modes.def 347fi 348if test -f ${srcdir}/config/${cpu_type}/${cpu_type}.opt 349then 350 extra_options="${extra_options} ${cpu_type}/${cpu_type}.opt" 351fi 352 353case ${target} in 354x86_64-*-*) 355 tm_file="i386/biarch64.h ${tm_file}" 356 ;; 357esac 358 359# On a.out targets, we need to use collect2. 360case ${target} in 361*-*-*aout*) 362 use_collect2=yes 363 ;; 364esac 365 366# Common parts for widely ported systems. 367case ${target} in 368*-*-darwin*) 369 tm_file="${tm_file} darwin.h" 370 case ${target} in 371 *-*-darwin9*) 372 tm_file="${tm_file} darwin9.h" 373 ;; 374 esac 375 tm_file="${tm_file} ${cpu_type}/darwin.h" 376 tm_p_file="${tm_p_file} darwin-protos.h" 377 tmake_file="t-darwin ${cpu_type}/t-darwin t-slibgcc-darwin" 378 target_gtfiles="\$(srcdir)/config/darwin.c" 379 extra_options="${extra_options} darwin.opt" 380 c_target_objs="darwin-c.o" 381 cxx_target_objs="darwin-c.o" 382 extra_objs="darwin.o" 383 default_use_cxa_atexit=yes 384 case ${enable_threads} in 385 "" | yes | posix) thread_file='posix' ;; 386 esac 387 ;; 388*-*-freebsd[12] | *-*-freebsd[12].* | *-*-freebsd*aout*) 389 # This is the place-holder for the generic a.out configuration 390 # of FreeBSD. No actual configuration resides here since 391 # there was only ever a bare-bones ix86 configuration for 392 # a.out and it exists solely in the machine-specific section. 393 # This place-holder must exist to avoid dropping into 394 # the generic ELF configuration of FreeBSD (i.e. it must be 395 # ordered before that section). 396 ;; 397*-*-freebsd*) 398 # This is the generic ELF configuration of FreeBSD. Later 399 # machine-specific sections may refine and add to this 400 # configuration. 401 # 402 # Due to tm_file entry ordering issues that vary between cpu 403 # architectures, we only define fbsd_tm_file to allow the 404 # machine-specific section to dictate the final order of all 405 # entries of tm_file with the minor exception that components 406 # of the tm_file set here will always be of the form: 407 # 408 # freebsd<version_number>.h [freebsd-<conf_option>.h ...] freebsd-spec.h freebsd.h 409 # 410 # The machine-specific section should not tamper with this 411 # ordering but may order all other entries of tm_file as it 412 # pleases around the provided core setting. 413 gas=yes 414 gnu_ld=yes 415 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o" 416 case ${target} in 417 *-*-freebsd3 | *-*-freebsd[3].*) 418 tm_defines="${tm_defines} FBSD_MAJOR=3" ;; 419 *-*-freebsd4 | *-*-freebsd[4].*) 420 tm_defines="${tm_defines} FBSD_MAJOR=4" ;; 421 *-*-freebsd5 | *-*-freebsd[5].*) 422 tm_defines="${tm_defines} FBSD_MAJOR=5" ;; 423 *-*-freebsd6 | *-*-freebsd[6].*) 424 tm_defines="${tm_defines} FBSD_MAJOR=6" ;; 425 *-*-freebsd7 | *-*-freebsd[7].*) 426 tm_defines="${tm_defines} FBSD_MAJOR=7" ;; 427 *-*-freebsd8 | *-*-freebsd[8].*) 428 tm_defines="${tm_defines} FBSD_MAJOR=8" ;; 429 *-*-freebsd9 | *-*-freebsd[9].*) 430 tm_defines="${tm_defines} FBSD_MAJOR=9" ;; 431 *) 432 echo 'Please update *-*-freebsd* in gcc/config.gcc' 433 exit 1 434 ;; 435 esac 436 tmake_file="t-slibgcc-elf-ver t-freebsd" 437 case ${enable_threads} in 438 no) 439 fbsd_tm_file="${fbsd_tm_file} freebsd-nthr.h" 440 ;; 441 "" | yes | posix) 442 thread_file='posix' 443 tmake_file="${tmake_file} t-freebsd-thread" 444 # Before 5.0, FreeBSD can't bind shared libraries to -lc 445 # when "optionally" threaded via weak pthread_* checks. 446 case ${target} in 447 *-*-freebsd[34] | *-*-freebsd[34].*) 448 tmake_file="${tmake_file} t-slibgcc-nolc-override" 449 ;; 450 esac 451 ;; 452 *) 453 echo 'Unknown thread configuration for FreeBSD' 454 exit 1 455 ;; 456 esac 457 fbsd_tm_file="${fbsd_tm_file} freebsd-spec.h freebsd.h" 458 ;; 459*-*-linux*libc1* | *-*-linux*aout*) 460 # Avoid the generic linux case. 461 ;; 462*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu) 463 # Must come before *-*-gnu* (because of *-*-linux-gnu* systems). 464 extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o" 465 extra_options="${extra_options} linux.opt" 466 gas=yes 467 gnu_ld=yes 468 case ${enable_threads} in 469 "" | yes | posix) thread_file='posix' ;; 470 esac 471 tmake_file="t-slibgcc-elf-ver t-linux" 472 case ${target} in 473 *-*-*uclibc*) 474 tm_defines="${tm_defines} UCLIBC_DEFAULT=1" 475 ;; 476 *) 477 tm_defines="${tm_defines} UCLIBC_DEFAULT=0" 478 ;; 479 esac 480 # Assume that glibc or uClibc are being used and so __cxa_atexit is provided. 481 default_use_cxa_atexit=yes 482 ;; 483*-*-gnu*) 484 # On the Hurd, the setup is just about the same on 485 # each different CPU. The specific machines that we 486 # support are matched above and just set $cpu_type. 487 tm_file="${cpu_type}/gnu.h" 488 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o" 489 # GNU tools are the only tools. 490 gas=yes 491 gnu_ld=yes 492 # These details are the same as for Linux. 493 # But here we need a little extra magic. 494 tmake_file="t-slibgcc-elf-ver t-linux t-gnu" 495 case ${target} in 496 alpha*) 497 tm_file="${cpu_type}/${cpu_type}.h alpha/elf.h alpha/linux.h alpha/linux-elf.h gnu.h ${tm_file}" 498 ;; 499 i[34567]86-*-*) 500 tm_file="${cpu_type}/${cpu_type}.h i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h i386/linux.h gnu.h ${tm_file}" 501 ;; 502 esac 503 # Assume that glibc is being used and so __cxa_atexit is provided. 504 default_use_cxa_atexit=yes 505 ;; 506*-*-netbsd*) 507 tmake_file="t-slibgcc-elf-ver t-libc-ok t-netbsd t-libgcc-pic" 508 gas=yes 509 gnu_ld=yes 510 511 # NetBSD 2.0 and later get POSIX threads enabled by default. 512 # Allow them to be explicitly enabled on any other version. 513 case ${enable_threads} in 514 "") 515 case ${target} in 516 *-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*) 517 thread_file='posix' 518 tm_defines="${tm_defines} NETBSD_ENABLE_PTHREADS" 519 ;; 520 esac 521 ;; 522 yes | posix) 523 thread_file='posix' 524 tm_defines="${tm_defines} NETBSD_ENABLE_PTHREADS" 525 ;; 526 esac 527 528 # NetBSD 1.7 and later are set up to use GCC's crtstuff for 529 # ELF configurations. We will clear extra_parts in the 530 # a.out configurations. 531 case ${target} in 532 *-*-netbsd*1.[7-9]* | *-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*) 533 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o" 534 ;; 535 esac 536 537 # NetBSD 2.0 and later provide __cxa_atexit(), which we use by 538 # default (unless overridden by --disable-__cxa_atexit). 539 case ${target} in 540 *-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*) 541 default_use_cxa_atexit=yes 542 ;; 543 esac 544 ;; 545*-*-openbsd*) 546 tmake_file="t-libc-ok t-openbsd t-libgcc-pic" 547 case ${enable_threads} in 548 yes) 549 thread_file='posix' 550 tmake_file="${tmake_file} t-openbsd-thread" 551 ;; 552 esac 553 case ${target} in 554 *-*-openbsd2.*|*-*-openbsd3.[012]) 555 tm_defines="${tm_defines} HAS_LIBC_R=1" ;; 556 esac 557 ;; 558*-*-rtems*) 559 case ${enable_threads} in 560 yes) thread_file='rtems' ;; 561 esac 562 ;; 563*-*-vxworks*) 564 tmake_file=t-vxworks 565 tm_file="${tm_file} elfos.h svr4.h" 566 xm_defines=POSIX 567 extra_options="${extra_options} vxworks.opt" 568 case ${enable_threads} in 569 no) ;; 570 "" | yes | vxworks) thread_file='vxworks' ;; 571 *) echo 'Unknown thread configuration for VxWorks'; exit 1 ;; 572 esac 573 ;; 574*-*-elf) 575 # Assume that newlib is being used and so __cxa_atexit is provided. 576 default_use_cxa_atexit=yes 577 ;; 578esac 579 580case ${target} in 581# Support site-specific machine types. 582*local*) 583 rest=`echo ${target} | sed -e "s/$cpu_type-//"` 584 tm_file=${cpu_type}/$rest.h 585 if test -f $srcdir/config/${cpu_type}/xm-$rest.h 586 then xm_file=${cpu_type}/xm-$rest.h 587 fi 588 if test -f $srcdir/config/${cpu_type}/t-$rest 589 then tmake_file=${cpu_type}/t-$rest 590 fi 591 ;; 592alpha*-*-unicosmk*) 593 use_collect2=yes 594 tm_file="${tm_file} alpha/unicosmk.h" 595 596 # Don't include t-ieee for now because we don't support that yet 597 # tmake_file="alpha/t-ieee" 598 tmake_file="alpha/t-unicosmk" 599 use_fixproto=yes 600 ;; 601alpha*-*-linux*) 602 tm_file="${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h" 603 target_cpu_default="MASK_GAS" 604 tmake_file="${tmake_file} alpha/t-crtfm alpha/t-alpha alpha/t-ieee alpha/t-linux" 605 ;; 606alpha*-*-gnu*) 607 target_cpu_default="MASK_GAS" 608 tmake_file="${tmake_file} alpha/t-crtfm alpha/t-alpha alpha/t-ieee" 609 ;; 610alpha*-*-freebsd*) 611 tm_file="${tm_file} ${fbsd_tm_file} alpha/elf.h alpha/freebsd.h" 612 target_cpu_default="MASK_GAS" 613 tmake_file="${tmake_file} alpha/t-crtfm alpha/t-alpha alpha/t-ieee" 614 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o" 615 ;; 616alpha*-*-netbsd*) 617 tm_file="${tm_file} netbsd.h alpha/elf.h netbsd-elf.h alpha/netbsd.h" 618 target_cpu_default="MASK_GAS" 619 tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee" 620 ;; 621alpha*-*-openbsd*) 622 tm_defines="${tm_defines} OBSD_NO_DYNAMIC_LIBRARIES OBSD_HAS_DECLARE_FUNCTION_NAME OBSD_HAS_DECLARE_FUNCTION_SIZE OBSD_HAS_DECLARE_OBJECT" 623 tm_file="alpha/alpha.h openbsd.h alpha/openbsd.h" 624 # default x-alpha is only appropriate for dec-osf. 625 target_cpu_default="MASK_GAS" 626 tmake_file="alpha/t-alpha alpha/t-ieee" 627 ;; 628alpha*-dec-osf[45]*) 629 if test x$stabs = xyes 630 then 631 tm_file="${tm_file} dbx.h" 632 fi 633 if test x$gas != xyes 634 then 635 extra_passes="mips-tfile mips-tdump" 636 fi 637 use_collect2=yes 638 tmake_file="alpha/t-alpha alpha/t-ieee alpha/t-crtfm alpha/t-osf4" 639 tm_file="${tm_file} alpha/osf.h" 640 extra_headers=va_list.h 641 case ${target} in 642 *-*-osf4*) 643 # Define TARGET_SUPPORT_ARCH except on 4.0a. 644 case ${target} in 645 *-*-osf4.0a) ;; 646 *) tm_defines="${tm_defines} TARGET_SUPPORT_ARCH=1" 647 esac 648 ;; 649 *-*-osf5*) 650 tm_file="${tm_file} alpha/osf5.h" 651 tm_defines="${tm_defines} TARGET_SUPPORT_ARCH=1" 652 ;; 653 esac 654 case ${enable_threads} in 655 "" | yes | posix) 656 thread_file='posix' 657 tmake_file="${tmake_file} alpha/t-osf-pthread" 658 ;; 659 esac 660 ;; 661alpha64-dec-*vms*) 662 tm_file="${tm_file} alpha/vms.h alpha/vms64.h" 663 xm_file="alpha/xm-vms.h" 664 tmake_file="alpha/t-alpha alpha/t-vms alpha/t-vms64 alpha/t-ieee" 665 prefix=/gnu 666 local_prefix=/gnu 667 ;; 668alpha*-dec-*vms*) 669 tm_file="${tm_file} alpha/vms.h" 670 xm_file=alpha/xm-vms.h 671 tmake_file="alpha/t-alpha alpha/t-vms alpha/t-ieee" 672 prefix=/gnu 673 local_prefix=/gnu 674 ;; 675arc-*-elf*) 676 tm_file="dbxelf.h elfos.h svr4.h ${tm_file}" 677 extra_parts="crtinit.o crtfini.o" 678 use_fixproto=yes 679 ;; 680arm-*-coff* | armel-*-coff*) 681 tm_file="arm/semi.h arm/aout.h arm/arm.h arm/coff.h dbxcoff.h" 682 tmake_file="arm/t-arm arm/t-arm-coff" 683 ;; 684arm-semi-aof | armel-semi-aof) 685 tm_file="arm/semiaof.h arm/aof.h arm/arm.h" 686 tmake_file="arm/t-arm arm/t-semi" 687 ;; 688arm-wrs-vxworks) 689 tm_file="dbxelf.h elfos.h svr4.h vxworks.h arm/elf.h arm/aout.h arm/arm.h arm/vxworks.h" 690 tmake_file="${tmake_file} arm/t-arm arm/t-vxworks" 691 ;; 692arm*-*-freebsd*|strongarm*-*-freebsd*) 693 tm_file="dbxelf.h elfos.h ${fbsd_tm_file} arm/elf.h arm/aout.h arm/freebsd.h arm/arm.h" 694 tmake_file="${tmake_file} arm/t-arm arm/t-strongarm-elf" 695 ;; 696arm*-*-netbsdelf*) 697 tm_file="dbxelf.h elfos.h netbsd.h netbsd-elf.h arm/elf.h arm/aout.h arm/arm.h arm/netbsd-elf.h" 698 tmake_file="${tmake_file} arm/t-arm arm/t-netbsd" 699 ;; 700arm*-*-netbsd*) 701 tm_file="arm/aout.h arm/arm.h netbsd.h netbsd-aout.h arm/netbsd.h" 702 tmake_file="t-netbsd arm/t-arm arm/t-netbsd" 703 extra_parts="" 704 use_collect2=yes 705 ;; 706arm*-*-linux*) # ARM GNU/Linux with ELF 707 tm_file="dbxelf.h elfos.h linux.h arm/elf.h arm/linux-gas.h arm/linux-elf.h" 708 tmake_file="${tmake_file} t-linux arm/t-arm" 709 case ${target} in 710 arm*-*-linux-*eabi) 711 tm_file="$tm_file arm/bpabi.h arm/linux-eabi.h" 712 tmake_file="$tmake_file arm/t-arm-elf arm/t-bpabi arm/t-linux-eabi" 713 # The BPABI long long divmod functions return a 128-bit value in 714 # registers r0-r3. Correctly modeling that requires the use of 715 # TImode. 716 need_64bit_hwint=yes 717 # The EABI requires the use of __cxa_atexit. 718 default_use_cxa_atexit=yes 719 ;; 720 *) 721 tmake_file="$tmake_file arm/t-linux" 722 ;; 723 esac 724 tm_file="$tm_file arm/aout.h arm/arm.h" 725 ;; 726arm*-*-uclinux*) # ARM ucLinux 727 tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h arm/linux-gas.h arm/linux-elf.h arm/uclinux-elf.h" 728 tmake_file="arm/t-arm arm/t-arm-elf" 729 ;; 730arm*-*-ecos-elf) 731 tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h arm/ecos-elf.h" 732 tmake_file="arm/t-arm arm/t-arm-elf" 733 ;; 734arm*-*-eabi* | arm*-*-symbianelf* ) 735 # The BPABI long long divmod functions return a 128-bit value in 736 # registers r0-r3. Correctly modeling that requires the use of 737 # TImode. 738 need_64bit_hwint=yes 739 default_use_cxa_atexit=yes 740 tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/bpabi.h" 741 tmake_file="arm/t-arm arm/t-arm-elf" 742 case ${target} in 743 arm*-*-eabi*) 744 tmake_file="${tmake_file} arm/t-bpabi" 745 ;; 746 arm*-*-symbianelf*) 747 tm_file="${tm_file} arm/symbian.h" 748 # We do not include t-bpabi for Symbian OS because the system 749 # provides its own implementation of the BPABI functions. 750 tmake_file="${tmake_file} arm/t-symbian" 751 ;; 752 esac 753 tm_file="${tm_file} arm/aout.h arm/arm.h" 754 ;; 755arm*-*-rtems*) 756 tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h arm/rtems-elf.h rtems.h" 757 tmake_file="arm/t-arm arm/t-arm-elf t-rtems arm/t-rtems" 758 ;; 759arm*-*-elf | ep9312-*-elf) 760 tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h" 761 tmake_file="arm/t-arm arm/t-arm-elf" 762 ;; 763arm*-wince-pe*) 764 tm_file="arm/semi.h arm/aout.h arm/arm.h arm/coff.h dbxcoff.h arm/pe.h arm/wince-pe.h" 765 tmake_file="arm/t-arm arm/t-wince-pe" 766 extra_options="${extra_options} arm/pe.opt" 767 extra_objs="pe.o" 768 ;; 769arm-*-pe*) 770 tm_file="arm/semi.h arm/aout.h arm/arm.h arm/coff.h dbxcoff.h arm/pe.h" 771 tmake_file="arm/t-arm arm/t-pe" 772 extra_options="${extra_options} arm/pe.opt" 773 extra_objs="pe.o" 774 ;; 775arm*-*-kaos*) 776 tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h kaos.h arm/kaos-arm.h" 777 tmake_file="arm/t-arm arm/t-arm-elf" 778 ;; 779avr-*-rtems*) 780 tm_file="avr/avr.h dbxelf.h avr/rtems.h rtems.h" 781 tmake_file="avr/t-avr t-rtems avr/t-rtems" 782 ;; 783avr-*-*) 784 tm_file="avr/avr.h dbxelf.h" 785 use_fixproto=yes 786 ;; 787bfin*-elf*) 788 tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h" 789 tmake_file=bfin/t-bfin-elf 790 use_collect2=no 791 ;; 792bfin*-uclinux*) 793 tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h bfin/uclinux.h" 794 tmake_file=bfin/t-bfin-elf 795 use_collect2=no 796 ;; 797bfin*-rtems*) 798 tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h bfin/rtems.h rtems.h" 799 tmake_file="bfin/t-bfin t-rtems bfin/t-rtems" 800 ;; 801bfin*-*) 802 tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h" 803 tmake_file=bfin/t-bfin 804 use_collect2=no 805 ;; 806c4x-*-rtems* | tic4x-*-rtems*) 807 tmake_file="c4x/t-c4x t-rtems c4x/t-rtems" 808 tm_file="c4x/c4x.h c4x/rtems.h rtems.h" 809 c_target_objs="c4x-c.o" 810 cxx_target_objs="c4x-c.o" 811 ;; 812c4x-* | tic4x-*) 813 tmake_file=c4x/t-c4x 814 c_target_objs="c4x-c.o" 815 cxx_target_objs="c4x-c.o" 816 ;; 817cris-*-aout) 818 tm_file="dbxelf.h ${tm_file} cris/aout.h" 819 gas=yes 820 tmake_file="cris/t-cris cris/t-aout" 821 extra_options="${extra_options} cris/aout.opt" 822 ;; 823cris-*-elf | cris-*-none) 824 tm_file="dbxelf.h elfos.h ${tm_file}" 825 tmake_file="cris/t-cris cris/t-elfmulti" 826 gas=yes 827 extra_options="${extra_options} cris/elf.opt" 828 ;; 829cris-*-linux*) 830 tm_file="dbxelf.h elfos.h svr4.h ${tm_file} linux.h cris/linux.h" 831 # We need to avoid using t-linux, so override default tmake_file 832 tmake_file="cris/t-cris t-slibgcc-elf-ver cris/t-linux" 833 extra_options="${extra_options} cris/linux.opt" 834 ;; 835crx-*-elf) 836 tm_file="elfos.h ${tm_file}" 837 extra_parts="crtbegin.o crtend.o" 838 use_collect2=no 839 ;; 840fr30-*-elf) 841 tm_file="dbxelf.h elfos.h svr4.h ${tm_file}" 842 tmake_file=fr30/t-fr30 843 extra_parts="crti.o crtn.o crtbegin.o crtend.o" 844 use_fixproto=yes 845 ;; 846frv-*-elf) 847 tm_file="dbxelf.h elfos.h svr4.h ${tm_file} frv/frv-abi.h" 848 tmake_file=frv/t-frv 849 use_fixproto=yes 850 ;; 851frv-*-*linux*) 852 tm_file="dbxelf.h elfos.h svr4.h ${tm_file} \ 853 linux.h frv/linux.h frv/frv-abi.h" 854 tmake_file="${tmake_file} frv/t-frv frv/t-linux" 855 ;; 856h8300-*-rtemscoff*) 857 tmake_file="h8300/t-h8300 t-rtems h8300/t-rtems" 858 tm_file="h8300/h8300.h dbxcoff.h h8300/coff.h h8300/rtems.h rtems.h" 859 ;; 860h8300-*-rtems*) 861 tmake_file="h8300/t-h8300 h8300/t-elf t-rtems h8300/t-rtems" 862 tm_file="h8300/h8300.h dbxelf.h elfos.h h8300/elf.h h8300/rtems.h rtems.h" 863 ;; 864h8300-*-elf*) 865 tmake_file="h8300/t-h8300 h8300/t-elf" 866 tm_file="h8300/h8300.h dbxelf.h elfos.h h8300/elf.h" 867 use_fixproto=yes 868 ;; 869h8300-*-*) 870 tm_file="h8300/h8300.h dbxcoff.h h8300/coff.h" 871 use_fixproto=yes 872 ;; 873hppa*64*-*-linux* | parisc*64*-*-linux*) 874 target_cpu_default="MASK_PA_11|MASK_PA_20" 875 tm_file="pa/pa64-start.h ${tm_file} dbxelf.h elfos.h svr4.h linux.h \ 876 pa/pa-linux.h pa/pa64-regs.h pa/pa-64.h pa/pa64-linux.h" 877 tmake_file="${tmake_file} pa/t-linux64" 878 gas=yes gnu_ld=yes 879 need_64bit_hwint=yes 880 ;; 881hppa*-*-linux* | parisc*-*-linux*) 882 target_cpu_default="MASK_PA_11|MASK_NO_SPACE_REGS" 883 tm_file="${tm_file} dbxelf.h elfos.h svr4.h linux.h pa/pa-linux.h \ 884 pa/pa32-regs.h pa/pa32-linux.h" 885 tmake_file="${tmake_file} pa/t-linux" 886 # Set the libgcc version number 887 if test x$sjlj = x1; then 888 tmake_file="$tmake_file pa/t-slibgcc-sjlj-ver" 889 else 890 tmake_file="$tmake_file pa/t-slibgcc-dwarf-ver" 891 fi 892 ;; 893# port not yet contributed. 894#hppa*-*-openbsd*) 895# target_cpu_default="MASK_PA_11" 896# ;; 897hppa1.1-*-pro*) 898 target_cpu_default="MASK_PORTABLE_RUNTIME|MASK_NO_SPACE_REGS|MASK_SOFT_FLOAT" 899 tm_file="${tm_file} pa/pa32-regs.h dbxelf.h elfos.h pa/elf.h \ 900 pa/pa-pro-end.h libgloss.h" 901 tmake_file="pa/t-pro" 902 ;; 903hppa1.1-*-osf*) 904 target_cpu_default="MASK_PA_11" 905 tm_file="${tm_file} pa/pa32-regs.h dbxelf.h pa/som.h pa/pa-osf.h" 906 tmake_file="pa/t-pa" 907 use_collect2=yes 908 ;; 909hppa1.1-*-bsd*) 910 target_cpu_default="MASK_PA_11" 911 tm_file="${tm_file} pa/pa32-regs.h dbxelf.h pa/som.h" 912 tmake_file="pa/t-pa" 913 use_collect2=yes 914 ;; 915hppa[12]*-*-hpux10*) 916 case ${target} in 917 hppa1.1-*-* | hppa2*-*-*) 918 target_cpu_default="MASK_PA_11" 919 ;; 920 esac 921 tm_file="${tm_file} pa/pa32-regs.h dbxelf.h pa/som.h \ 922 pa/pa-hpux.h pa/pa-hpux10.h" 923 extra_options="${extra_options} pa/pa-hpux.opt" 924 case ${target} in 925 *-*-hpux10.[1-9]*) 926 tm_file="${tm_file} pa/pa-hpux1010.h" 927 extra_options="${extra_options} pa/pa-hpux1010.opt" 928 ;; 929 esac 930 tmake_file="pa/t-pa-hpux10 pa/t-pa-hpux pa/t-hpux-shlib" 931 case ${enable_threads} in 932 "") 933 if test x$have_pthread_h = xyes ; then 934 tmake_file="${tmake_file} pa/t-dce-thr" 935 fi 936 ;; 937 yes | dce) 938 tmake_file="${tmake_file} pa/t-dce-thr" 939 ;; 940 esac 941 # Set the libgcc version number 942 if test x$sjlj = x1; then 943 tmake_file="$tmake_file pa/t-slibgcc-sjlj-ver" 944 else 945 tmake_file="$tmake_file pa/t-slibgcc-dwarf-ver" 946 fi 947 use_collect2=yes 948 use_fixproto=yes 949 gas=yes 950 ;; 951hppa*64*-*-hpux11*) 952 target_cpu_default="MASK_PA_11|MASK_PA_20" 953 if test x$gnu_ld = xyes 954 then 955 target_cpu_default="${target_cpu_default}|MASK_GNU_LD" 956 fi 957 tm_file="pa/pa64-start.h ${tm_file} dbxelf.h elfos.h \ 958 pa/pa64-regs.h pa/pa-hpux.h pa/pa-hpux1010.h \ 959 pa/pa-hpux11.h" 960 case ${target} in 961 *-*-hpux11.[1-9]*) 962 tm_file="${tm_file} pa/pa-hpux1111.h pa/pa-64.h pa/pa64-hpux.h" 963 extra_options="${extra_options} pa/pa-hpux1111.opt" 964 ;; 965 *) 966 tm_file="${tm_file} pa/pa-64.h pa/pa64-hpux.h" 967 ;; 968 esac 969 extra_options="${extra_options} pa/pa-hpux.opt \ 970 pa/pa-hpux1010.opt pa/pa64-hpux.opt" 971 need_64bit_hwint=yes 972 tmake_file="pa/t-pa64 pa/t-pa-hpux pa/t-hpux-shlib" 973 # Set the libgcc version number 974 if test x$sjlj = x1; then 975 tmake_file="$tmake_file pa/t-slibgcc-sjlj-ver" 976 else 977 tmake_file="$tmake_file pa/t-slibgcc-dwarf-ver" 978 fi 979 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o \ 980 libgcc_stub.a" 981 case x${enable_threads} in 982 x | xyes | xposix ) 983 thread_file=posix 984 ;; 985 esac 986 gas=yes 987 ;; 988hppa[12]*-*-hpux11*) 989 case ${target} in 990 hppa1.1-*-* | hppa2*-*-*) 991 target_cpu_default="MASK_PA_11" 992 ;; 993 esac 994 tm_file="${tm_file} pa/pa32-regs.h dbxelf.h pa/som.h \ 995 pa/pa-hpux.h pa/pa-hpux1010.h pa/pa-hpux11.h" 996 extra_options="${extra_options} pa/pa-hpux.opt pa/pa-hpux1010.opt" 997 case ${target} in 998 *-*-hpux11.[1-9]*) 999 tm_file="${tm_file} pa/pa-hpux1111.h" 1000 extra_options="${extra_options} pa/pa-hpux1111.opt" 1001 ;; 1002 esac 1003 tmake_file="pa/t-pa-hpux11 pa/t-pa-hpux pa/t-hpux-shlib" 1004 # Set the libgcc version number 1005 if test x$sjlj = x1; then 1006 tmake_file="$tmake_file pa/t-slibgcc-sjlj-ver" 1007 else 1008 tmake_file="$tmake_file pa/t-slibgcc-dwarf-ver" 1009 fi 1010 case x${enable_threads} in 1011 x | xyes | xposix ) 1012 thread_file=posix 1013 ;; 1014 esac 1015 use_collect2=yes 1016 gas=yes 1017 ;; 1018i[34567]86-*-darwin*) 1019 need_64bit_hwint=yes 1020 1021 # This is so that '.../configure && make' doesn't fail due to 1022 # config.guess deciding that the configuration is i386-*-darwin* and 1023 # then this file using that to set --with-cpu=i386 which has no -m64 1024 # support. 1025 with_arch=${with_arch:-nocona} 1026 with_cpu=${with_cpu:-generic} 1027 ;; 1028x86_64-*-darwin*) 1029 with_arch=${with_arch:-nocona} 1030 with_cpu=${with_cpu:-generic} 1031 tmake_file="t-darwin ${cpu_type}/t-darwin64 t-slibgcc-darwin" 1032 tm_file="${tm_file} ${cpu_type}/darwin64.h" 1033 ;; 1034i[34567]86-*-elf*) 1035 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/i386elf.h" 1036 tmake_file="i386/t-i386elf t-svr4" 1037 use_fixproto=yes 1038 ;; 1039i[34567]86-sequent-ptx4* | i[34567]86-sequent-sysv4*) 1040 if test x$gas = xyes 1041 then 1042 tm_file="${tm_file} usegas.h" 1043 fi 1044 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ptx4.h i386/ptx4-i.h" 1045 tmake_file=t-svr4 1046 extra_parts="crtbegin.o crtend.o" 1047 use_fixproto=yes 1048 ;; 1049i[34567]86-*-aout*) 1050 tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h i386/i386-aout.h" 1051 use_fixproto=yes 1052 ;; 1053i[34567]86-*-beoself* | i[34567]86-*-beos*) 1054 tmake_file='i386/t-beos i386/t-crtpic' 1055 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/beos-elf.h" 1056 extra_parts='crtbegin.o crtend.o' 1057 ;; 1058i[34567]86-*-freebsd*) 1059 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/freebsd.h" 1060 ;; 1061x86_64-*-freebsd*) 1062 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/x86-64.h i386/freebsd.h i386/freebsd64.h" 1063 ;; 1064i[34567]86-*-netbsdelf*) 1065 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/netbsd-elf.h" 1066 ;; 1067i[34567]86-*-netbsd*) 1068 tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h netbsd.h netbsd-aout.h i386/netbsd.h" 1069 tmake_file=t-netbsd 1070 extra_parts="" 1071 use_collect2=yes 1072 ;; 1073x86_64-*-netbsd*) 1074 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/x86-64.h i386/netbsd64.h" 1075 ;; 1076i[34567]86-*-openbsd2.*|i[34567]86-*openbsd3.[0123]) 1077 tm_file="i386/i386.h i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h openbsd-oldgas.h openbsd.h i386/openbsd.h" 1078 # needed to unconfuse gdb 1079 tmake_file="t-libc-ok t-openbsd i386/t-openbsd" 1080 # we need collect2 until our bug is fixed... 1081 use_collect2=yes 1082 ;; 1083i[34567]86-*-openbsd*) 1084 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h" 1085 tm_file="${tm_file} openbsd.h i386/openbsdelf.h" 1086 gas=yes 1087 gnu_ld=yes 1088 ;; 1089i[34567]86-*-coff*) 1090 tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/i386-coff.h" 1091 use_fixproto=yes 1092 ;; 1093i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu) 1094 # Intel 80386's running GNU/* 1095 # with ELF format using glibc 2 1096 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h i386/linux.h" 1097 case ${target} in 1098 i[34567]86-*-knetbsd*-gnu) tm_file="${tm_file} knetbsd-gnu.h i386/knetbsd-gnu.h" ;; 1099 i[34567]86-*-kfreebsd*-gnu) tm_file="${tm_file} kfreebsd-gnu.h i386/kfreebsd-gnu.h" ;; 1100 esac 1101 tmake_file="${tmake_file} i386/t-crtstuff i386/t-crtfm t-dfprules" 1102 ;; 1103x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu) 1104 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h \ 1105 i386/x86-64.h i386/linux64.h" 1106 case ${target} in 1107 x86_64-*-kfreebsd*-gnu) tm_file="${tm_file} kfreebsd-gnu.h" ;; 1108 x86_64-*-knetbsd*-gnu) tm_file="${tm_file} knetbsd-gnu.h" ;; 1109 esac 1110 tmake_file="${tmake_file} i386/t-linux64 i386/t-crtfm t-dfprules" 1111 ;; 1112i[34567]86-*-gnu*) 1113 ;; 1114i[34567]86-pc-msdosdjgpp*) 1115 xm_file=i386/xm-djgpp.h 1116 tm_file="dbxcoff.h ${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/djgpp.h" 1117 tmake_file=i386/t-djgpp 1118 extra_options="${extra_options} i386/djgpp.opt" 1119 gnu_ld=yes 1120 gas=yes 1121 ;; 1122i[34567]86-*-lynxos*) 1123 xm_defines=POSIX 1124 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/lynx.h lynx.h" 1125 tmake_file="i386/t-crtstuff t-lynx" 1126 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o" 1127 extra_options="${extra_options} lynx.opt" 1128 thread_file=lynx 1129 gnu_ld=yes 1130 gas=yes 1131 ;; 1132i[3456x]86-*-netware*) 1133 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h tm-dwarf2.h i386/netware.h" 1134 tmake_file=i386/t-netware 1135 extra_objs=netware.o 1136 case /${with_ld} in 1137 */nwld) 1138 extra_objs="$extra_objs nwld.o" 1139 tm_file="${tm_file} i386/nwld.h" 1140 tmake_file="${tmake_file} i386/t-nwld" 1141 extra_parts="crt0.o libgcc.def libc.def libcpre.def posixpre.def" 1142 ;; 1143 esac 1144 case x${enable_threads} in 1145 x | xyes | xposix) thread_file='posix';; 1146 xnks) thread_file='nks';; 1147 xno) ;; 1148 *) echo 'Unknown thread configuration for NetWare' >&2; exit 1;; 1149 esac 1150 ;; 1151i[34567]86-*-nto-qnx*) 1152 tm_file="${tm_file} i386/att.h dbxelf.h tm-dwarf2.h elfos.h svr4.h i386/unix.h i386/nto.h" 1153 tmake_file=i386/t-nto 1154 gnu_ld=yes 1155 gas=yes 1156 ;; 1157i[34567]86-*-rtems*) 1158 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/i386elf.h i386/rtemself.h rtems.h" 1159 extra_parts="crtbegin.o crtend.o crti.o crtn.o" 1160 tmake_file="i386/t-rtems-i386 i386/t-crtstuff t-rtems" 1161 ;; 1162i[34567]86-*-sco3.2v5*) # 80386 running SCO Open Server 5 1163 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/sco5.h" 1164 if test x$gas = xyes 1165 then 1166 tm_file="usegas.h ${tm_file}" 1167 fi 1168 tmake_file=i386/t-sco5 1169 extra_parts="crtbegin.o crtend.o" 1170 extra_options="${extra_options} i386/sco5.opt" 1171 use_fixproto=yes 1172 ;; 1173i[34567]86-*-solaris2*) 1174 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/sysv4.h sol2.h" 1175 case ${target} in 1176 *-*-solaris2.[0-6] | *-*-solaris2.[0-6].*) 1177 tm_file="${tm_file} sol2-6.h" 1178 ;; 1179 *-*-solaris2.1[0-9]*) 1180 tm_file="${tm_file} sol2-10.h" 1181 ;; 1182 esac 1183 tm_file="${tm_file} i386/sol2.h" 1184 tmake_file="t-sol2 i386/t-sol2 t-svr4" 1185 c_target_objs="sol2-c.o" 1186 cxx_target_objs="sol2-c.o" 1187 extra_objs="sol2.o" 1188 tm_p_file="${tm_p_file} sol2-protos.h" 1189 if test x$gnu_ld = xyes; then 1190 tmake_file="$tmake_file t-slibgcc-elf-ver" 1191 tm_defines="${tm_defines} TARGET_GNU_LD=1" 1192 else 1193 tmake_file="$tmake_file t-slibgcc-sld" 1194 fi 1195 if test x$gas = xyes; then 1196 tm_file="usegas.h ${tm_file}" 1197 fi 1198 case ${target} in 1199 *-*-solaris2.[789] | *-*-solaris2.1[0-9]*) 1200 tm_file="$tm_file tm-dwarf2.h" 1201 ;; 1202 esac 1203 case ${target} in 1204 *-*-solaris2.1[0-9]*) 1205 tm_file="${tm_file} i386/x86-64.h i386/sol2-10.h" 1206 tm_defines="${tm_defines} TARGET_BI_ARCH=1" 1207 tmake_file="$tmake_file i386/t-sol2-10" 1208 need_64bit_hwint=yes 1209 # FIXME: -m64 for i[34567]86-*-* should be allowed just 1210 # like -m32 for x86_64-*-*. 1211 case X"${with_cpu}" in 1212 Xgeneric|Xcore2|Xnocona|Xx86-64|Xk8|Xopteron|Xathlon64|Xathlon-fx) 1213 ;; 1214 X) 1215 with_cpu=generic 1216 ;; 1217 *) 1218 echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2 1219 echo "generic core2 nocona x86-64 k8 opteron athlon64 athlon-fx" 1>&2 1220 exit 1 1221 ;; 1222 esac 1223 # Solaris 2.10 provides crt1.o, crti.o, crtn.o, and gcrt1.o as 1224 # part of the base system. 1225 extra_parts="gmon.o crtbegin.o crtend.o" 1226 ;; 1227 *) 1228 extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o" 1229 ;; 1230 esac 1231 case ${enable_threads}:${have_pthread_h}:${have_thread_h} in 1232 "":yes:* | yes:yes:* ) 1233 case ${target} in 1234 *-*-solaris2.[0-6] | *-*-solaris2.[0-6].*) 1235 thread_file=posix95 1236 ;; 1237 *) 1238 thread_file=posix 1239 ;; 1240 esac 1241 ;; 1242 "":*:yes | yes:*:yes ) 1243 thread_file=solaris 1244 ;; 1245 esac 1246 ;; 1247i[34567]86-*-sysv5*) # Intel x86 on System V Release 5 1248 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/sysv4.h i386/sysv5.h" 1249 if test x$stabs = xyes 1250 then 1251 tm_file="${tm_file} dbx.h" 1252 fi 1253 tmake_file="i386/t-crtpic t-svr4" 1254 extra_parts="crtbegin.o crtend.o" 1255 if test x$enable_threads = xyes; then 1256 thread_file='posix' 1257 fi 1258 use_fixproto=yes 1259 ;; 1260i[34567]86-*-sysv4*) # Intel 80386's running system V.4 1261 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/sysv4.h i386/sysv4-cpp.h" 1262 if test x$stabs = xyes 1263 then 1264 tm_file="${tm_file} dbx.h" 1265 fi 1266 tmake_file="i386/t-crtpic t-svr4" 1267 extra_parts="crtbegin.o crtend.o" 1268 use_fixproto=yes 1269 ;; 1270i[4567]86-wrs-vxworks|i[4567]86-wrs-vxworksae) 1271 tm_file="${tm_file} i386/sysv4.h i386/unix.h i386/att.h vx-common.h" 1272 case ${target} in 1273 *-vxworksae*) 1274 tm_file="${tm_file} vxworksae.h i386/vxworksae.h" 1275 tmake_file="${tmake_file} i386/t-vxworks i386/t-vxworksae" 1276 ;; 1277 *) 1278 tm_file="${tm_file} vxworks.h i386/vxworks.h" 1279 tmake_file="${tmake_file} i386/t-vxworks" 1280 ;; 1281 esac 1282 ;; 1283i[34567]86-*-pe | i[34567]86-*-cygwin*) 1284 tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h i386/cygwin.h" 1285 xm_file=i386/xm-cygwin.h 1286 tmake_file="i386/t-cygwin i386/t-cygming" 1287 target_gtfiles="\$(srcdir)/config/i386/winnt.c" 1288 extra_options="${extra_options} i386/cygming.opt" 1289 extra_objs="winnt.o winnt-stubs.o" 1290 c_target_objs=cygwin2.o 1291 cxx_target_objs="cygwin2.o winnt-cxx.o" 1292 extra_gcc_objs=cygwin1.o 1293 if test x$enable_threads = xyes; then 1294 thread_file='posix' 1295 fi 1296 ;; 1297i[34567]86-*-mingw32*) 1298 tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h i386/mingw32.h" 1299 xm_file=i386/xm-mingw32.h 1300 tmake_file="i386/t-cygming i386/t-mingw32" 1301 target_gtfiles="\$(srcdir)/config/i386/winnt.c" 1302 extra_options="${extra_options} i386/cygming.opt" 1303 extra_objs="winnt.o winnt-stubs.o" 1304 cxx_target_objs=winnt-cxx.o 1305 case ${enable_threads} in 1306 "" | yes | win32) 1307 thread_file='win32' 1308 tmake_file="${tmake_file} i386/t-gthr-win32" 1309 ;; 1310 esac 1311 case ${target} in 1312 *mingw32crt*) 1313 tm_file="${tm_file} i386/crtdll.h" 1314 ;; 1315 *mingw32msv* | *mingw32*) 1316 ;; 1317 esac 1318 ;; 1319i[34567]86-*-uwin*) 1320 tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygwin.h i386/uwin.h" 1321 tmake_file="i386/t-cygwin i386/t-uwin" 1322 extra_objs=winnt.o 1323 extra_options="${extra_options} i386/cygming.opt" 1324 target_gtfiles="\$(srcdir)/config/i386/winnt.c" 1325 if test x$enable_threads = xyes; then 1326 thread_file='win32' 1327 fi 1328 use_fixproto=yes 1329 ;; 1330i[34567]86-*-interix3*) 1331 tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/i386-interix.h i386/i386-interix3.h interix.h interix3.h" 1332 tmake_file="i386/t-interix" 1333 extra_objs=winnt.o 1334 target_gtfiles="\$(srcdir)/config/i386/winnt.c" 1335 if test x$enable_threads = xyes ; then 1336 thread_file='posix' 1337 fi 1338 if test x$stabs = xyes ; then 1339 tm_file="${tm_file} dbxcoff.h" 1340 fi 1341 ;; 1342i[34567]86-*-kaos*) 1343 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/i386elf.h kaos.h i386/kaos-i386.h" 1344 tmake_file="i386/t-i386elf t-svr4" 1345 ;; 1346ia64*-*-elf*) 1347 tm_file="${tm_file} dbxelf.h elfos.h ia64/sysv4.h ia64/elf.h" 1348 tmake_file="ia64/t-ia64" 1349 target_cpu_default="0" 1350 if test x$gas = xyes 1351 then 1352 target_cpu_default="${target_cpu_default}|MASK_GNU_AS" 1353 fi 1354 if test x$gnu_ld = xyes 1355 then 1356 target_cpu_default="${target_cpu_default}|MASK_GNU_LD" 1357 fi 1358 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o" 1359 use_fixproto=yes 1360 ;; 1361ia64*-*-freebsd*) 1362 tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file} ia64/sysv4.h ia64/freebsd.h" 1363 target_cpu_default="MASK_GNU_AS|MASK_GNU_LD" 1364 tmake_file="${tmake_file} ia64/t-ia64" 1365 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o" 1366 ;; 1367ia64*-*-linux*) 1368 tm_file="${tm_file} dbxelf.h elfos.h svr4.h linux.h ia64/sysv4.h ia64/linux.h" 1369 tmake_file="${tmake_file} ia64/t-ia64 t-libunwind ia64/t-glibc" 1370 if test x$with_system_libunwind != xyes ; then 1371 tmake_file="${tmake_file} t-libunwind-elf ia64/t-glibc-libunwind" 1372 fi 1373 target_cpu_default="MASK_GNU_AS|MASK_GNU_LD" 1374 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o" 1375 ;; 1376ia64*-*-hpux*) 1377 tm_file="${tm_file} dbxelf.h elfos.h svr4.h ia64/sysv4.h ia64/hpux.h" 1378 tmake_file="ia64/t-ia64 ia64/t-hpux" 1379 target_cpu_default="MASK_GNU_AS" 1380 case x$enable_threads in 1381 xyes | xposix ) 1382 thread_file=posix 1383 ;; 1384 esac 1385 use_collect2=no 1386 c_target_objs="ia64-c.o" 1387 cxx_target_objs="ia64-c.o" 1388 extra_options="${extra_options} ia64/ilp32.opt" 1389 # If we decide to run fixproto we should define FIXPROTO_DEFINES 1390 # in ia64/t-hpux, and also fix the definition of putenv in 1391 # sys-protos.h (const char not char). 1392 ;; 1393iq2000*-*-elf*) 1394 tm_file="svr4.h elfos.h iq2000/iq2000.h" 1395 tmake_file=iq2000/t-iq2000 1396 out_file=iq2000/iq2000.c 1397 md_file=iq2000/iq2000.md 1398 use_fixproto=yes 1399 ;; 1400m32r-*-elf*) 1401 tm_file="dbxelf.h elfos.h svr4.h ${tm_file}" 1402 extra_parts="crtinit.o crtfini.o" 1403 use_fixproto=yes 1404 ;; 1405m32rle-*-elf*) 1406 tm_file="dbxelf.h elfos.h svr4.h m32r/little.h ${tm_file}" 1407 extra_parts="crtinit.o crtfini.o m32rx/crtinit.o m32rx/crtfini.o" 1408 use_fixproto=yes 1409 ;; 1410m32r-*-linux*) 1411 tm_file="dbxelf.h elfos.h svr4.h linux.h ${tm_file} m32r/linux.h" 1412 # We override the tmake_file for linux -- why? 1413 tmake_file="t-slibgcc-elf-ver m32r/t-linux" 1414 gnu_ld=yes 1415 use_fixproto=yes 1416 if test x$enable_threads = xyes; then 1417 thread_file='posix' 1418 fi 1419 ;; 1420m32rle-*-linux*) 1421 tm_file="dbxelf.h elfos.h svr4.h linux.h m32r/little.h ${tm_file} m32r/linux.h" 1422 # We override the tmake_file for linux -- why? 1423 tmake_file="t-slibgcc-elf-ver m32r/t-linux" 1424 gnu_ld=yes 1425 use_fixproto=yes 1426 if test x$enable_threads = xyes; then 1427 thread_file='posix' 1428 fi 1429 ;; 1430# m68hc11 and m68hc12 share the same machine description. 1431m68hc11-*-*|m6811-*-*) 1432 tm_file="dbxelf.h elfos.h m68hc11/m68hc11.h" 1433 tm_p_file="m68hc11/m68hc11-protos.h" 1434 md_file="m68hc11/m68hc11.md" 1435 out_file="m68hc11/m68hc11.c" 1436 tmake_file="m68hc11/t-m68hc11-gas" 1437 use_fixproto=yes 1438 ;; 1439m68hc12-*-*|m6812-*-*) 1440 tm_file="m68hc11/m68hc12.h dbxelf.h elfos.h m68hc11/m68hc11.h" 1441 tm_p_file="m68hc11/m68hc11-protos.h" 1442 md_file="m68hc11/m68hc11.md" 1443 out_file="m68hc11/m68hc11.c" 1444 tmake_file="m68hc11/t-m68hc11-gas" 1445 extra_options="${extra_options} m68hc11/m68hc11.opt" 1446 use_fixproto=yes 1447 ;; 1448m68k-*-aout*) 1449 tmake_file=m68k/t-m68kbare 1450 tm_file="m68k/m68k.h m68k/m68k-none.h m68k/m68kemb.h m68k/m68k-aout.h libgloss.h" 1451 ;; 1452m68k-*-coff*) 1453 tmake_file=m68k/t-m68kbare 1454 tm_defines="${tm_defines} MOTOROLA USE_GAS" 1455 tm_file="m68k/m68k.h m68k/m68k-none.h m68k/m68kemb.h dbxcoff.h m68k/coff.h dbx.h" 1456 use_fixproto=yes 1457 ;; 1458m68020-*-elf* | m68k-*-elf*) 1459 tm_file="m68k/m68k.h m68k/m68k-none.h m68k/m68kelf.h dbxelf.h elfos.h m68k/m68kemb.h m68k/m68020-elf.h" 1460 tm_defines="${tm_defines} MOTOROLA USE_GAS" 1461 tmake_file=m68k/t-m68kelf 1462 extra_parts="crtbegin.o crtend.o" 1463 ;; 1464m68010-*-netbsdelf* | m68k*-*-netbsdelf*) 1465 tm_file="${tm_file} dbxelf.h elfos.h netbsd.h netbsd-elf.h m68k/netbsd-elf.h" 1466 tm_defines="${tm_defines} MOTOROLA USE_GAS" 1467 case ${target} in 1468 m68010*) 1469 target_cpu_default="0" 1470 ;; 1471 *) 1472 target_cpu_default="MASK_68020|MASK_68881|MASK_BITFIELD" 1473 ;; 1474 esac 1475 ;; 1476m68k*-*-openbsd*) 1477 # needed to unconfuse gdb 1478 tm_defines="${tm_defines} OBSD_OLD_GAS TARGET_DEFAULT=(MASK_68020|MASK_68881|MASK_BITFIELD)" 1479 tm_file="m68k/m68k.h openbsd.h m68k/openbsd.h" 1480 tmake_file="t-libc-ok t-openbsd m68k/t-openbsd" 1481 # we need collect2 until our bug is fixed... 1482 use_collect2=yes 1483 ;; 1484m68k-*-uclinux*) # Motorola m68k/ColdFire running uClinux with uClibc 1485 tm_file="m68k/m68k.h m68k/m68k-none.h m68k/m68kelf.h dbxelf.h elfos.h m68k/uclinux.h" 1486 tm_defines="${tm_defines} MOTOROLA USE_GAS" 1487 tmake_file=m68k/t-uclinux 1488 use_fixproto=no 1489 ;; 1490m68k-*-linux*) # Motorola m68k's running GNU/Linux 1491 # with ELF format using glibc 2 1492 # aka the GNU/Linux C library 6. 1493 tm_file="m68k/m68k.h dbxelf.h elfos.h svr4.h linux.h m68k/linux.h" 1494 extra_options="${extra_options} m68k/ieee.opt" 1495 tm_defines="${tm_defines} MOTOROLA USE_GAS" 1496 # if not configured with --enable-sjlj-exceptions, bump the 1497 # libgcc version number 1498 if test x$sjlj != x1; then 1499 tmake_file="$tmake_file m68k/t-slibgcc-elf-ver" 1500 fi 1501 ;; 1502m68k-*-rtems*) 1503 tmake_file="m68k/t-m68kbare m68k/t-crtstuff t-rtems m68k/t-rtems" 1504 tm_file="m68k/m68k.h m68k/m68k-none.h m68k/m68kelf.h dbxelf.h elfos.h m68k/m68kemb.h m68k/m68020-elf.h m68k/rtemself.h rtems.h" 1505 tm_defines="${tm_defines} MOTOROLA USE_GAS" 1506 extra_parts="crtbegin.o crtend.o" 1507 ;; 1508mcore-*-elf) 1509 tm_file="dbxelf.h elfos.h svr4.h ${tm_file} mcore/mcore-elf.h" 1510 tmake_file=mcore/t-mcore 1511 use_fixproto=yes 1512 ;; 1513mcore-*-pe*) 1514 tm_file="svr3.h dbxcoff.h ${tm_file} mcore/mcore-pe.h" 1515 tmake_file=mcore/t-mcore-pe 1516 use_fixproto=yes 1517 ;; 1518mips-sgi-irix[56]*) 1519 tm_file="elfos.h ${tm_file} mips/iris.h" 1520 tmake_file="mips/t-iris mips/t-slibgcc-irix" 1521 target_cpu_default="MASK_ABICALLS" 1522 case ${target} in 1523 *-*-irix5*) 1524 tm_file="${tm_file} mips/iris5.h" 1525 ;; 1526 1527 *-*-irix6*) 1528 tm_file="${tm_file} mips/iris6.h" 1529 tmake_file="${tmake_file} mips/t-iris6" 1530 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_N32" 1531 ;; 1532 esac 1533 if test "x$stabs" = xyes 1534 then 1535 tm_file="${tm_file} dbx.h mips/dbxmdebug.h" 1536 fi 1537 if test "x$gnu_ld" = xyes 1538 then 1539 tm_defines="${tm_defines} IRIX_USING_GNU_LD" 1540 fi 1541# if test x$enable_threads = xyes; then 1542# thread_file='irix' 1543# fi 1544 use_fixproto=yes 1545 ;; 1546mips*-*-netbsd*) # NetBSD/mips, either endian. 1547 target_cpu_default="MASK_ABICALLS" 1548 tm_file="elfos.h ${tm_file} mips/elf.h netbsd.h netbsd-elf.h mips/netbsd.h" 1549 ;; 1550mips64*-*-linux*) 1551 tm_file="dbxelf.h elfos.h svr4.h linux.h ${tm_file} mips/linux.h mips/linux64.h" 1552 tmake_file="${tmake_file} mips/t-linux64" 1553 tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_N32" 1554 gnu_ld=yes 1555 gas=yes 1556 ;; 1557mips*-*-linux*) # Linux MIPS, either endian. 1558 tm_file="dbxelf.h elfos.h svr4.h linux.h ${tm_file} mips/linux.h" 1559 case ${target} in 1560 mipsisa32*-*) 1561 target_cpu_default="MASK_SOFT_FLOAT" 1562 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=32" 1563 ;; 1564 esac 1565 ;; 1566mips*-*-openbsd*) 1567 tm_defines="${tm_defines} OBSD_HAS_DECLARE_FUNCTION_NAME OBSD_HAS_DECLARE_OBJECT OBSD_HAS_CORRECT_SPECS" 1568 target_cpu_default="MASK_ABICALLS" 1569 tm_file="mips/mips.h openbsd.h mips/openbsd.h mips/sdb.h" 1570 case ${target} in 1571 mips*el-*-openbsd*) 1572 tm_defines="${tm_defines} TARGET_ENDIAN_DEFAULT=0";; 1573 *) tm_defines="${tm_defines} TARGET_ENDIAN_DEFAULT=MASK_BIG_ENDIAN";; 1574 esac 1575 ;; 1576mipsisa32-*-elf* | mipsisa32el-*-elf*) 1577 tm_file="elfos.h ${tm_file} mips/elf.h" 1578 tmake_file=mips/t-isa3264 1579 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=32 MIPS_ABI_DEFAULT=ABI_EABI" 1580 use_fixproto=yes 1581 ;; 1582mipsisa32r2-*-elf* | mipsisa32r2el-*-elf*) 1583 tm_file="elfos.h ${tm_file} mips/elf.h" 1584 tmake_file=mips/t-isa3264 1585 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33 MIPS_ABI_DEFAULT=ABI_EABI" 1586 use_fixproto=yes 1587 ;; 1588mipsisa64-*-elf* | mipsisa64el-*-elf*) 1589 tm_file="elfos.h ${tm_file} mips/elf.h" 1590 tmake_file=mips/t-isa3264 1591 target_cpu_default="MASK_64BIT|MASK_FLOAT64" 1592 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64 MIPS_ABI_DEFAULT=ABI_EABI" 1593 use_fixproto=yes 1594 ;; 1595mipsisa64sr71k-*-elf*) 1596 tm_file="elfos.h ${tm_file} mips/elf.h" 1597 tmake_file=mips/t-sr71k 1598 target_cpu_default="MASK_64BIT|MASK_FLOAT64" 1599 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64 MIPS_CPU_STRING_DEFAULT=\\\"sr71000\\\" MIPS_ABI_DEFAULT=ABI_EABI" 1600 use_fixproto=yes 1601 ;; 1602mipsisa64sb1-*-elf* | mipsisa64sb1el-*-elf*) 1603 tm_file="elfos.h ${tm_file} mips/elf.h" 1604 tmake_file="mips/t-elf mips/t-sb1" 1605 target_cpu_default="MASK_64BIT|MASK_FLOAT64" 1606 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64 MIPS_CPU_STRING_DEFAULT=\\\"sb1\\\" MIPS_ABI_DEFAULT=ABI_O64" 1607 use_fixproto=yes 1608 ;; 1609mips-*-elf* | mipsel-*-elf*) 1610 tm_file="elfos.h ${tm_file} mips/elf.h" 1611 tmake_file=mips/t-elf 1612 use_fixproto=yes 1613 ;; 1614mips64-*-elf* | mips64el-*-elf*) 1615 tm_file="elfos.h ${tm_file} mips/elf.h" 1616 tmake_file=mips/t-elf 1617 target_cpu_default="MASK_64BIT|MASK_FLOAT64" 1618 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64" 1619 use_fixproto=yes 1620 ;; 1621mips64vr-*-elf* | mips64vrel-*-elf*) 1622 tm_file="mips/vr.h elfos.h ${tm_file} mips/elf.h" 1623 tmake_file=mips/t-vr 1624 use_fixproto=yes 1625 ;; 1626mips64orion-*-elf* | mips64orionel-*-elf*) 1627 tm_file="elfos.h ${tm_file} mips/elforion.h mips/elf.h" 1628 tmake_file=mips/t-elf 1629 target_cpu_default="MASK_64BIT|MASK_FLOAT64" 1630 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64" 1631 use_fixproto=yes 1632 ;; 1633mips*-*-rtems*) 1634 tm_file="elfos.h ${tm_file} mips/elf.h mips/rtems.h rtems.h" 1635 tmake_file="mips/t-elf t-rtems mips/t-rtems" 1636 ;; 1637mips-wrs-vxworks) 1638 # We want vxworks.h after mips/elf.h, which unfortunately means we 1639 # have to redo the tm_file list from scratch. 1640 tm_file="elfos.h mips/mips.h svr4.h mips/elf.h vxworks.h mips/vxworks.h" 1641 tmake_file="${tmake_file} mips/t-vxworks" 1642 ;; 1643mips-wrs-windiss) # Instruction-level simulator for VxWorks. 1644 xm_defines=POSIX 1645 tm_file="elfos.h mips/mips.h svr4.h mips/elf.h windiss.h mips/windiss.h" 1646 tmake_file="${tmake_file} mips/t-elf" 1647 thread_file= 1648 ;; 1649mipstx39-*-elf* | mipstx39el-*-elf*) 1650 tm_file="elfos.h ${tm_file} mips/r3900.h mips/elf.h" 1651 tmake_file=mips/t-r3900 1652 use_fixproto=yes 1653 ;; 1654mmix-knuth-mmixware) 1655 need_64bit_hwint=yes 1656 ;; 1657mn10300-*-*) 1658 tm_file="dbxelf.h elfos.h svr4.h ${tm_file}" 1659 if test x$stabs = xyes 1660 then 1661 tm_file="${tm_file} dbx.h" 1662 fi 1663 use_collect2=no 1664 use_fixproto=yes 1665 ;; 1666mt-*-elf) 1667 tm_file="dbxelf.h elfos.h svr4.h ${tm_file}" 1668 tmake_file="${tmake_file} mt/t-mt" 1669 ;; 1670ns32k-*-netbsdelf*) 1671 echo "GCC does not yet support the ${target} target"; exit 1 1672 ;; 1673ns32k-*-netbsd*) 1674 tm_file="${tm_file} netbsd.h netbsd-aout.h ns32k/netbsd.h" 1675 # On NetBSD, the headers are already okay, except for math.h. 1676 tmake_file="t-netbsd ns32k/t-ns32k" 1677 extra_parts="" 1678 use_collect2=yes 1679 ;; 1680pdp11-*-bsd) 1681 tm_file="${tm_file} pdp11/2bsd.h" 1682 use_fixproto=yes 1683 ;; 1684pdp11-*-*) 1685 use_fixproto=yes 1686 ;; 1687# port not yet contributed 1688#powerpc-*-openbsd*) 1689# tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-fprules-fpbit " 1690# extra_headers= 1691# ;; 1692powerpc64-*-linux*) 1693 tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h" 1694 test x$with_cpu != x || cpu_is_64bit=yes 1695 test x$cpu_is_64bit != xyes || tm_file="${tm_file} rs6000/default64.h" 1696 tm_file="rs6000/biarch64.h ${tm_file} rs6000/linux64.h" 1697 if test x${enable_secureplt} = xyes; then 1698 tm_file="rs6000/secureplt.h ${tm_file}" 1699 fi 1700 extra_options="${extra_options} rs6000/sysv4.opt rs6000/linux64.opt" 1701 tmake_file="t-dfprules rs6000/t-fprules ${tmake_file} rs6000/t-ppccomm rs6000/t-linux64 rs6000/t-fprules-softfp soft-fp/t-softfp" 1702 ;; 1703powerpc64-*-gnu*) 1704 tm_file="${cpu_type}/${cpu_type}.h elfos.h svr4.h freebsd-spec.h gnu.h rs6000/sysv4.h rs6000/linux64.h rs6000/gnu.h" 1705 extra_options="${extra_options} rs6000/sysv4.opt rs6000/linux64.opt" 1706 tmake_file="rs6000/t-fprules t-slibgcc-elf-ver t-gnu rs6000/t-linux64 rs6000/t-fprules-softfp soft-fp/t-softfp" 1707 ;; 1708powerpc-*-beos*) 1709 tm_file="${tm_file} rs6000/aix.h rs6000/beos.h rs6000/xcoff.h" 1710 tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-beos" 1711 extra_headers= 1712 use_fixproto=yes 1713 ;; 1714powerpc-*-darwin*) 1715 extra_options="${extra_options} rs6000/darwin.opt" 1716 extra_parts="crt2.o" 1717 case ${target} in 1718 *-darwin1[0-9]* | *-darwin[8-9]*) 1719 tmake_file="${tmake_file} rs6000/t-darwin8" 1720 tm_file="${tm_file} rs6000/darwin8.h" 1721 ;; 1722 *-darwin7*) 1723 tm_file="${tm_file} rs6000/darwin7.h" 1724 ;; 1725 *-darwin[0-6]*) 1726 ;; 1727 esac 1728 extra_headers=altivec.h 1729 ;; 1730powerpc64-*-darwin*) 1731 tm_file="${tm_file} ${cpu_type}/darwin8.h ${cpu_type}/darwin64.h" 1732 extra_options="${extra_options} ${cpu_type}/darwin.opt" 1733 # We're omitting t-darwin8 to avoid building any multilibs 1734 extra_headers=altivec.h 1735 ;; 1736powerpc*-*-freebsd*) 1737 tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file} rs6000/sysv4.h rs6000/freebsd.h" 1738 tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm" 1739 extra_options="${extra_options} rs6000/sysv4.opt" 1740 ;; 1741powerpc-*-netbsd*) 1742 tm_file="${tm_file} dbxelf.h elfos.h netbsd.h netbsd-elf.h freebsd-spec.h rs6000/sysv4.h rs6000/netbsd.h" 1743 tmake_file="${tmake_file} rs6000/t-netbsd" 1744 extra_options="${extra_options} rs6000/sysv4.opt" 1745 ;; 1746powerpc-*-chorusos*) 1747 tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h chorus.h" 1748 tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcos rs6000/t-ppccomm" 1749 extra_options="${extra_options} rs6000/sysv4.opt" 1750 case ${enable_threads} in 1751 yes | posix) 1752 thread_file='posix' 1753 ;; 1754 esac 1755 use_fixproto=yes 1756 ;; 1757powerpc-*-eabispe*) 1758 tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/eabispe.h" 1759 extra_options="${extra_options} rs6000/sysv4.opt" 1760 tmake_file="rs6000/t-spe rs6000/t-ppccomm" 1761 ;; 1762powerpc-*-eabisimaltivec*) 1763 tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/eabisim.h rs6000/eabialtivec.h" 1764 extra_options="${extra_options} rs6000/sysv4.opt" 1765 tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcendian rs6000/t-ppccomm" 1766 ;; 1767powerpc-*-eabisim*) 1768 tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/eabisim.h" 1769 extra_options="${extra_options} rs6000/sysv4.opt" 1770 tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm" 1771 ;; 1772powerpc-*-elf*) 1773 tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h" 1774 extra_options="${extra_options} rs6000/sysv4.opt" 1775 tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm" 1776 use_fixproto=yes 1777 ;; 1778powerpc-*-eabialtivec*) 1779 tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/eabialtivec.h" 1780 extra_options="${extra_options} rs6000/sysv4.opt" 1781 tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcendian rs6000/t-ppccomm" 1782 ;; 1783powerpc-*-eabi*) 1784 tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h" 1785 extra_options="${extra_options} rs6000/sysv4.opt" 1786 tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm" 1787 ;; 1788powerpc-*-rtems*) 1789 tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/rtems.h rtems.h" 1790 extra_options="${extra_options} rs6000/sysv4.opt" 1791 tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-rtems t-rtems rs6000/t-ppccomm" 1792 ;; 1793powerpc-*-linux*altivec*) 1794 tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/linux.h rs6000/linuxaltivec.h" 1795 extra_options="${extra_options} rs6000/sysv4.opt" 1796 tmake_file="rs6000/t-fprules rs6000/t-fprules-softfp soft-fp/t-softfp rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm" 1797 ;; 1798powerpc-*-linux*spe*) 1799 tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/linux.h rs6000/linuxspe.h" 1800 extra_options="${extra_options} rs6000/sysv4.opt" 1801 tmake_file="rs6000/t-fprules rs6000/t-fprules-softfp soft-fp/t-softfp rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm" 1802 ;; 1803powerpc-*-linux*) 1804 tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h" 1805 extra_options="${extra_options} rs6000/sysv4.opt" 1806 tmake_file="t-dfprules rs6000/t-fprules rs6000/t-fprules-softfp soft-fp/t-softfp rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm" 1807 case ${enable_targets}:${cpu_is_64bit} in 1808 *powerpc64* | all:* | *:yes) 1809 if test x$cpu_is_64bit = xyes; then 1810 tm_file="${tm_file} rs6000/default64.h" 1811 fi 1812 tm_file="rs6000/biarch64.h ${tm_file} rs6000/linux64.h" 1813 tmake_file="$tmake_file rs6000/t-linux64" 1814 extra_options="${extra_options} rs6000/linux64.opt" 1815 ;; 1816 *) 1817 tm_file="${tm_file} rs6000/linux.h" 1818 ;; 1819 esac 1820 if test x${enable_secureplt} = xyes; then 1821 tm_file="rs6000/secureplt.h ${tm_file}" 1822 fi 1823 ;; 1824powerpc-*-gnu-gnualtivec*) 1825 tm_file="${cpu_type}/${cpu_type}.h elfos.h svr4.h freebsd-spec.h gnu.h rs6000/sysv4.h rs6000/linux.h rs6000/linuxaltivec.h rs6000/gnu.h" 1826 extra_options="${extra_options} rs6000/sysv4.opt" 1827 tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcos t-slibgcc-elf-ver t-gnu rs6000/t-ppccomm" 1828 if test x$enable_threads = xyes; then 1829 thread_file='posix' 1830 fi 1831 ;; 1832powerpc-*-gnu*) 1833 tm_file="${cpu_type}/${cpu_type}.h elfos.h svr4.h freebsd-spec.h gnu.h rs6000/sysv4.h rs6000/linux.h rs6000/gnu.h" 1834 tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcos t-slibgcc-elf-ver t-gnu rs6000/t-ppccomm" 1835 extra_options="${extra_options} rs6000/sysv4.opt" 1836 if test x$enable_threads = xyes; then 1837 thread_file='posix' 1838 fi 1839 ;; 1840powerpc-wrs-vxworks|powerpc-wrs-vxworksae) 1841 # We want vxworks.h after rs6000/sysv4.h, which unfortunately 1842 # means we have to redo the tm_file list from scratch. 1843 tm_file="rs6000/rs6000.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h" 1844 tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppccomm rs6000/t-vxworks" 1845 extra_options="${extra_options} rs6000/sysv4.opt" 1846 extra_headers=ppc-asm.h 1847 case ${target} in 1848 *-vxworksae*) 1849 tm_file="${tm_file} vx-common.h vxworksae.h rs6000/vxworks.h rs6000/vxworksae.h" 1850 tmake_file="${tmake_file} rs6000/t-vxworksae" 1851 ;; 1852 *-vxworks*) 1853 tm_file="${tm_file} vx-common.h vxworks.h rs6000/vxworks.h" 1854 ;; 1855 esac 1856 ;; 1857powerpc-wrs-windiss*) # Instruction-level simulator for VxWorks. 1858 tm_file="${tm_file} elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/windiss.h" 1859 tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm" 1860 extra_options="${extra_options} rs6000/sysv4.opt" 1861 thread_file="" 1862 use_fixproto=yes 1863 ;; 1864powerpc-*-lynxos*) 1865 xm_defines=POSIX 1866 tm_file="${tm_file} dbxelf.h elfos.h rs6000/sysv4.h rs6000/lynx.h lynx.h" 1867 tmake_file="t-lynx rs6000/t-lynx" 1868 extra_options="${extra_options} rs6000/sysv4.opt lynx.opt" 1869 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o" 1870 extra_options="${extra_options} lynx.opt" 1871 thread_file=lynx 1872 gnu_ld=yes 1873 gas=yes 1874 ;; 1875powerpcle-*-sysv*) 1876 tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/sysv4le.h" 1877 tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcos rs6000/t-ppccomm" 1878 extra_options="${extra_options} rs6000/sysv4.opt" 1879 use_fixproto=yes 1880 ;; 1881powerpcle-*-elf*) 1882 tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/sysv4le.h" 1883 tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm" 1884 extra_options="${extra_options} rs6000/sysv4.opt" 1885 use_fixproto=yes 1886 ;; 1887powerpcle-*-eabisim*) 1888 tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/sysv4le.h rs6000/eabi.h rs6000/eabisim.h" 1889 tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm" 1890 extra_options="${extra_options} rs6000/sysv4.opt" 1891 ;; 1892powerpcle-*-eabi*) 1893 tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/sysv4le.h rs6000/eabi.h" 1894 tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm" 1895 extra_options="${extra_options} rs6000/sysv4.opt" 1896 ;; 1897powerpc-*-kaos*) 1898 tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h kaos.h rs6000/kaos-ppc.h" 1899 tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm" 1900 extra_options="${extra_options} rs6000/sysv4.opt" 1901 ;; 1902powerpcle-*-kaos*) 1903 tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/sysv4le.h kaos.h rs6000/kaos-ppc.h" 1904 tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm" 1905 extra_options="${extra_options} rs6000/sysv4.opt" 1906 ;; 1907rs6000-ibm-aix4.[12]* | powerpc-ibm-aix4.[12]*) 1908 tm_file="${tm_file} rs6000/aix.h rs6000/aix41.h rs6000/xcoff.h" 1909 tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-newas" 1910 extra_options="${extra_options} rs6000/aix41.opt" 1911 use_collect2=yes 1912 extra_headers= 1913 use_fixproto=yes 1914 ;; 1915rs6000-ibm-aix4.[3456789]* | powerpc-ibm-aix4.[3456789]*) 1916 tm_file="rs6000/biarch64.h ${tm_file} rs6000/aix.h rs6000/aix43.h rs6000/xcoff.h" 1917 tmake_file=rs6000/t-aix43 1918 extra_options="${extra_options} rs6000/aix64.opt" 1919 use_collect2=yes 1920 thread_file='aix' 1921 extra_headers= 1922 ;; 1923rs6000-ibm-aix5.1.* | powerpc-ibm-aix5.1.*) 1924 tm_file="rs6000/biarch64.h ${tm_file} rs6000/aix.h rs6000/aix51.h rs6000/xcoff.h" 1925 extra_options="${extra_options} rs6000/aix64.opt" 1926 tmake_file=rs6000/t-aix43 1927 use_collect2=yes 1928 thread_file='aix' 1929 extra_headers= 1930 ;; 1931rs6000-ibm-aix[56789].* | powerpc-ibm-aix[56789].*) 1932 tm_file="${tm_file} rs6000/aix.h rs6000/aix52.h rs6000/xcoff.h" 1933 tmake_file=rs6000/t-aix52 1934 extra_options="${extra_options} rs6000/aix64.opt" 1935 use_collect2=yes 1936 thread_file='aix' 1937 extra_headers= 1938 ;; 1939s390-*-linux*) 1940 tm_file="s390/s390.h dbxelf.h elfos.h svr4.h linux.h s390/linux.h" 1941 tmake_file="${tmake_file} t-dfprules s390/t-crtstuff s390/t-linux" 1942 ;; 1943s390x-*-linux*) 1944 tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h svr4.h linux.h s390/linux.h" 1945 tm_p_file=s390/s390-protos.h 1946 md_file=s390/s390.md 1947 extra_modes=s390/s390-modes.def 1948 out_file=s390/s390.c 1949 tmake_file="${tmake_file} t-dfprules s390/t-crtstuff s390/t-linux s390/t-linux64" 1950 ;; 1951s390x-ibm-tpf*) 1952 tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h svr4.h s390/tpf.h" 1953 tm_p_file=s390/s390-protos.h 1954 md_file=s390/s390.md 1955 extra_modes=s390/s390-modes.def 1956 out_file=s390/s390.c 1957 extra_parts="crtbeginS.o crtendS.o" 1958 tmake_file="s390/t-crtstuff s390/t-tpf" 1959 thread_file='tpf' 1960 extra_options="${extra_options} s390/tpf.opt" 1961 ;; 1962score-*-elf) 1963 tm_file="dbxelf.h elfos.h score/elf.h score/score.h" 1964 tmake_file=score/t-score-elf 1965 extra_objs="score-mdaux.o" 1966 ;; 1967sh-*-elf* | sh[12346l]*-*-elf* | sh*-*-kaos* | \ 1968sh-*-symbianelf* | sh[12346l]*-*-symbianelf* | \ 1969 sh-*-linux* | sh[346lbe]*-*-linux* | \ 1970 sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \ 1971 sh64-*-netbsd* | sh64l*-*-netbsd*) 1972 tmake_file="${tmake_file} sh/t-sh sh/t-elf" 1973 if test x${with_endian} = x; then 1974 case ${target} in 1975 sh[1234]*be-*-* | sh[1234]*eb-*-*) with_endian=big ;; 1976 shbe-*-* | sheb-*-*) with_endian=big,little ;; 1977 sh[1234]l* | sh[34]*-*-linux*) with_endian=little ;; 1978 shl* | sh64l* | sh*-*-linux* | \ 1979 sh5l* | sh-superh-elf) with_endian=little,big ;; 1980 sh[1234]*-*-*) with_endian=big ;; 1981 *) with_endian=big,little ;; 1982 esac 1983 fi 1984 case ${with_endian} in 1985 big|little) tmake_file="${tmake_file} sh/t-1e" ;; 1986 big,little|little,big) ;; 1987 *) echo "with_endian=${with_endian} not supported."; exit 1 ;; 1988 esac 1989 case ${with_endian} in 1990 little*) tm_file="sh/little.h ${tm_file}" ;; 1991 esac 1992 tm_file="${tm_file} dbxelf.h elfos.h" 1993 case ${target} in 1994 sh*-*-netbsd*) ;; 1995 *) tm_file="${tm_file} svr4.h" ;; 1996 esac 1997 tm_file="${tm_file} sh/elf.h" 1998 case ${target} in 1999 sh*-*-linux*) tmake_file="${tmake_file} sh/t-linux" 2000 tm_file="${tm_file} linux.h sh/linux.h" ;; 2001 sh*-*-kaos*) tm_file="${tm_file} sh/embed-elf.h kaos.h sh/kaos-sh.h" 2002 ;; 2003 sh*-*-netbsd*) tm_file="${tm_file} netbsd.h netbsd-elf.h sh/netbsd-elf.h" ;; 2004 sh*-superh-elf) if test x$with_libgloss != xno; then 2005 with_libgloss=yes 2006 tm_file="${tm_file} sh/newlib.h" 2007 fi 2008 tm_file="${tm_file} sh/embed-elf.h" 2009 extra_options="${extra_options} sh/superh.opt" ;; 2010 *) if test x$with_newlib = xyes \ 2011 && test x$with_libgloss = xyes; then 2012 tm_file="${tm_file} sh/newlib.h" 2013 fi 2014 tm_file="${tm_file} sh/embed-elf.h" ;; 2015 esac 2016 case ${target} in 2017 sh5*-*-netbsd*) 2018 # SHmedia, 32-bit ABI 2019 tmake_file="${tmake_file} sh/t-sh64 sh/t-netbsd" 2020 ;; 2021 sh64*-netbsd*) 2022 # SHmedia, 64-bit ABI 2023 tmake_file="${tmake_file} sh/t-sh64 sh/t-netbsd sh/t-netbsd-sh5-64" 2024 ;; 2025 *-*-netbsd) 2026 tmake_file="${tmake_file} sh/t-netbsd" 2027 ;; 2028 sh64*-*-linux*) 2029 tmake_file="${tmake_file} sh/t-sh64 sh/t-linux64" 2030 tm_file="${tm_file} sh/sh64.h" 2031 extra_headers="shmedia.h ushmedia.h sshmedia.h" 2032 ;; 2033 sh64*) 2034 tmake_file="${tmake_file} sh/t-sh64" 2035 tm_file="${tm_file} sh/sh64.h" 2036 extra_headers="shmedia.h ushmedia.h sshmedia.h" 2037 ;; 2038 *-*-symbianelf*) 2039 tmake_file="sh/t-symbian" 2040 tm_file="sh/symbian-pre.h sh/little.h ${tm_file} sh/symbian-post.h" 2041 extra_objs="symbian.o" 2042 extra_parts="crt1.o crti.o crtn.o crtbegin.o crtend.o crtbeginS.o crtendS.o" 2043 ;; 2044 esac 2045 # sed el/eb endian suffixes away to avoid confusion with sh[23]e 2046 case `echo ${target} | sed 's/e[lb]-/-/'` in 2047 sh64*-*-netbsd*) sh_cpu_target=sh5-64media ;; 2048 sh64* | sh5*-*-netbsd*) sh_cpu_target=sh5-32media ;; 2049 sh4a_single_only*) sh_cpu_target=sh4a-single-only ;; 2050 sh4a_single*) sh_cpu_target=sh4a-single ;; 2051 sh4a_nofpu*) sh_cpu_target=sh4a-nofpu ;; 2052 sh4al) sh_cpu_target=sh4al ;; 2053 sh4a*) sh_cpu_target=sh4a ;; 2054 sh4_single_only*) sh_cpu_target=sh4-single-only ;; 2055 sh4_single*) sh_cpu_target=sh4-single ;; 2056 sh4_nofpu*) sh_cpu_target=sh4-nofpu ;; 2057 sh4* | sh-superh-*) sh_cpu_target=sh4 ;; 2058 sh3e*) sh_cpu_target=sh3e ;; 2059 sh*-*-netbsd* | sh3*) sh_cpu_target=sh3 ;; 2060 sh2a_single_only*) sh_cpu_target=sh2a-single-only ;; 2061 sh2a_single*) sh_cpu_target=sh2a-single ;; 2062 sh2a_nofpu*) sh_cpu_target=sh2a-nofpu ;; 2063 sh2a*) sh_cpu_target=sh2a ;; 2064 sh2e*) sh_cpu_target=sh2e ;; 2065 sh2*) sh_cpu_target=sh2 ;; 2066 *) sh_cpu_target=sh1 ;; 2067 esac 2068 # did the user say --without-fp ? 2069 if test x$with_fp = xno; then 2070 case ${sh_cpu_target} in 2071 sh5-*media) sh_cpu_target=${sh_cpu_target}-nofpu ;; 2072 sh4al | sh1) ;; 2073 sh4a* ) sh_cpu_target=sh4a-nofpu ;; 2074 sh4*) sh_cpu_target=sh4-nofpu ;; 2075 sh3*) sh_cpu_target=sh3 ;; 2076 sh2a*) sh_cpu_target=sh2a-nofpu ;; 2077 sh2*) sh_cpu_target=sh2 ;; 2078 *) echo --without-fp not available for $target: ignored 2079 esac 2080 tm_defines="$tm_defines STRICT_NOFPU=1" 2081 fi 2082 sh_cpu_default="`echo $with_cpu|sed s/^m/sh/|tr A-Z_ a-z-`" 2083 case $sh_cpu_default in 2084 sh5-64media-nofpu | sh5-64media | \ 2085 sh5-32media-nofpu | sh5-32media | sh5-compact-nofpu | sh5-compact | \ 2086 sh2a-single-only | sh2a-single | sh2a-nofpu | sh2a | \ 2087 sh4a-single-only | sh4a-single | sh4a-nofpu | sh4a | sh4al | \ 2088 sh4-single-only | sh4-single | sh4-nofpu | sh4 | \ 2089 sh3e | sh3 | sh2e | sh2 | sh1) ;; 2090 "") sh_cpu_default=${sh_cpu_target} ;; 2091 *) echo "with_cpu=$with_cpu not supported"; exit 1 ;; 2092 esac 2093 sh_multilibs=${with_multilib_list} 2094 if test x${sh_multilibs} = x ; then 2095 case ${target} in 2096 sh64-superh-linux* | \ 2097 sh[1234]*) sh_multilibs=${sh_cpu_target} ;; 2098 sh64* | sh5*) sh_multilibs=m5-32media,m5-32media-nofpu,m5-compact,m5-compact-nofpu,m5-64media,m5-64media-nofpu ;; 2099 sh-superh-*) sh_multilibs=m4,m4-single,m4-single-only,m4-nofpu ;; 2100 sh*-*-linux*) sh_multilibs=m1,m3e,m4 ;; 2101 sh*-*-netbsd*) sh_multilibs=m3,m3e,m4 ;; 2102 *) sh_multilibs=m1,m2,m2e,m4,m4-single,m4-single-only,m2a,m2a-single ;; 2103 esac 2104 if test x$with_fp = xno; then 2105 sh_multilibs="`echo $sh_multilibs|sed -e s/m4/sh4-nofpu/ -e s/,m4-[^,]*//g -e s/,m[23]e// -e s/m2a,m2a-single/m2a-nofpu/ -e s/m5-..m....,//g`" 2106 fi 2107 fi 2108 target_cpu_default=SELECT_`echo ${sh_cpu_default}|tr abcdefghijklmnopqrstuvwxyz- ABCDEFGHIJKLMNOPQRSTUVWXYZ_` 2109 tm_defines=${tm_defines}' SH_MULTILIB_CPU_DEFAULT=\"'`echo $sh_cpu_default|sed s/sh/m/`'\"' 2110 sh_multilibs=`echo $sh_multilibs,$sh_cpu_default | sed -e 's/[ ,/][ ,]*/ /g' -e 's/ $//' -e 's/^m/sh/' -e 's/ m/ sh/g' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ_ abcdefghijklmnopqrstuvwxyz-` 2111 for sh_multilib in ${sh_multilibs}; do 2112 case ${sh_multilib} in 2113 sh1 | sh2 | sh2e | sh3 | sh3e | \ 2114 sh4 | sh4-single | sh4-single-only | sh4-nofpu | \ 2115 sh4a | sh4a-single | sh4a-single-only | sh4a-nofpu | sh4al | \ 2116 sh2a | sh2a-single | sh2a-single-only | sh2a-nofpu | \ 2117 sh5-64media | sh5-64media-nofpu | \ 2118 sh5-32media | sh5-32media-nofpu | \ 2119 sh5-compact | sh5-compact-nofpu) 2120 tmake_file="${tmake_file} sh/t-mlib-${sh_multilib}" 2121 tm_defines="$tm_defines SUPPORT_`echo $sh_multilib|tr abcdefghijklmnopqrstuvwxyz- ABCDEFGHIJKLMNOPQRSTUVWXYZ_`=1" 2122 ;; 2123 *) 2124 echo "with_multilib_list=${sh_multilib} not supported." 2125 exit 1 2126 ;; 2127 esac 2128 done 2129 if test x${enable_incomplete_targets} = xyes ; then 2130 tm_defines="$tm_defines SUPPORT_SH1=1 SUPPORT_SH2E=1 SUPPORT_SH4=1 SUPPORT_SH4_SINGLE=1 SUPPORT_SH2A=1 SUPPORT_SH2A_SINGLE=1 SUPPORT_SH5_32MEDIA=1 SUPPORT_SH5_32MEDIA_NOFPU=1 SUPPORT_SH5_64MEDIA=1 SUPPORT_SH5_64MEDIA_NOFPU=1" 2131 fi 2132 use_fixproto=yes 2133 ;; 2134sh-*-rtemscoff*) 2135 tmake_file="sh/t-sh t-rtems sh/t-rtems" 2136 tm_file="${tm_file} dbxcoff.h sh/coff.h sh/rtems.h rtems.h" 2137 ;; 2138sh-*-rtems*) 2139 tmake_file="sh/t-sh sh/t-elf t-rtems sh/t-rtems" 2140 tm_file="${tm_file} dbxelf.h elfos.h svr4.h sh/elf.h sh/embed-elf.h sh/rtemself.h rtems.h" 2141 ;; 2142sh-wrs-vxworks) 2143 tmake_file="$tmake_file sh/t-sh sh/t-elf sh/t-vxworks" 2144 tm_file="${tm_file} dbxelf.h elfos.h svr4.h sh/embed-elf.h sh/vxworks.h" 2145 ;; 2146sh-*-*) 2147 tm_file="${tm_file} dbxcoff.h sh/coff.h" 2148 use_fixproto=yes 2149 ;; 2150sparc-*-netbsdelf*) 2151 tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h netbsd.h netbsd-elf.h sparc/netbsd-elf.h" 2152 extra_options="${extra_options} sparc/long-double-switch.opt" 2153 ;; 2154sparc64-*-openbsd*) 2155 tm_file="sparc/openbsd1-64.h ${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sp64-elf.h openbsd.h sparc/openbsd64.h" 2156 extra_options="${extra_options} sparc/little-endian.opt" 2157 gas=yes gnu_ld=yes 2158 with_cpu=ultrasparc 2159 ;; 2160sparc-*-elf*) 2161 tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sp-elf.h" 2162 tmake_file="sparc/t-elf sparc/t-crtfm" 2163 extra_parts="crti.o crtn.o crtbegin.o crtend.o" 2164 use_fixproto=yes 2165 ;; 2166sparc-*-linux*) # SPARC's running GNU/Linux, libc6 2167 tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/linux.h" 2168 extra_options="${extra_options} sparc/long-double-switch.opt" 2169 tmake_file="${tmake_file} sparc/t-linux sparc/t-crtfm" 2170 ;; 2171sparc-*-rtems*) 2172 tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sp-elf.h sparc/rtemself.h rtems.h" 2173 tmake_file="sparc/t-elf sparc/t-crtfm t-rtems" 2174 extra_parts="crti.o crtn.o crtbegin.o crtend.o" 2175 ;; 2176sparc64-*-solaris2* | sparcv9-*-solaris2*) 2177 tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sol2.h" 2178 case ${target} in 2179 *-*-solaris2.1[0-9]*) 2180 tm_file="${tm_file} sol2-10.h" 2181 ;; 2182 esac 2183 tm_file="${tm_file} sparc/sol2.h sparc/sol2-64.h sparc/sol2-bi.h" 2184 if test x$gnu_ld = xyes; then 2185 tm_file="${tm_file} sparc/sol2-gld.h sparc/sol2-gld-bi.h" 2186 fi 2187 if test x$gas = xyes; then 2188 tm_file="${tm_file} sparc/sol2-gas.h sparc/sol2-gas-bi.h" 2189 fi 2190 tm_file="${tm_file} tm-dwarf2.h" 2191 tmake_file="t-sol2 sparc/t-sol2 sparc/t-sol2-64 sparc/t-crtfm" 2192 if test x$gnu_ld = xyes; then 2193 tmake_file="$tmake_file t-slibgcc-elf-ver" 2194 else 2195 tmake_file="$tmake_file t-slibgcc-sld" 2196 fi 2197 c_target_objs="sol2-c.o" 2198 cxx_target_objs="sol2-c.o" 2199 extra_objs="sol2.o" 2200 tm_p_file="${tm_p_file} sol2-protos.h" 2201 extra_parts="crt1.o crti.o crtn.o gcrt1.o crtbegin.o crtend.o" 2202 case ${enable_threads}:${have_pthread_h}:${have_thread_h} in 2203 "":yes:* | yes:yes:* ) thread_file=posix ;; 2204 "":*:yes | yes:*:yes ) thread_file=solaris ;; 2205 esac 2206 need_64bit_hwint=yes 2207 ;; 2208sparc-*-solaris2*) 2209 tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sol2.h" 2210 case ${target} in 2211 *-*-solaris2.[0-6] | *-*-solaris2.[0-6].*) 2212 tm_file="${tm_file} sol2-6.h" 2213 ;; 2214 *-*-solaris2.1[0-9]*) 2215 tm_file="${tm_file} sol2-10.h" 2216 ;; 2217 esac 2218 tm_file="${tm_file} sparc/sol2.h" 2219 if test x$gnu_ld = xyes; then 2220 tm_file="${tm_file} sparc/sol2-gld.h" 2221 fi 2222 if test x$gas = xyes; then 2223 tm_file="${tm_file} sparc/sol2-gas.h" 2224 fi 2225 tmake_file="t-sol2 sparc/t-sol2 sparc/t-crtfm" 2226 if test x$gnu_ld = xyes; then 2227 tmake_file="$tmake_file t-slibgcc-elf-ver" 2228 else 2229 tmake_file="$tmake_file t-slibgcc-sld" 2230 fi 2231 case ${target} in 2232 *-*-solaris2.[0-6] | *-*-solaris2.[0-6].*) 2233 if test x$gnu_ld = xno; then 2234 tm_file="${tm_file} sparc/sol26-sld.h" 2235 fi 2236 ;; 2237 *-*-solaris2.[789] | *-*-solaris2.1[0-9]*) 2238 tm_file="sparc/biarch64.h ${tm_file} sparc/sol2-bi.h" 2239 if test x$gnu_ld = xyes; then 2240 tm_file="${tm_file} sparc/sol2-gld-bi.h" 2241 fi 2242 if test x$gas = xyes; then 2243 tm_file="${tm_file} sparc/sol2-gas-bi.h" 2244 fi 2245 tm_file="${tm_file} tm-dwarf2.h" 2246 tmake_file="$tmake_file sparc/t-sol2-64" 2247 need_64bit_hwint=yes 2248 test x$with_cpu != x || with_cpu=v9 2249 ;; 2250 esac 2251 c_target_objs="sol2-c.o" 2252 cxx_target_objs="sol2-c.o" 2253 extra_objs="sol2.o" 2254 tm_p_file="${tm_p_file} sol2-protos.h" 2255 extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o" 2256 case ${enable_threads}:${have_pthread_h}:${have_thread_h} in 2257 "":yes:* | yes:yes:* ) 2258 case ${target} in 2259 *-*-solaris2.[0-6] | *-*-solaris2.[0-6].*) 2260 thread_file=posix95 2261 ;; 2262 *) 2263 thread_file=posix 2264 ;; 2265 esac 2266 ;; 2267 "":*:yes | yes:*:yes ) 2268 thread_file=solaris 2269 ;; 2270 esac 2271 ;; 2272sparc-*-sysv4*) 2273 tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sysv4-only.h" 2274 tmake_file=t-svr4 2275 extra_parts="crtbegin.o crtend.o" 2276 use_fixproto=yes 2277 ;; 2278sparc64-*-elf*) 2279 tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sp64-elf.h" 2280 extra_options="${extra_options} sparc/little-endian.opt" 2281 tmake_file="${tmake_file} sparc/t-crtfm" 2282 extra_parts="crtbegin.o crtend.o" 2283 use_fixproto=yes 2284 ;; 2285sparc64-*-freebsd*|ultrasparc-*-freebsd*) 2286 tm_file="${tm_file} ${fbsd_tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/freebsd.h" 2287 extra_options="${extra_options} sparc/long-double-switch.opt" 2288 tmake_file="${tmake_file} sparc/t-crtfm" 2289 case "x$with_cpu" in 2290 xultrasparc) ;; 2291 x) with_cpu=ultrasparc ;; 2292 *) echo "$with_cpu not supported for freebsd target"; exit 1 ;; 2293 esac 2294 need_64bit_hwint=yes 2295 ;; 2296sparc64-*-linux*) # 64-bit SPARC's running GNU/Linux 2297 tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/linux64.h" 2298 extra_options="${extra_options} sparc/long-double-switch.opt" 2299 tmake_file="${tmake_file} sparc/t-linux sparc/t-linux64 sparc/t-crtfm" 2300 ;; 2301sparc64-*-netbsd*) 2302 tm_file="sparc/biarch64.h ${tm_file}" 2303 tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h netbsd.h netbsd-elf.h sparc/netbsd-elf.h" 2304 extra_options="${extra_options} sparc/long-double-switch.opt" 2305 tmake_file="${tmake_file} sparc/t-netbsd64" 2306 ;; 2307strongarm-*-elf*) 2308 tm_file="arm/strongarm-elf.h dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h" 2309 tmake_file="arm/t-arm arm/t-strongarm-elf" 2310 out_file=arm/arm.c 2311 md_file=arm/arm.md 2312 extra_modes=arm/arm-modes.def 2313 use_fixproto=yes 2314 ;; 2315strongarm-*-pe) 2316 tm_file="arm/semi.h arm/aout.h arm/coff.h dbxcoff.h arm/strongarm-coff.h arm/arm.h arm/pe.h arm/strongarm-pe.h" 2317 tmake_file="arm/t-arm arm/t-strongarm-pe" 2318 out_file=arm/arm.c 2319 md_file=arm/arm.md 2320 extra_modes=arm/arm-modes.def 2321 extra_options="${extra_options} arm/pe.opt" 2322 extra_objs=pe.o 2323 use_fixproto=yes 2324 ;; 2325strongarm-*-kaos*) 2326 tm_file="arm/strongarm-elf.h dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h kaos.h arm/kaos-strongarm.h" 2327 tmake_file="arm/t-arm arm/t-strongarm-elf" 2328 out_file=arm/arm.c 2329 md_file=arm/arm.md 2330 extra_modes=arm/arm-modes.def 2331 ;; 2332v850e1-*-*) 2333 target_cpu_default="TARGET_CPU_v850e1" 2334 tm_file="dbxelf.h elfos.h svr4.h v850/v850.h" 2335 tm_p_file=v850/v850-protos.h 2336 tmake_file=v850/t-v850e 2337 md_file=v850/v850.md 2338 out_file=v850/v850.c 2339 extra_options="${extra_options} v850/v850.opt" 2340 if test x$stabs = xyes 2341 then 2342 tm_file="${tm_file} dbx.h" 2343 fi 2344 use_collect2=no 2345 c_target_objs="v850-c.o" 2346 cxx_target_objs="v850-c.o" 2347 use_fixproto=yes 2348 ;; 2349v850e-*-*) 2350 target_cpu_default="TARGET_CPU_v850e" 2351 tm_file="dbxelf.h elfos.h svr4.h v850/v850.h" 2352 tm_p_file=v850/v850-protos.h 2353 tmake_file=v850/t-v850e 2354 md_file=v850/v850.md 2355 out_file=v850/v850.c 2356 extra_options="${extra_options} v850/v850.opt" 2357 if test x$stabs = xyes 2358 then 2359 tm_file="${tm_file} dbx.h" 2360 fi 2361 use_collect2=no 2362 c_target_objs="v850-c.o" 2363 cxx_target_objs="v850-c.o" 2364 use_fixproto=yes 2365 ;; 2366v850-*-*) 2367 target_cpu_default="TARGET_CPU_generic" 2368 tm_file="dbxelf.h elfos.h svr4.h ${tm_file}" 2369 tmake_file=v850/t-v850 2370 if test x$stabs = xyes 2371 then 2372 tm_file="${tm_file} dbx.h" 2373 fi 2374 use_collect2=no 2375 c_target_objs="v850-c.o" 2376 cxx_target_objs="v850-c.o" 2377 use_fixproto=yes 2378 ;; 2379vax-*-bsd*) # VAXen running BSD 2380 tm_file="${tm_file} vax/bsd.h" 2381 tmake_file=vax/t-memfuncs 2382 use_collect2=yes 2383 use_fixproto=yes 2384 ;; 2385vax-*-sysv*) # VAXen running system V 2386 tm_file="${tm_file} vax/vaxv.h" 2387 tmake_file=vax/t-memfuncs 2388 use_fixproto=yes 2389 ;; 2390vax-*-netbsdelf*) 2391 tm_file="${tm_file} elfos.h netbsd.h netbsd-elf.h vax/elf.h vax/netbsd-elf.h" 2392 ;; 2393vax-*-netbsd*) 2394 tm_file="${tm_file} netbsd.h netbsd-aout.h vax/netbsd.h" 2395 tmake_file=t-netbsd 2396 extra_parts="" 2397 use_collect2=yes 2398 ;; 2399vax-*-openbsd*) 2400 tm_file="vax/vax.h vax/openbsd1.h openbsd.h vax/openbsd.h" 2401 use_collect2=yes 2402 ;; 2403vax-*-ultrix*) # VAXen running ultrix 2404 tm_file="${tm_file} vax/ultrix.h" 2405 tmake_file=vax/t-memfuncs 2406 use_fixproto=yes 2407 ;; 2408xscale-*-elf) 2409 tm_file="arm/xscale-elf.h dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h" 2410 tmake_file="arm/t-arm arm/t-xscale-elf" 2411 out_file=arm/arm.c 2412 md_file=arm/arm.md 2413 extra_modes=arm/arm-modes.def 2414 use_fixproto=yes 2415 ;; 2416xscale-*-coff) 2417 tm_file="arm/semi.h arm/aout.h arm/coff.h dbxcoff.h arm/xscale-coff.h arm/arm.h" 2418 tmake_file="arm/t-arm arm/t-xscale-coff" 2419 out_file=arm/arm.c 2420 md_file=arm/arm.md 2421 extra_modes=arm/arm-modes.def 2422 use_fixproto=yes 2423 ;; 2424xstormy16-*-elf) 2425 # For historical reasons, the target files omit the 'x'. 2426 tm_file="dbxelf.h elfos.h svr4.h stormy16/stormy16.h" 2427 tm_p_file=stormy16/stormy16-protos.h 2428 md_file=stormy16/stormy16.md 2429 out_file=stormy16/stormy16.c 2430 extra_options=stormy16/stormy16.opt 2431 tmake_file="stormy16/t-stormy16" 2432 extra_parts="crtbegin.o crtend.o" 2433 use_fixproto=yes 2434 ;; 2435xtensa-*-elf*) 2436 tm_file="${tm_file} dbxelf.h elfos.h svr4.h xtensa/elf.h" 2437 tmake_file="xtensa/t-xtensa xtensa/t-elf" 2438 ;; 2439xtensa-*-linux*) 2440 tm_file="${tm_file} dbxelf.h elfos.h svr4.h linux.h xtensa/linux.h" 2441 tmake_file="${tmake_file} xtensa/t-xtensa xtensa/t-linux" 2442 ;; 2443am33_2.0-*-linux*) 2444 tm_file="mn10300/mn10300.h dbxelf.h elfos.h linux.h mn10300/linux.h" 2445 tmake_file="${tmake_file} mn10300/t-linux" 2446 gas=yes gnu_ld=yes 2447 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o" 2448 use_collect2=no 2449 ;; 2450m32c-*-elf*) 2451 tm_file="dbxelf.h elfos.h svr4.h ${tm_file}" 2452 c_target_objs="m32c-pragma.o" 2453 cxx_target_objs="m32c-pragma.o" 2454 use_fixproto=yes 2455 ;; 2456*) 2457 echo "*** Configuration ${target} not supported" 1>&2 2458 exit 1 2459 ;; 2460esac 2461 2462case ${target} in 2463i[34567]86-*-linux*aout* | i[34567]86-*-linux*libc1) 2464 tmake_file="${tmake_file} i386/t-gmm_malloc" 2465 ;; 2466i[34567]86-*-linux* | x86_64-*-linux*) 2467 tmake_file="${tmake_file} i386/t-pmm_malloc" 2468 ;; 2469i[34567]86-*-* | x86_64-*-*) 2470 tmake_file="${tmake_file} i386/t-gmm_malloc" 2471 ;; 2472esac 2473 2474# Support for --with-cpu and related options (and a few unrelated options, 2475# too). 2476case ${with_cpu} in 2477 yes | no) 2478 echo "--with-cpu must be passed a value" 1>&2 2479 exit 1 2480 ;; 2481esac 2482 2483# If there is no $with_cpu option, try to infer one from ${target}. 2484# This block sets nothing except for with_cpu. 2485if test x$with_cpu = x ; then 2486 case ${target} in 2487 ep9312-*-*) 2488 # A Cirrus ARM variant. 2489 with_cpu="ep9312" 2490 ;; 2491 i386-*-*) 2492 with_cpu=i386 2493 ;; 2494 i486-*-*) 2495 with_cpu=i486 2496 ;; 2497 i586-*-*) 2498 case ${target_noncanonical} in 2499 k6_2-*) 2500 with_cpu=k6-2 2501 ;; 2502 k6_3-*) 2503 with_cpu=k6-3 2504 ;; 2505 k6-*) 2506 with_cpu=k6 2507 ;; 2508 pentium_mmx-*|winchip_c6-*|winchip2-*|c3-*) 2509 with_cpu=pentium-mmx 2510 ;; 2511 *) 2512 with_cpu=pentium 2513 ;; 2514 esac 2515 ;; 2516 i686-*-* | i786-*-*) 2517 case ${target_noncanonical} in 2518 k8-*|opteron-*|athlon_64-*) 2519 with_cpu=k8 2520 ;; 2521 athlon_xp-*|athlon_mp-*|athlon_4-*) 2522 with_cpu=athlon-4 2523 ;; 2524 athlon_tbird-*|athlon-*) 2525 with_cpu=athlon 2526 ;; 2527 pentium2-*) 2528 with_cpu=pentium2 2529 ;; 2530 pentium3-*|pentium3m-*) 2531 with_cpu=pentium3 2532 ;; 2533 pentium4-*|pentium4m-*) 2534 with_cpu=pentium4 2535 ;; 2536 prescott-*) 2537 with_cpu=prescott 2538 ;; 2539 nocona-*) 2540 with_cpu=nocona 2541 ;; 2542 core2-*) 2543 with_cpu=core2 2544 ;; 2545 pentium_m-*) 2546 with_cpu=pentium-m 2547 ;; 2548 pentiumpro-*) 2549 with_cpu=pentiumpro 2550 ;; 2551 *) 2552 with_cpu=generic 2553 ;; 2554 esac 2555 ;; 2556 x86_64-*-*) 2557 case ${target_noncanonical} in 2558 k8-*|opteron-*|athlon_64-*) 2559 with_cpu=k8 2560 ;; 2561 nocona-*) 2562 with_cpu=nocona 2563 ;; 2564 core2-*) 2565 with_cpu=core2 2566 ;; 2567 *) 2568 with_cpu=generic 2569 ;; 2570 esac 2571 ;; 2572 alphaev6[78]*-*-*) 2573 with_cpu=ev67 2574 ;; 2575 alphaev6*-*-*) 2576 with_cpu=ev6 2577 ;; 2578 alphapca56*-*-*) 2579 with_cpu=pca56 2580 ;; 2581 alphaev56*-*-*) 2582 with_cpu=ev56 2583 ;; 2584 alphaev5*-*-*) 2585 with_cpu=ev5 2586 ;; 2587 frv-*-*linux* | frv400-*-*linux*) 2588 with_cpu=fr400 2589 ;; 2590 frv550-*-*linux*) 2591 with_cpu=fr550 2592 ;; 2593 sparc*-*-*) 2594 with_cpu="`echo ${target} | sed 's/-.*$//'`" 2595 ;; 2596 esac 2597fi 2598 2599# Similarly for --with-float 2600if test x$with_float = x; then 2601 case ${target} in 2602 ep9312-*-*) 2603 with_float=hard 2604 ;; 2605 esac 2606fi 2607 2608# Similarly for --with-schedule. 2609if test x$with_schedule = x; then 2610 case ${target} in 2611 hppa1* | parisc1*) 2612 # Override default PA8000 scheduling model. 2613 with_schedule=7100LC 2614 ;; 2615 esac 2616fi 2617 2618# Validate and mark as valid any --with options supported 2619# by this target. In order to use a particular --with option 2620# you must list it in supported_defaults; validating the value 2621# is optional. This case statement should set nothing besides 2622# supported_defaults. 2623 2624supported_defaults= 2625case "${target}" in 2626 alpha*-*-*) 2627 supported_defaults="cpu tune" 2628 for which in cpu tune; do 2629 eval "val=\$with_$which" 2630 case "$val" in 2631 "" \ 2632 | ev4 | ev45 | 21064 | ev5 | 21164 | ev56 | 21164a \ 2633 | pca56 | 21164PC | 21164pc | ev6 | 21264 | ev67 \ 2634 | 21264a) 2635 ;; 2636 *) 2637 echo "Unknown CPU used in --with-$which=$val" 1>&2 2638 exit 1 2639 ;; 2640 esac 2641 done 2642 ;; 2643 2644 arm*-*-*) 2645 supported_defaults="arch cpu float tune fpu abi mode" 2646 for which in cpu tune; do 2647 # See if it matches any of the entries in arm-cores.def 2648 eval "val=\$with_$which" 2649 if [ x"$val" = x ] \ 2650 || grep "^ARM_CORE(\"$val\"," \ 2651 ${srcdir}/config/arm/arm-cores.def \ 2652 > /dev/null; then 2653 # Ok 2654 new_val=`grep "^ARM_CORE(\"$val\"," \ 2655 ${srcdir}/config/arm/arm-cores.def | \ 2656 sed -e 's/^[^,]*,[ ]*//' | \ 2657 sed -e 's/,.*$//'` 2658 eval "target_${which}_cname=$new_val" 2659 echo "For $val real value is $new_val" 2660 true 2661 else 2662 echo "Unknown CPU used in --with-$which=$val" 1>&2 2663 exit 1 2664 fi 2665 done 2666 2667 case "$with_arch" in 2668 "" \ 2669 | armv[23456] | armv2a | armv3m | armv4t | armv5t \ 2670 | armv5te | armv6j |armv6k | armv6z | armv6zk \ 2671 | iwmmxt | ep9312) 2672 # OK 2673 ;; 2674 *) 2675 echo "Unknown arch used in --with-arch=$with_arch" 1>&2 2676 exit 1 2677 ;; 2678 esac 2679 2680 case "$with_float" in 2681 "" \ 2682 | soft | hard | softfp) 2683 # OK 2684 ;; 2685 *) 2686 echo "Unknown floating point type used in --with-float=$with_float" 1>&2 2687 exit 1 2688 ;; 2689 esac 2690 2691 case "$with_fpu" in 2692 "" \ 2693 | fpa | fpe2 | fpe3 | maverick | vfp ) 2694 # OK 2695 ;; 2696 *) 2697 echo "Unknown fpu used in --with-fpu=$with_fpu" 2>&1 2698 exit 1 2699 ;; 2700 esac 2701 2702 case "$with_abi" in 2703 "" \ 2704 | apcs-gnu | atpcs | aapcs | iwmmxt ) 2705 #OK 2706 ;; 2707 *) 2708 echo "Unknown ABI used in --with-abi=$with_abi" 2709 exit 1 2710 ;; 2711 esac 2712 2713 case "$with_mode" in 2714 "" \ 2715 | arm | thumb ) 2716 #OK 2717 ;; 2718 *) 2719 echo "Unknown mode used in --with-mode=$with_mode" 2720 exit 1 2721 ;; 2722 esac 2723 2724 if test "x$with_arch" != x && test "x$with_cpu" != x; then 2725 echo "Warning: --with-arch overrides --with-cpu=$with_cpu" 1>&2 2726 fi 2727 ;; 2728 2729 fr*-*-*linux*) 2730 supported_defaults=cpu 2731 case "$with_cpu" in 2732 fr400) ;; 2733 fr550) ;; 2734 *) 2735 echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2 2736 exit 1 2737 ;; 2738 esac 2739 ;; 2740 2741 m68k*-linux*) 2742 supported_defaults="cpu" 2743 case "$with_cpu" in 2744 "" | "m68020" | "m68030" | "m68040" | "m68060" | "m68020-40" | "m68020-60") 2745 # OK 2746 ;; 2747 *) 2748 echo "Unknown CPU used in --with-cpu=$with_cpu, known values:" 1>&2 2749 echo "m68020 m68030 m68040 m68060 m68020-40 m68020-60" 1>&2 2750 exit 1 2751 ;; 2752 esac 2753 ;; 2754 2755 hppa*-*-* | parisc*-*-*) 2756 supported_defaults="arch schedule" 2757 2758 case "$with_arch" in 2759 "" | 1.0 | 1.1 | 2.0) 2760 # OK 2761 ;; 2762 *) 2763 echo "Unknown architecture used in --with-arch=$with_arch" 1>&2 2764 exit 1 2765 ;; 2766 esac 2767 2768 case "$with_schedule" in 2769 "" | 700 | 7100 | 7100LC | 7200 | 7300 | 8000) 2770 # OK 2771 ;; 2772 *) 2773 echo "Unknown processor used in --with-schedule=$with_schedule." 1>&2 2774 exit 1 2775 ;; 2776 esac 2777 ;; 2778 2779 i[34567]86-*-* | x86_64-*-*) 2780 supported_defaults="arch cpu tune" 2781 for which in arch cpu tune; do 2782 eval "val=\$with_$which" 2783 case ${val} in 2784 i386 | i486 \ 2785 | i586 | pentium | pentium-mmx | winchip-c6 | winchip2 \ 2786 | c3 | c3-2 | i686 | pentiumpro | pentium2 | pentium3 \ 2787 | pentium4 | k6 | k6-2 | k6-3 | athlon | athlon-tbird \ 2788 | athlon-4 | athlon-xp | athlon-mp \ 2789 | prescott | pentium-m | pentium4m | pentium3m) 2790 case "${target}" in 2791 x86_64-*-*) 2792 echo "CPU given in --with-$which=$val doesn't support 64bit mode." 1>&2 2793 exit 1 2794 ;; 2795 esac 2796 # OK 2797 ;; 2798 "" | k8 | opteron | athlon64 | athlon-fx | nocona | core2 | generic) 2799 # OK 2800 ;; 2801 *) 2802 echo "Unknown CPU given in --with-$which=$val." 1>&2 2803 exit 1 2804 ;; 2805 esac 2806 done 2807 ;; 2808 2809 mips*-*-*) 2810 supported_defaults="abi arch float tune divide" 2811 2812 case ${with_float} in 2813 "" | soft | hard) 2814 # OK 2815 ;; 2816 *) 2817 echo "Unknown floating point type used in --with-float=$with_float" 1>&2 2818 exit 1 2819 ;; 2820 esac 2821 2822 case ${with_abi} in 2823 "" | 32 | o64 | n32 | 64 | eabi) 2824 # OK 2825 ;; 2826 *) 2827 echo "Unknown ABI used in --with-abi=$with_abi" 1>&2 2828 exit 1 2829 ;; 2830 esac 2831 2832 case ${with_divide} in 2833 "" | breaks | traps) 2834 # OK 2835 ;; 2836 *) 2837 echo "Unknown division check type use in --with-divide=$with_divide" 1>&2 2838 exit 1 2839 esac 2840 ;; 2841 2842 mt-*-*) 2843 supported_defaults="arch" 2844 2845 case "$with_arch" in 2846 "" \ 2847 | ms1-64-001 \ 2848 | ms1-16-002 \ 2849 | ms1-16-003 \ 2850 | ms2 \ 2851 | "") 2852 # OK 2853 ;; 2854 *) 2855 echo "Unknown arch used in --with-arch=$with_arch" 1>&2 2856 exit 1 2857 ;; 2858 esac 2859 ;; 2860 2861 powerpc*-*-* | rs6000-*-*) 2862 supported_defaults="cpu float tune" 2863 2864 for which in cpu tune; do 2865 eval "val=\$with_$which" 2866 case ${val} in 2867 default32 | default64) 2868 with_which="with_$which" 2869 eval $with_which= 2870 ;; 2871 405cr) 2872 tm_defines="${tm_defines} CONFIG_PPC405CR" 2873 eval "with_$which=405" 2874 ;; 2875 "" | common \ 2876 | power | power[23456] | powerpc | powerpc64 \ 2877 | rios | rios1 | rios2 | rsc | rsc1 | rs64a \ 2878 | 401 | 403 | 405 | 405fp | 440 | 440fp | 505 \ 2879 | 601 | 602 | 603 | 603e | ec603e | 604 \ 2880 | 604e | 620 | 630 | 740 | 750 | 7400 | 7450 \ 2881 | 854[08] | 801 | 821 | 823 | 860 | 970 | G3 | G4 | G5) 2882 # OK 2883 ;; 2884 *) 2885 echo "Unknown cpu used in --with-$which=$val." 1>&2 2886 exit 1 2887 ;; 2888 esac 2889 done 2890 ;; 2891 2892 s390*-*-*) 2893 supported_defaults="arch mode tune" 2894 2895 for which in arch tune; do 2896 eval "val=\$with_$which" 2897 case ${val} in 2898 "" | g5 | g6 | z900 | z990 | z9-109) 2899 # OK 2900 ;; 2901 *) 2902 echo "Unknown cpu used in --with-$which=$val." 1>&2 2903 exit 1 2904 ;; 2905 esac 2906 done 2907 2908 case ${with_mode} in 2909 "" | esa | zarch) 2910 # OK 2911 ;; 2912 *) 2913 echo "Unknown architecture mode used in --with-mode=$with_mode." 1>&2 2914 exit 1 2915 ;; 2916 esac 2917 ;; 2918 2919 sh[123456ble]-*-* | sh-*-*) 2920 supported_defaults="cpu" 2921 case "`echo $with_cpu | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ_ abcdefghijklmnopqrstuvwxyz- | sed s/sh/m/`" in 2922 "" | m1 | m2 | m2e | m3 | m3e | m4 | m4-single | m4-single-only | m4-nofpu ) 2923 # OK 2924 ;; 2925 m2a | m2a-single | m2a-single-only | m2a-nofpu) 2926 ;; 2927 m4a | m4a-single | m4a-single-only | m4a-nofpu | m4al) 2928 ;; 2929 *) 2930 echo "Unknown CPU used in --with-cpu=$with_cpu, known values:" 1>&2 2931 echo "m1 m2 m2e m3 m3e m4 m4-single m4-single-only m4-nofpu" 1>&2 2932 echo "m4a m4a-single m4a-single-only m4a-nofpu m4al" 1>&2 2933 echo "m2a m2a-single m2a-single-only m2a-nofpu" 1>&2 2934 exit 1 2935 ;; 2936 esac 2937 ;; 2938 sparc*-*-*) 2939 supported_defaults="cpu float tune" 2940 2941 for which in cpu tune; do 2942 eval "val=\$with_$which" 2943 case ${val} in 2944 "" | sparc | sparcv9 | sparc64 | sparc86x \ 2945 | v7 | cypress | v8 | supersparc | sparclite | f930 \ 2946 | f934 | hypersparc | sparclite86x | sparclet | tsc701 \ 2947 | v9 | ultrasparc | ultrasparc3 | niagara) 2948 # OK 2949 ;; 2950 *) 2951 echo "Unknown cpu used in --with-$which=$val" 1>&2 2952 exit 1 2953 ;; 2954 esac 2955 done 2956 2957 case ${with_float} in 2958 "" | soft | hard) 2959 # OK 2960 ;; 2961 *) 2962 echo "Unknown floating point type used in --with-float=$with_float" 1>&2 2963 exit 1 2964 ;; 2965 esac 2966 ;; 2967 2968 v850*-*-*) 2969 supported_defaults=cpu 2970 case ${with_cpu} in 2971 "" | v850e | v850e1) 2972 # OK 2973 ;; 2974 *) 2975 echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2 2976 exit 1 2977 ;; 2978 esac 2979 ;; 2980esac 2981 2982# Set some miscellaneous flags for particular targets. 2983target_cpu_default2= 2984case ${target} in 2985 alpha*-*-*) 2986 if test x$gas = xyes 2987 then 2988 target_cpu_default2="MASK_GAS" 2989 fi 2990 ;; 2991 2992 arm*-*-*) 2993 if test x$target_cpu_cname = x 2994 then 2995 target_cpu_default2=TARGET_CPU_generic 2996 else 2997 target_cpu_default2=TARGET_CPU_$target_cpu_cname 2998 fi 2999 ;; 3000 3001 m68k*-linux*) 3002 case "x$with_cpu" in 3003 x) 3004 # The most generic 3005 target_cpu_default2="(MASK_68020|MASK_68881|MASK_BITFIELD)" 3006 ;; 3007 xm68020) 3008 target_cpu_default2="(MASK_68020|MASK_68881|MASK_BITFIELD)" 3009 ;; 3010 xm68030) 3011 target_cpu_default2="(MASK_68030|MASK_68020|MASK_68881|MASK_BITFIELD)" 3012 ;; 3013 xm68040) 3014 target_cpu_default2="(MASK_68040|MASK_68040_ONLY|MASK_68020|MASK_68881|MASK_BITFIELD)" 3015 ;; 3016 xm68060) 3017 target_cpu_default2="(MASK_68060|MASK_68040_ONLY|MASK_68020|MASK_68881|MASK_BITFIELD)" 3018 ;; 3019 xm68020-40) 3020 target_cpu_default2="(MASK_BITFIELD|MASK_68881|MASK_68020|MASK_68040)" 3021 ;; 3022 xm68020-60) 3023 target_cpu_default2="(MASK_BITFIELD|MASK_68881|MASK_68020|MASK_68040|MASK_68060)" 3024 ;; 3025 *) 3026 echo "Unknown CPU used in --with-cpu=$with_cpu" 1>&2 3027 exit 1 3028 ;; 3029 esac 3030 ;; 3031 3032 hppa*-*-* | parisc*-*-*) 3033 target_cpu_default2="MASK_BIG_SWITCH" 3034 if test x$gas = xyes 3035 then 3036 target_cpu_default2="${target_cpu_default2}|MASK_GAS|MASK_JUMP_IN_DELAY" 3037 fi 3038 ;; 3039 3040 mips*-*-*) 3041 if test x$gnu_ld = xyes 3042 then 3043 target_cpu_default2="MASK_SPLIT_ADDRESSES" 3044 fi 3045 case ${target} in 3046 mips*el-*-*) 3047 tm_defines="TARGET_ENDIAN_DEFAULT=0 $tm_defines" 3048 ;; 3049 esac 3050 if test "x$enable_gofast" = xyes 3051 then 3052 tm_defines="US_SOFTWARE_GOFAST $tm_defines" 3053 tmake_file="mips/t-gofast $tmake_file" 3054 else 3055 tmake_file="mips/t-mips $tmake_file" 3056 fi 3057 ;; 3058 3059 powerpc*-*-* | rs6000-*-*) 3060 # FIXME: The PowerPC port uses the value set at compile time, 3061 # although it's only cosmetic. 3062 if test "x$with_cpu" != x 3063 then 3064 target_cpu_default2="\\\"$with_cpu\\\"" 3065 fi 3066 out_file=rs6000/rs6000.c 3067 c_target_objs="${c_target_objs} rs6000-c.o" 3068 cxx_target_objs="${cxx_target_objs} rs6000-c.o" 3069 tmake_file="rs6000/t-rs6000 ${tmake_file}" 3070 3071 if test x$enable_e500_double = xyes 3072 then 3073 tm_file="$tm_file rs6000/e500-double.h" 3074 fi 3075 ;; 3076 3077 sh[123456ble]*-*-* | sh-*-*) 3078 c_target_objs="${c_target_objs} sh-c.o" 3079 cxx_target_objs="${cxx_target_objs} sh-c.o" 3080 ;; 3081 3082 sparc*-*-*) 3083 # Some standard aliases. 3084 case x$with_cpu in 3085 xsparc) 3086 with_cpu=v7 3087 ;; 3088 xsparcv9 | xsparc64) 3089 with_cpu=v9 3090 ;; 3091 esac 3092 3093 # The SPARC port checks this value at compile-time. 3094 target_cpu_default2="TARGET_CPU_$with_cpu" 3095 ;; 3096 v850*-*-*) 3097 # FIXME: The v850 is "special" in that it does not support 3098 # runtime CPU selection, only --with-cpu. 3099 case "x$with_cpu" in 3100 x) 3101 ;; 3102 xv850e) 3103 target_cpu_default2="TARGET_CPU_$with_cpu" 3104 ;; 3105 esac 3106 ;; 3107esac 3108 3109t= 3110all_defaults="abi cpu arch tune schedule float mode fpu divide" 3111for option in $all_defaults 3112do 3113 eval "val=\$with_$option" 3114 if test -n "$val"; then 3115 case " $supported_defaults " in 3116 *" $option "*) 3117 ;; 3118 *) 3119 echo "This target does not support --with-$option." 2>&1 3120 echo "Valid --with options are: $supported_defaults" 2>&1 3121 exit 1 3122 ;; 3123 esac 3124 3125 if test "x$t" = x 3126 then 3127 t="{ \"$option\", \"$val\" }" 3128 else 3129 t="${t}, { \"$option\", \"$val\" }" 3130 fi 3131 fi 3132done 3133 3134if test "x$t" = x 3135then 3136 configure_default_options="{ { NULL, NULL} }" 3137else 3138 configure_default_options="{ ${t} }" 3139fi 3140 3141if test "$target_cpu_default2" != "" 3142then 3143 if test "$target_cpu_default" != "" 3144 then 3145 target_cpu_default="(${target_cpu_default}|${target_cpu_default2})" 3146 else 3147 target_cpu_default=$target_cpu_default2 3148 fi 3149fi 3150