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