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