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