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