config.gcc revision 1.1.1.3
1# GCC target-specific configuration file. 2# Copyright (C) 1997-2013 Free Software Foundation, Inc. 3 4#This file is part of GCC. 5 6#GCC is free software; you can redistribute it and/or modify it under 7#the terms of the GNU General Public License as published by the Free 8#Software Foundation; either version 3, or (at your option) any later 9#version. 10 11#GCC is distributed in the hope that it will be useful, but WITHOUT 12#ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13#FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14#for more details. 15 16#You should have received a copy of the GNU General Public License 17#along with GCC; see the file COPYING3. If not see 18#<http://www.gnu.org/licenses/>. 19 20# This is the GCC target-specific configuration file 21# where a configuration type is mapped to different system-specific 22# definitions and files. This is invoked by the autoconf-generated 23# configure script. Putting it in a separate shell file lets us skip 24# running autoconf when modifying target-specific information. 25 26# When you change the cases in the OS or target switches, consider 27# updating ../libgcc/config.host also. 28 29# This file switches on the shell variable ${target}, and also uses the 30# following shell variables: 31# 32# with_* Various variables as set by configure. 33# 34# enable_threads Either the name, yes or no depending on whether 35# threads support was requested. 36# 37# default_use_cxa_atexit 38# The default value for the $enable___cxa_atexit 39# variable. enable___cxa_atexit needs to be set to 40# "yes" for the correct operation of C++ destructors 41# but it relies upon the presence of a non-standard C 42# library function called __cxa_atexit. 43# Since not all C libraries provide __cxa_atexit the 44# default value of $default_use_cxa_atexit is set to 45# "no" except for targets which are known to be OK. 46# 47# default_gnu_indirect_function 48# The default value for the $enable_gnu_indirect_function 49# variable. enable_gnu_indirect_function relies 50# upon the presence of a non-standard gnu ifunc support 51# in the assembler, linker and dynamic linker. 52# Since not all libraries provide the dynamic linking 53# support, the default value of 54# $default_gnu_indirect_function is set to 55# "no" except for targets which are known to be OK. 56# 57# gas_flag Either yes or no depending on whether GNU as was 58# requested. 59# 60# gnu_ld_flag Either yes or no depending on whether GNU ld was 61# requested. 62 63# This file sets the following shell variables for use by the 64# autoconf-generated configure script: 65# 66# cpu_type The name of the cpu, if different from the first 67# chunk of the canonical target name. 68# 69# tm_defines List of target macros to define for all compilations. 70# 71# tm_file A list of target macro files, if different from 72# "$cpu_type/$cpu_type.h". Usually it's constructed 73# per target in a way like this: 74# tm_file="${tm_file} dbxelf.h elfos.h ${cpu_type.h}/elf.h" 75# Note that the preferred order is: 76# - specific target header "${cpu_type}/${cpu_type.h}" 77# - generic headers like dbxelf.h elfos.h, etc. 78# - specializing target headers like ${cpu_type.h}/elf.h 79# This helps to keep OS specific stuff out of the CPU 80# defining header ${cpu_type}/${cpu_type.h}. 81# 82# It is possible to include automatically-generated 83# build-directory files by prefixing them with "./". 84# All other files should relative to $srcdir/config. 85# 86# tm_p_file Location of file with declarations for functions 87# in $out_file. 88# 89# out_file The name of the machine description C support 90# file, if different from "$cpu_type/$cpu_type.c". 91# 92# common_out_file The name of the source file for code shared between 93# the compiler proper and the driver. 94# 95# md_file The name of the machine-description file, if 96# different from "$cpu_type/$cpu_type.md". 97# 98# tmake_file A list of machine-description-specific 99# makefile-fragments, if different from 100# "$cpu_type/t-$cpu_type". 101# 102# extra_modes The name of the file containing a list of extra 103# machine modes, if necessary and different from 104# "$cpu_type/$cpu_type-modes.def". 105# 106# extra_objs List of extra objects that should be linked into 107# the compiler proper (cc1, cc1obj, cc1plus) 108# depending on target. 109# 110# extra_gcc_objs List of extra objects that should be linked into 111# the compiler driver (gcc) depending on target. 112# 113# extra_headers List of used header files from the directory 114# config/${cpu_type}. 115# 116# user_headers_inc_next_pre 117# List of header file names of internal gcc header 118# files, which should be prefixed by an include_next. 119# user_headers_inc_next_post 120# List of header file names of internal gcc header 121# files, which should be postfixed by an include_next. 122# use_gcc_tgmath If set, add tgmath.h to the list of used header 123# files. 124# 125# use_gcc_stdint If "wrap", install a version of stdint.h that 126# wraps the system's copy for hosted compilations; 127# if "provide", provide a version of systems without 128# such a system header; otherwise "none", do not 129# provide such a header at all. 130# 131# extra_programs List of extra executables compiled for this target 132# machine, used when linking. 133# 134# extra_options List of target-dependent .opt files. 135# 136# c_target_objs List of extra target-dependent objects that be 137# linked into the C compiler only. 138# 139# cxx_target_objs List of extra target-dependent objects that be 140# linked into the C++ compiler only. 141# 142# fortran_target_objs List of extra target-dependent objects that be 143# linked into the fortran compiler only. 144# 145# target_gtfiles List of extra source files with type information. 146# 147# xm_defines List of macros to define when compiling for the 148# target machine. 149# 150# xm_file List of files to include when compiling for the 151# target machine. 152# 153# use_collect2 Set to yes or no, depending on whether collect2 154# will be used. 155# 156# target_cpu_default Set to override the default target model. 157# 158# gdb_needs_out_file_path 159# Set to yes if gdb needs a dir command with 160# `dirname $out_file`. 161# 162# thread_file Set to control which thread package to use. 163# 164# gas Set to yes or no depending on whether the target 165# system normally uses GNU as. 166# 167# need_64bit_hwint Set to yes if HOST_WIDE_INT must be 64 bits wide 168# for this target. This is true if this target 169# supports "long" or "wchar_t" wider than 32 bits, 170# or BITS_PER_WORD is wider than 32 bits. 171# The setting made here must match the one made in 172# other locations such as libcpp/configure.ac 173# 174# configure_default_options 175# Set to an initializer for configure_default_options 176# in configargs.h, based on --with-cpu et cetera. 177# 178# native_system_header_dir 179# Where system header files are found for this 180# target. This defaults to /usr/include. If 181# the --with-sysroot configure option or the 182# --sysroot command line option is used this 183# will be relative to the sysroot. 184# target_type_format_char 185# The default character to be used for formatting 186# the attribute in a 187# .type symbol_name, ${t_t_f_c}<property> 188# directive. 189 190# The following variables are used in each case-construct to build up the 191# outgoing variables: 192# 193# gnu_ld Set to yes or no depending on whether the target 194# system normally uses GNU ld. 195# 196# target_has_targetcm Set to yes or no depending on whether the target 197# has its own definition of targetcm. 198# 199# target_has_targetm_common Set to yes or no depending on whether the 200# target has its own definition of targetm_common. 201 202out_file= 203common_out_file= 204tmake_file= 205extra_headers= 206user_headers_inc_next_pre= 207user_headers_inc_next_post= 208use_gcc_tgmath=yes 209use_gcc_stdint=none 210extra_programs= 211extra_objs= 212extra_gcc_objs= 213extra_options= 214c_target_objs= 215cxx_target_objs= 216fortran_target_objs= 217target_has_targetcm=no 218target_has_targetm_common=yes 219tm_defines= 220xm_defines= 221# Set this to force installation and use of collect2. 222use_collect2= 223# Set this to override the default target model. 224target_cpu_default= 225# Set this if gdb needs a dir command with `dirname $out_file` 226gdb_needs_out_file_path= 227# Set this to control which thread package will be used. 228thread_file= 229# Reinitialize these from the flag values every loop pass, since some 230# configure entries modify them. 231gas="$gas_flag" 232gnu_ld="$gnu_ld_flag" 233default_use_cxa_atexit=no 234default_gnu_indirect_function=no 235target_gtfiles= 236need_64bit_hwint= 237need_64bit_isa= 238native_system_header_dir=/usr/include 239target_type_format_char='@' 240 241# Don't carry these over build->host->target. Please. 242xm_file= 243md_file= 244 245# Obsolete configurations. 246case ${target} in 247 picochip-* \ 248 | score-* \ 249 ) 250 if test "x$enable_obsolete" != xyes; then 251 echo "*** Configuration ${target} is obsolete." >&2 252 echo "*** Specify --enable-obsolete to build it anyway." >&2 253 echo "*** Support will be REMOVED in the next major release of GCC," >&2 254 echo "*** unless a maintainer comes forward." >&2 255 exit 1 256 fi;; 257esac 258 259# Unsupported targets list. Do not put an entry in this list unless 260# it would otherwise be caught by a more permissive pattern. The list 261# should be in alphabetical order. 262case ${target} in 263 # Avoid special cases that are not obsolete 264 arm*-*-*eabi* \ 265 ) 266 ;; 267 arm*-wince-pe* \ 268 | arm*-*-ecos-elf \ 269 | arm*-*-elf \ 270 | arm*-*-freebsd* \ 271 | arm*-*-linux* \ 272 | arm*-*-uclinux* \ 273 | i[34567]86-go32-* \ 274 | i[34567]86-*-go32* \ 275 | m68k-*-uclinuxoldabi* \ 276 | mips64orion*-*-rtems* \ 277 | pdp11-*-bsd \ 278 | sparc-hal-solaris2* \ 279 | thumb-*-* \ 280 | *-*-freebsd[12] | *-*-freebsd[12].* \ 281 | *-*-freebsd*aout* \ 282 | *-*-linux*aout* \ 283 | *-*-linux*coff* \ 284 | *-*-linux*libc1* \ 285 | *-*-linux*oldld* \ 286 | *-*-rtemsaout* \ 287 | *-*-rtemscoff* \ 288 | *-*-solaris2 \ 289 | *-*-solaris2.[0-8] \ 290 | *-*-solaris2.[0-8].* \ 291 | *-*-sysv* \ 292 | vax-*-vms* \ 293 ) 294 echo "*** Configuration ${target} not supported" 1>&2 295 exit 1 296 ;; 297esac 298 299# Set default cpu_type, tm_file, tm_p_file and xm_file so it can be 300# updated in each machine entry. Also set default extra_headers for some 301# machines. 302tm_p_file= 303cpu_type=`echo ${target} | sed 's/-.*$//'` 304cpu_is_64bit= 305case ${target} in 306m32c*-*-*) 307 cpu_type=m32c 308 tmake_file=m32c/t-m32c 309 target_has_targetm_common=no 310 ;; 311aarch64*-*-*) 312 cpu_type=aarch64 313 need_64bit_hwint=yes 314 extra_headers="arm_neon.h" 315 extra_objs="aarch64-builtins.o" 316 target_has_targetm_common=yes 317 ;; 318alpha*-*-*) 319 cpu_type=alpha 320 need_64bit_hwint=yes 321 extra_options="${extra_options} g.opt" 322 ;; 323am33_2.0-*-linux*) 324 cpu_type=mn10300 325 ;; 326arm*-*-*) 327 cpu_type=arm 328 extra_headers="mmintrin.h arm_neon.h" 329 target_type_format_char='%' 330 c_target_objs="arm-c.o" 331 cxx_target_objs="arm-c.o" 332 extra_options="${extra_options} arm/arm-tables.opt" 333 ;; 334avr-*-*) 335 cpu_type=avr 336 c_target_objs="avr-c.o" 337 cxx_target_objs="avr-c.o" 338 extra_options="${extra_options} avr/avr-tables.opt" 339 ;; 340bfin*-*) 341 cpu_type=bfin 342 ;; 343crisv32-*) 344 cpu_type=cris 345 ;; 346frv*) cpu_type=frv 347 extra_options="${extra_options} g.opt" 348 ;; 349moxie*) cpu_type=moxie 350 target_has_targetm_common=no 351 ;; 352fido-*-*) 353 cpu_type=m68k 354 extra_headers=math-68881.h 355 extra_options="${extra_options} m68k/m68k-tables.opt" 356 ;; 357i[34567]86-*-*) 358 cpu_type=i386 359 c_target_objs="i386-c.o" 360 cxx_target_objs="i386-c.o" 361 need_64bit_hwint=yes 362 extra_options="${extra_options} fused-madd.opt" 363 extra_headers="cpuid.h mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h 364 pmmintrin.h tmmintrin.h ammintrin.h smmintrin.h 365 nmmintrin.h bmmintrin.h fma4intrin.h wmmintrin.h 366 immintrin.h x86intrin.h avxintrin.h xopintrin.h 367 ia32intrin.h cross-stdarg.h lwpintrin.h popcntintrin.h 368 lzcntintrin.h bmiintrin.h bmi2intrin.h tbmintrin.h 369 avx2intrin.h fmaintrin.h f16cintrin.h rtmintrin.h 370 xtestintrin.h rdseedintrin.h prfchwintrin.h adxintrin.h 371 fxsrintrin.h xsaveintrin.h xsaveoptintrin.h" 372 ;; 373x86_64-*-*) 374 cpu_type=i386 375 c_target_objs="i386-c.o" 376 cxx_target_objs="i386-c.o" 377 extra_options="${extra_options} fused-madd.opt" 378 extra_headers="cpuid.h mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h 379 pmmintrin.h tmmintrin.h ammintrin.h smmintrin.h 380 nmmintrin.h bmmintrin.h fma4intrin.h wmmintrin.h 381 immintrin.h x86intrin.h avxintrin.h xopintrin.h 382 ia32intrin.h cross-stdarg.h lwpintrin.h popcntintrin.h 383 lzcntintrin.h bmiintrin.h tbmintrin.h bmi2intrin.h 384 avx2intrin.h fmaintrin.h f16cintrin.h rtmintrin.h 385 xtestintrin.h rdseedintrin.h prfchwintrin.h adxintrin.h 386 fxsrintrin.h xsaveintrin.h xsaveoptintrin.h" 387 need_64bit_hwint=yes 388 ;; 389ia64-*-*) 390 extra_headers=ia64intrin.h 391 need_64bit_hwint=yes 392 extra_options="${extra_options} g.opt fused-madd.opt" 393 ;; 394hppa*-*-*) 395 cpu_type=pa 396 ;; 397lm32*) 398 extra_options="${extra_options} g.opt" 399 ;; 400m32r*-*-*) 401 cpu_type=m32r 402 extra_options="${extra_options} g.opt" 403 ;; 404m68k-*-*) 405 extra_headers=math-68881.h 406 extra_options="${extra_options} m68k/m68k-tables.opt" 407 ;; 408microblaze*-*-*) 409 cpu_type=microblaze 410 extra_options="${extra_options} g.opt" 411 ;; 412mips*-*-*) 413 cpu_type=mips 414 need_64bit_hwint=yes 415 extra_headers="loongson.h" 416 extra_options="${extra_options} g.opt mips/mips-tables.opt" 417 ;; 418picochip-*-*) 419 cpu_type=picochip 420 ;; 421powerpc*-*-*) 422 cpu_type=rs6000 423 extra_headers="ppc-asm.h altivec.h spe.h ppu_intrinsics.h paired.h spu2vmx.h vec_types.h si2vmx.h" 424 need_64bit_hwint=yes 425 case x$with_cpu in 426 xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[345678]|xpower6x|xrs64a|xcell|xa2|xe500mc64|xe5500|Xe6500) 427 cpu_is_64bit=yes 428 ;; 429 esac 430 extra_options="${extra_options} g.opt fused-madd.opt rs6000/rs6000-tables.opt" 431 ;; 432rs6000*-*-*) 433 need_64bit_hwint=yes 434 extra_options="${extra_options} g.opt fused-madd.opt rs6000/rs6000-tables.opt" 435 ;; 436score*-*-*) 437 cpu_type=score 438 extra_options="${extra_options} g.opt" 439 ;; 440sparc*-*-*) 441 cpu_type=sparc 442 c_target_objs="sparc-c.o" 443 cxx_target_objs="sparc-c.o" 444 extra_headers="visintrin.h" 445 need_64bit_hwint=yes 446 ;; 447spu*-*-*) 448 cpu_type=spu 449 need_64bit_hwint=yes 450 ;; 451s390*-*-*) 452 cpu_type=s390 453 need_64bit_hwint=yes 454 extra_options="${extra_options} fused-madd.opt" 455 extra_headers="s390intrin.h htmintrin.h htmxlintrin.h" 456 ;; 457# Note the 'l'; we need to be able to match e.g. "shle" or "shl". 458sh[123456789lbe]*-*-* | sh-*-*) 459 cpu_type=sh 460 need_64bit_hwint=yes 461 extra_options="${extra_options} fused-madd.opt" 462 ;; 463v850*-*-*) 464 cpu_type=v850 465 ;; 466tic6x-*-*) 467 cpu_type=c6x 468 extra_headers="c6x_intrinsics.h" 469 extra_options="${extra_options} c6x/c6x-tables.opt" 470 ;; 471xtensa*-*-*) 472 extra_options="${extra_options} fused-madd.opt" 473 ;; 474tilegx*-*-*) 475 cpu_type=tilegx 476 need_64bit_hwint=yes 477 ;; 478tilepro-*-*) 479 cpu_type=tilepro 480 need_64bit_hwint=yes 481 ;; 482esac 483 484tm_file=${cpu_type}/${cpu_type}.h 485if test -f ${srcdir}/config/${cpu_type}/${cpu_type}-protos.h 486then 487 tm_p_file=${cpu_type}/${cpu_type}-protos.h 488fi 489extra_modes= 490if test -f ${srcdir}/config/${cpu_type}/${cpu_type}-modes.def 491then 492 extra_modes=${cpu_type}/${cpu_type}-modes.def 493fi 494if test -f ${srcdir}/config/${cpu_type}/${cpu_type}.opt 495then 496 extra_options="${extra_options} ${cpu_type}/${cpu_type}.opt" 497fi 498 499case ${target} in 500i[34567]86-*-*) 501 if test "x$with_abi" != x; then 502 echo "This target does not support --with-abi." 503 exit 1 504 fi 505 if test "x$enable_cld" = xyes; then 506 tm_defines="${tm_defines} USE_IX86_CLD=1" 507 fi 508 if test "x$enable_frame_pointer" = xyes; then 509 tm_defines="${tm_defines} USE_IX86_FRAME_POINTER=1" 510 fi 511 tm_file="vxworks-dummy.h ${tm_file}" 512 ;; 513x86_64-*-*) 514 case ${with_abi} in 515 "") 516 if test "x$with_multilib_list" = xmx32; then 517 tm_file="i386/biarchx32.h ${tm_file}" 518 else 519 tm_file="i386/biarch64.h ${tm_file}" 520 fi 521 ;; 522 64 | m64) 523 tm_file="i386/biarch64.h ${tm_file}" 524 ;; 525 x32 | mx32) 526 tm_file="i386/biarchx32.h ${tm_file}" 527 ;; 528 *) 529 echo "Unknown ABI used in --with-abi=$with_abi" 530 exit 1 531 esac 532 if test "x$enable_cld" = xyes; then 533 tm_defines="${tm_defines} USE_IX86_CLD=1" 534 fi 535 if test "x$enable_frame_pointer" = xyes; then 536 tm_defines="${tm_defines} USE_IX86_FRAME_POINTER=1" 537 fi 538 tm_file="vxworks-dummy.h ${tm_file}" 539 ;; 540arm*-*-* | mips*-*-* | sh*-*-* | sparc*-*-*) 541 tm_file="vxworks-dummy.h ${tm_file}" 542 ;; 543esac 544 545# On a.out targets, we need to use collect2. 546case ${target} in 547*-*-*aout*) 548 use_collect2=yes 549 ;; 550esac 551 552# Common C libraries. 553tm_defines="$tm_defines LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3" 554 555# Common parts for widely ported systems. 556case ${target} in 557*-*-darwin*) 558 tmake_file="t-darwin ${cpu_type}/t-darwin" 559 tm_file="${tm_file} darwin.h" 560 case ${target} in 561 *-*-darwin9*) 562 tm_file="${tm_file} darwin9.h" 563 ;; 564 *-*-darwin[12][0-9]*) 565 tm_file="${tm_file} darwin9.h darwin10.h" 566 ;; 567 esac 568 tm_file="${tm_file} ${cpu_type}/darwin.h" 569 tm_p_file="${tm_p_file} darwin-protos.h" 570 target_gtfiles="\$(srcdir)/config/darwin.c" 571 extra_options="${extra_options} darwin.opt" 572 c_target_objs="${c_target_objs} darwin-c.o" 573 cxx_target_objs="${cxx_target_objs} darwin-c.o" 574 fortran_target_objs="darwin-f.o" 575 target_has_targetcm=yes 576 extra_objs="darwin.o" 577 extra_gcc_objs="darwin-driver.o" 578 default_use_cxa_atexit=yes 579 use_gcc_stdint=wrap 580 case ${enable_threads} in 581 "" | yes | posix) thread_file='posix' ;; 582 esac 583 ;; 584*-*-freebsd*) 585 # This is the generic ELF configuration of FreeBSD. Later 586 # machine-specific sections may refine and add to this 587 # configuration. 588 # 589 # Due to tm_file entry ordering issues that vary between cpu 590 # architectures, we only define fbsd_tm_file to allow the 591 # machine-specific section to dictate the final order of all 592 # entries of tm_file with the minor exception that components 593 # of the tm_file set here will always be of the form: 594 # 595 # freebsd<version_number>.h [freebsd-<conf_option>.h ...] freebsd-spec.h freebsd.h 596 # 597 # The machine-specific section should not tamper with this 598 # ordering but may order all other entries of tm_file as it 599 # pleases around the provided core setting. 600 gas=yes 601 gnu_ld=yes 602 fbsd_major=`echo ${target} | sed -e 's/.*freebsd//g' | sed -e 's/\..*//g'` 603 tm_defines="${tm_defines} FBSD_MAJOR=${fbsd_major}" 604 tmake_file="t-slibgcc" 605 case ${enable_threads} in 606 no) 607 fbsd_tm_file="${fbsd_tm_file} freebsd-nthr.h" 608 ;; 609 "" | yes | posix) 610 thread_file='posix' 611 ;; 612 *) 613 echo 'Unknown thread configuration for FreeBSD' 614 exit 1 615 ;; 616 esac 617 fbsd_tm_file="${fbsd_tm_file} freebsd-spec.h freebsd.h freebsd-stdint.h" 618 extra_options="$extra_options rpath.opt freebsd.opt" 619 case ${target} in 620 *-*-freebsd[345].*) 621 :;; 622 *) 623 default_use_cxa_atexit=yes;; 624 esac 625 # need_64bit_hwint=yes # system compiler has this for all arch! 626 use_gcc_stdint=wrap 627 ;; 628*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu) 629 extra_options="$extra_options gnu-user.opt" 630 gas=yes 631 gnu_ld=yes 632 case ${enable_threads} in 633 "" | yes | posix) thread_file='posix' ;; 634 esac 635 tmake_file="t-slibgcc" 636 case $target in 637 *-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-kopensolaris*-gnu) 638 :;; 639 *-*-gnu*) 640 native_system_header_dir=/include 641 ;; 642 esac 643 # glibc / uclibc / bionic switch. 644 # uclibc and bionic aren't usable for GNU/Hurd and neither for GNU/k*BSD. 645 case $target in 646 *linux*) 647 extra_options="$extra_options linux.opt";; 648 esac 649 case $target in 650 *-*-*android*) 651 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_BIONIC" 652 ;; 653 *-*-*uclibc*) 654 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC" 655 ;; 656 *) 657 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_GLIBC" 658 ;; 659 esac 660 # Assume that glibc or uClibc or Bionic are being used and so __cxa_atexit 661 # is provided. 662 default_use_cxa_atexit=yes 663 use_gcc_tgmath=no 664 use_gcc_stdint=wrap 665 # Add Android userspace support to Linux targets. 666 case $target in 667 *linux*) 668 tm_file="$tm_file linux-android.h" 669 extra_options="$extra_options linux-android.opt" 670 ;; 671 esac 672 # Enable compilation for Android by default for *android* targets. 673 case $target in 674 *-*-*android*) 675 tm_defines="$tm_defines ANDROID_DEFAULT=1" 676 ;; 677 *) 678 tm_defines="$tm_defines ANDROID_DEFAULT=0" 679 ;; 680 esac 681 c_target_objs="${c_target_objs} glibc-c.o" 682 cxx_target_objs="${cxx_target_objs} glibc-c.o" 683 tmake_file="${tmake_file} t-glibc" 684 target_has_targetcm=yes 685 ;; 686*-*-netbsd*) 687 tmake_file="t-slibgcc" 688 gas=yes 689 gnu_ld=yes 690 691 # NetBSD 2.0 and later get POSIX threads enabled by default. 692 # Allow them to be explicitly enabled on any other version. 693 case ${enable_threads} in 694 "") 695 case ${target} in 696 *-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*) 697 thread_file='posix' 698 tm_defines="${tm_defines} NETBSD_ENABLE_PTHREADS" 699 ;; 700 esac 701 ;; 702 yes | posix) 703 thread_file='posix' 704 tm_defines="${tm_defines} NETBSD_ENABLE_PTHREADS" 705 ;; 706 esac 707 708 # NetBSD 2.0 and later provide __cxa_atexit(), which we use by 709 # default (unless overridden by --disable-__cxa_atexit). 710 case ${target} in 711 *-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*) 712 default_use_cxa_atexit=yes 713 ;; 714 esac 715 ;; 716*-*-openbsd*) 717 tmake_file="t-openbsd" 718 case ${enable_threads} in 719 yes) 720 thread_file='posix' 721 ;; 722 esac 723 case ${target} in 724 *-*-openbsd2.*|*-*-openbsd3.[012]) 725 tm_defines="${tm_defines} HAS_LIBC_R=1" ;; 726 esac 727 case ${target} in 728 *-*-openbsd4.[3-9]|*-*-openbsd[5-9]*) 729 default_use_cxa_atexit=yes 730 ;; 731 esac 732 ;; 733*-*-rtems*) 734 case ${enable_threads} in 735 yes) thread_file='rtems' ;; 736 esac 737 extra_options="${extra_options} rtems.opt" 738 default_use_cxa_atexit=yes 739 use_gcc_stdint=wrap 740 ;; 741*-*-uclinux*) 742 extra_options="$extra_options gnu-user.opt" 743 use_gcc_stdint=wrap 744 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC SINGLE_LIBC" 745 ;; 746*-*-rdos*) 747 use_gcc_stdint=wrap 748 ;; 749*-*-solaris2*) 750 # i?86-*-solaris2* needs to insert headers between cpu default and 751 # Solaris 2 specific ones. 752 sol2_tm_file="dbxelf.h elfos.h ${cpu_type}/sysv4.h sol2.h ${cpu_type}/sol2.h" 753 case ${target} in 754 *-*-solaris2.1[0-9]*) 755 sol2_tm_file="${sol2_tm_file} sol2-10.h" 756 use_gcc_stdint=wrap 757 ;; 758 *) 759 use_gcc_stdint=provide 760 ;; 761 esac 762 if test x$gnu_ld = xyes; then 763 tm_file="usegld.h ${tm_file}" 764 fi 765 if test x$gas = xyes; then 766 tm_file="usegas.h ${tm_file}" 767 fi 768 tm_p_file="${tm_p_file} sol2-protos.h" 769 tmake_file="${tmake_file} t-sol2 t-slibgcc" 770 c_target_objs="${c_target_objs} sol2-c.o" 771 cxx_target_objs="${cxx_target_objs} sol2-c.o sol2-cxx.o" 772 extra_objs="sol2.o sol2-stubs.o" 773 extra_options="${extra_options} sol2.opt" 774 case ${enable_threads}:${have_pthread_h}:${have_thread_h} in 775 "":yes:* | yes:yes:* ) 776 thread_file=posix 777 ;; 778 esac 779 ;; 780*-*-*vms*) 781 extra_options="${extra_options} vms/vms.opt" 782 xmake_file=vms/x-vms 783 tmake_file="vms/t-vms t-slibgcc" 784 extra_objs="vms.o" 785 target_gtfiles="$target_gtfiles \$(srcdir)/config/vms/vms.c" 786 tm_p_file="${tm_p_file} vms/vms-protos.h" 787 xm_file="vms/xm-vms.h" 788 c_target_objs="vms-c.o" 789 cxx_target_objs="vms-c.o" 790 fortran_target_objs="vms-f.o" 791 use_gcc_stdint=provide 792 tm_file="${tm_file} vms/vms-stdint.h" 793 if test x$gnu_ld != xyes; then 794 # Build wrappers for native case. 795 extra_programs="ld\$(exeext) ar\$(exeext)" 796 tmake_file="$tmake_file vms/t-vmsnative" 797 fi 798 ;; 799*-*-vxworks*) 800 tmake_file=t-vxworks 801 xm_defines=POSIX 802 extra_options="${extra_options} vxworks.opt" 803 extra_objs=vxworks.o 804 case ${enable_threads} in 805 no) ;; 806 "" | yes | vxworks) thread_file='vxworks' ;; 807 *) echo 'Unknown thread configuration for VxWorks'; exit 1 ;; 808 esac 809 ;; 810*-*-elf) 811 # Assume that newlib is being used and so __cxa_atexit is provided. 812 default_use_cxa_atexit=yes 813 use_gcc_stdint=wrap 814 ;; 815esac 816 817case ${target} in 818aarch64*-*-elf) 819 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h" 820 tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-elf-raw.h" 821 tmake_file="${tmake_file} aarch64/t-aarch64" 822 use_gcc_stdint=wrap 823 case $target in 824 aarch64_be-*) 825 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1" 826 ;; 827 esac 828 ;; 829aarch64*-*-linux*) 830 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h" 831 tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-linux.h" 832 tmake_file="${tmake_file} aarch64/t-aarch64 aarch64/t-aarch64-linux" 833 case $target in 834 aarch64_be-*) 835 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1" 836 ;; 837 esac 838 ;; 839alpha*-*-linux*) 840 tm_file="elfos.h ${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h glibc-stdint.h" 841 tmake_file="${tmake_file} alpha/t-linux" 842 extra_options="${extra_options} alpha/elf.opt" 843 ;; 844alpha*-*-freebsd*) 845 tm_file="elfos.h ${tm_file} ${fbsd_tm_file} alpha/elf.h alpha/freebsd.h" 846 extra_options="${extra_options} alpha/elf.opt" 847 ;; 848alpha*-*-netbsd*) 849 tm_file="elfos.h ${tm_file} netbsd.h alpha/elf.h netbsd-elf.h alpha/netbsd.h" 850 extra_options="${extra_options} netbsd.opt netbsd-elf.opt \ 851 alpha/elf.opt" 852 ;; 853alpha*-*-openbsd*) 854 tm_defines="${tm_defines} OBSD_HAS_DECLARE_FUNCTION_NAME OBSD_HAS_DECLARE_FUNCTION_SIZE OBSD_HAS_DECLARE_OBJECT" 855 tm_file="elfos.h alpha/alpha.h alpha/elf.h openbsd.h openbsd-stdint.h alpha/openbsd.h openbsd-libpthread.h" 856 extra_options="${extra_options} openbsd.opt alpha/elf.opt" 857 # default x-alpha is only appropriate for dec-osf. 858 ;; 859alpha*-dec-*vms*) 860 tm_file="${tm_file} vms/vms.h alpha/vms.h" 861 tmake_file="${tmake_file} alpha/t-vms" 862 ;; 863arm-wrs-vxworks) 864 tm_file="elfos.h arm/elf.h arm/aout.h ${tm_file} vx-common.h vxworks.h arm/vxworks.h" 865 extra_options="${extra_options} arm/vxworks.opt" 866 tmake_file="${tmake_file} arm/t-arm arm/t-vxworks" 867 ;; 868arm*-*-netbsdelf*) 869 tm_file="dbxelf.h elfos.h netbsd.h netbsd-elf.h arm/elf.h arm/aout.h ${tm_file} arm/netbsd-elf.h" 870 extra_options="${extra_options} netbsd.opt netbsd-elf.opt" 871 tmake_file="${tmake_file} arm/t-arm" 872 ;; 873arm*-*-linux-*) # ARM GNU/Linux with ELF 874 tm_file="dbxelf.h elfos.h gnu-user.h linux.h linux-android.h glibc-stdint.h arm/elf.h arm/linux-gas.h arm/linux-elf.h" 875 case $target in 876 arm*b-*-linux*) 877 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1" 878 ;; 879 esac 880 tmake_file="${tmake_file} arm/t-arm arm/t-arm-elf arm/t-bpabi arm/t-linux-eabi" 881 tm_file="$tm_file arm/bpabi.h arm/linux-eabi.h arm/aout.h vxworks-dummy.h arm/arm.h" 882 # Define multilib configuration for arm-linux-androideabi. 883 case ${target} in 884 *-androideabi) 885 tmake_file="$tmake_file arm/t-linux-androideabi" 886 ;; 887 esac 888 # The BPABI long long divmod functions return a 128-bit value in 889 # registers r0-r3. Correctly modeling that requires the use of 890 # TImode. 891 need_64bit_hwint=yes 892 # The EABI requires the use of __cxa_atexit. 893 default_use_cxa_atexit=yes 894 with_tls=${with_tls:-gnu} 895 ;; 896arm*-*-uclinux*eabi*) # ARM ucLinux 897 tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/linux-gas.h arm/uclinux-elf.h glibc-stdint.h" 898 tmake_file="arm/t-arm arm/t-arm-elf arm/t-bpabi" 899 tm_file="$tm_file arm/bpabi.h arm/uclinux-eabi.h arm/aout.h vxworks-dummy.h arm/arm.h" 900 # The BPABI long long divmod functions return a 128-bit value in 901 # registers r0-r3. Correctly modeling that requires the use of 902 # TImode. 903 need_64bit_hwint=yes 904 # The EABI requires the use of __cxa_atexit. 905 default_use_cxa_atexit=yes 906 ;; 907arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*) 908 case ${target} in 909 arm*eb-*-eabi*) 910 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1" 911 esac 912 # The BPABI long long divmod functions return a 128-bit value in 913 # registers r0-r3. Correctly modeling that requires the use of 914 # TImode. 915 need_64bit_hwint=yes 916 default_use_cxa_atexit=yes 917 tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/bpabi.h" 918 tmake_file="arm/t-arm arm/t-arm-elf" 919 case ${target} in 920 arm*-*-eabi*) 921 tm_file="$tm_file newlib-stdint.h" 922 tmake_file="${tmake_file} arm/t-bpabi" 923 use_gcc_stdint=wrap 924 ;; 925 arm*-*-rtems*) 926 tm_file="${tm_file} rtems.h arm/rtems-eabi.h newlib-stdint.h" 927 tmake_file="${tmake_file} arm/t-bpabi t-rtems arm/t-rtems-eabi" 928 ;; 929 arm*-*-symbianelf*) 930 tm_file="${tm_file} arm/symbian.h" 931 # We do not include t-bpabi for Symbian OS because the system 932 # provides its own implementation of the BPABI functions. 933 tmake_file="${tmake_file} arm/t-symbian" 934 ;; 935 esac 936 tm_file="${tm_file} arm/aout.h vxworks-dummy.h arm/arm.h" 937 ;; 938avr-*-rtems*) 939 tm_file="elfos.h avr/elf.h avr/avr-arch.h avr/avr.h dbxelf.h avr/rtems.h rtems.h newlib-stdint.h" 940 tmake_file="avr/t-avr avr/t-multilib t-rtems avr/t-rtems" 941 extra_gcc_objs="driver-avr.o avr-devices.o" 942 extra_objs="avr-devices.o avr-log.o" 943 ;; 944avr-*-*) 945 tm_file="elfos.h avr/elf.h avr/avr-arch.h avr/avr.h dbxelf.h avr/avr-stdint.h" 946 if test x${with_avrlibc} != xno; then 947 tm_file="${tm_file} ${cpu_type}/avrlibc.h" 948 tm_defines="${tm_defines} WITH_AVRLIBC" 949 fi 950 tmake_file="avr/t-avr avr/t-multilib" 951 use_gcc_stdint=wrap 952 extra_gcc_objs="driver-avr.o avr-devices.o" 953 extra_objs="avr-devices.o avr-log.o" 954 ;; 955bfin*-elf*) 956 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h bfin/elf.h" 957 tmake_file=bfin/t-bfin-elf 958 use_collect2=no 959 ;; 960bfin*-uclinux*) 961 tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h gnu-user.h linux.h glibc-stdint.h bfin/uclinux.h" 962 tmake_file=bfin/t-bfin-uclinux 963 use_collect2=no 964 ;; 965bfin*-linux-uclibc*) 966 tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h gnu-user.h linux.h glibc-stdint.h bfin/linux.h ./linux-sysroot-suffix.h" 967 tmake_file="bfin/t-bfin-linux t-slibgcc" 968 use_collect2=no 969 ;; 970bfin*-rtems*) 971 tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h bfin/rtems.h rtems.h newlib-stdint.h" 972 tmake_file="t-rtems bfin/t-rtems" 973 ;; 974bfin*-*) 975 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h bfin/elf.h" 976 use_collect2=no 977 use_gcc_stdint=wrap 978 ;; 979cr16-*-elf) 980 tm_file="elfos.h ${tm_file}" 981 tmake_file="${tmake_file} cr16/t-cr16 " 982 use_collect2=no 983 ;; 984crisv32-*-elf | crisv32-*-none) 985 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}" 986 tmake_file="cris/t-cris" 987 target_cpu_default=32 988 gas=yes 989 extra_options="${extra_options} cris/elf.opt" 990 use_gcc_stdint=wrap 991 ;; 992cris-*-elf | cris-*-none) 993 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}" 994 tmake_file="cris/t-cris cris/t-elfmulti" 995 gas=yes 996 extra_options="${extra_options} cris/elf.opt" 997 use_gcc_stdint=wrap 998 ;; 999crisv32-*-linux* | cris-*-linux*) 1000 tm_file="dbxelf.h elfos.h ${tm_file} gnu-user.h linux.h glibc-stdint.h cris/linux.h" 1001 # We need to avoid using t-linux, so override default tmake_file 1002 tmake_file="cris/t-cris cris/t-linux t-slibgcc" 1003 extra_options="${extra_options} cris/linux.opt" 1004 case $target in 1005 cris-*-*) 1006 target_cpu_default=10 1007 ;; 1008 crisv32-*-*) 1009 target_cpu_default=32 1010 ;; 1011 esac 1012 ;; 1013epiphany-*-elf ) 1014 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}" 1015 tmake_file="epiphany/t-epiphany" 1016 extra_options="${extra_options} fused-madd.opt" 1017 extra_objs="$extra_objs mode-switch-use.o resolve-sw-modes.o" 1018 tm_defines="${tm_defines} EPIPHANY_STACK_OFFSET=${with_stack_offset:-8}" 1019 extra_headers="epiphany_intrinsics.h" 1020 ;; 1021fr30-*-elf) 1022 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}" 1023 ;; 1024frv-*-elf) 1025 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}" 1026 tmake_file=frv/t-frv 1027 ;; 1028frv-*-*linux*) 1029 tm_file="dbxelf.h elfos.h ${tm_file} \ 1030 gnu-user.h linux.h glibc-stdint.h frv/linux.h" 1031 tmake_file="${tmake_file} frv/t-frv frv/t-linux" 1032 ;; 1033moxie-*-elf) 1034 gas=yes 1035 gnu_ld=yes 1036 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}" 1037 tmake_file="${tmake_file} moxie/t-moxie" 1038 ;; 1039moxie-*-uclinux*) 1040 gas=yes 1041 gnu_ld=yes 1042 tm_file="dbxelf.h elfos.h ${tm_file} gnu-user.h linux.h glibc-stdint.h moxie/uclinux.h" 1043 tmake_file="${tmake_file} moxie/t-moxie" 1044 ;; 1045moxie-*-rtems*) 1046 tmake_file="${tmake_file} moxie/t-moxie t-rtems" 1047 tm_file="moxie/moxie.h dbxelf.h elfos.h moxie/rtems.h rtems.h newlib-stdint.h" 1048 ;; 1049h8300-*-rtems*) 1050 tmake_file="h8300/t-h8300 t-rtems h8300/t-rtems" 1051 tm_file="h8300/h8300.h dbxelf.h elfos.h h8300/elf.h h8300/rtems.h rtems.h newlib-stdint.h" 1052 ;; 1053h8300-*-elf*) 1054 tmake_file="h8300/t-h8300" 1055 tm_file="h8300/h8300.h dbxelf.h elfos.h newlib-stdint.h h8300/elf.h" 1056 ;; 1057hppa*64*-*-linux*) 1058 target_cpu_default="MASK_PA_11|MASK_PA_20" 1059 tm_file="pa/pa64-start.h ${tm_file} dbxelf.h elfos.h gnu-user.h linux.h \ 1060 glibc-stdint.h pa/pa-linux.h pa/pa64-regs.h pa/pa-64.h \ 1061 pa/pa64-linux.h" 1062 gas=yes gnu_ld=yes 1063 need_64bit_hwint=yes 1064 ;; 1065hppa*-*-linux*) 1066 target_cpu_default="MASK_PA_11|MASK_NO_SPACE_REGS" 1067 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h pa/pa-linux.h \ 1068 pa/pa32-regs.h pa/pa32-linux.h" 1069 tmake_file="${tmake_file} pa/t-linux" 1070 ;; 1071hppa*-*-openbsd*) 1072 target_cpu_default="MASK_PA_11" 1073 tm_file="${tm_file} dbxelf.h elfos.h openbsd.h openbsd-stdint.h openbsd-libpthread.h \ 1074 pa/pa-openbsd.h pa/pa32-regs.h pa/pa32-openbsd.h" 1075 tmake_file="${tmake_file} pa/t-openbsd" 1076 extra_options="${extra_options} openbsd.opt" 1077 gas=yes 1078 gnu_ld=yes 1079 ;; 1080hppa[12]*-*-hpux10*) 1081 case ${target} in 1082 hppa1.1-*-* | hppa2*-*-*) 1083 target_cpu_default="MASK_PA_11" 1084 ;; 1085 esac 1086 tm_file="${tm_file} pa/pa32-regs.h dbxelf.h pa/som.h \ 1087 pa/pa-hpux.h pa/pa-hpux10.h" 1088 extra_options="${extra_options} pa/pa-hpux.opt pa/pa-hpux10.opt" 1089 case ${target} in 1090 *-*-hpux10.[1-9]*) 1091 tm_file="${tm_file} pa/pa-hpux1010.h" 1092 extra_options="${extra_options} pa/pa-hpux1010.opt" 1093 ;; 1094 esac 1095 use_gcc_stdint=provide 1096 tm_file="${tm_file} hpux-stdint.h" 1097 tmake_file="t-slibgcc" 1098 case ${enable_threads} in 1099 "") 1100 if test x$have_pthread_h = xyes ; then 1101 tmake_file="${tmake_file} pa/t-dce-thr" 1102 fi 1103 ;; 1104 yes | dce) 1105 tmake_file="${tmake_file} pa/t-dce-thr" 1106 ;; 1107 esac 1108 use_collect2=yes 1109 gas=yes 1110 if test "x$with_dwarf2" != x; then 1111 echo "Warning: dwarf2 debug format is not supported for this target, --with-dwarf2 ignored" 1>&2 1112 dwarf2=no 1113 fi 1114 ;; 1115hppa*64*-*-hpux11*) 1116 target_cpu_default="MASK_PA_11|MASK_PA_20" 1117 if test x$gnu_ld = xyes 1118 then 1119 target_cpu_default="${target_cpu_default}|MASK_GNU_LD" 1120 fi 1121 tm_file="pa/pa64-start.h ${tm_file} dbxelf.h elfos.h \ 1122 pa/pa64-regs.h pa/pa-hpux.h pa/pa-hpux1010.h \ 1123 pa/pa-hpux11.h" 1124 case ${target} in 1125 *-*-hpux11.[12]*) 1126 tm_file="${tm_file} pa/pa-hpux1111.h pa/pa-64.h pa/pa64-hpux.h" 1127 extra_options="${extra_options} pa/pa-hpux1111.opt" 1128 ;; 1129 *-*-hpux11.[3-9]*) 1130 tm_file="${tm_file} pa/pa-hpux1131.h pa/pa-64.h pa/pa64-hpux.h" 1131 extra_options="${extra_options} pa/pa-hpux1131.opt" 1132 ;; 1133 *) 1134 tm_file="${tm_file} pa/pa-64.h pa/pa64-hpux.h" 1135 ;; 1136 esac 1137 extra_options="${extra_options} pa/pa-hpux.opt \ 1138 pa/pa-hpux1010.opt pa/pa64-hpux.opt hpux11.opt" 1139 need_64bit_hwint=yes 1140 tmake_file="t-slibgcc" 1141 case x${enable_threads} in 1142 x | xyes | xposix ) 1143 thread_file=posix 1144 ;; 1145 esac 1146 gas=yes 1147 case ${target} in 1148 *-*-hpux11.[01]*) 1149 use_gcc_stdint=provide 1150 tm_file="${tm_file} hpux-stdint.h" 1151 ;; 1152 *-*-hpux11.[23]*) 1153 use_gcc_stdint=wrap 1154 tm_file="${tm_file} hpux-stdint.h" 1155 ;; 1156 esac 1157 ;; 1158hppa[12]*-*-hpux11*) 1159 case ${target} in 1160 hppa1.1-*-* | hppa2*-*-*) 1161 target_cpu_default="MASK_PA_11" 1162 ;; 1163 esac 1164 tm_file="${tm_file} pa/pa32-regs.h dbxelf.h pa/som.h \ 1165 pa/pa-hpux.h pa/pa-hpux1010.h pa/pa-hpux11.h" 1166 extra_options="${extra_options} pa/pa-hpux.opt pa/pa-hpux1010.opt \ 1167 hpux11.opt" 1168 case ${target} in 1169 *-*-hpux11.[12]*) 1170 tm_file="${tm_file} pa/pa-hpux1111.h" 1171 extra_options="${extra_options} pa/pa-hpux1111.opt" 1172 ;; 1173 *-*-hpux11.[3-9]*) 1174 tm_file="${tm_file} pa/pa-hpux1131.h" 1175 extra_options="${extra_options} pa/pa-hpux1131.opt" 1176 ;; 1177 esac 1178 tmake_file="t-slibgcc" 1179 case x${enable_threads} in 1180 x | xyes | xposix ) 1181 thread_file=posix 1182 ;; 1183 esac 1184 use_collect2=yes 1185 gas=yes 1186 case ${target} in 1187 *-*-hpux11.[01]*) 1188 use_gcc_stdint=provide 1189 tm_file="${tm_file} hpux-stdint.h" 1190 ;; 1191 *-*-hpux11.[23]*) 1192 use_gcc_stdint=wrap 1193 tm_file="${tm_file} hpux-stdint.h" 1194 ;; 1195 esac 1196 if test "x$with_dwarf2" != x; then 1197 echo "Warning: dwarf2 debug format is not supported for this target, --with-dwarf2 ignored" 1>&2 1198 dwarf2=no 1199 fi 1200 ;; 1201i[34567]86-*-darwin*) 1202 need_64bit_isa=yes 1203 # Baseline choice for a machine that allows m64 support. 1204 with_cpu=${with_cpu:-core2} 1205 tmake_file="${tmake_file} t-slibgcc" 1206 ;; 1207x86_64-*-darwin*) 1208 with_cpu=${with_cpu:-core2} 1209 tmake_file="${tmake_file} ${cpu_type}/t-darwin64 t-slibgcc" 1210 tm_file="${tm_file} ${cpu_type}/darwin64.h" 1211 ;; 1212i[34567]86-*-elf*) 1213 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h" 1214 ;; 1215x86_64-*-elf*) 1216 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/x86-64.h" 1217 ;; 1218i[34567]86-*-rdos*) 1219 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/rdos.h" 1220 ;; 1221x86_64-*-rdos*) 1222 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/x86-64.h i386/rdos.h i386/rdos64.h" 1223 tmake_file="i386/t-i386elf t-svr4" 1224 ;; 1225i[34567]86-*-freebsd*) 1226 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/freebsd.h" 1227 ;; 1228x86_64-*-freebsd*) 1229 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" 1230 ;; 1231i[34567]86-*-netbsdelf*) 1232 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/netbsd-elf.h" 1233 extra_options="${extra_options} netbsd.opt netbsd-elf.opt" 1234 ;; 1235x86_64-*-netbsd*) 1236 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" 1237 extra_options="${extra_options} netbsd.opt netbsd-elf.opt" 1238 ;; 1239i[34567]86-*-openbsd2.*|i[34567]86-*openbsd3.[0123]) 1240 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" 1241 extra_options="${extra_options} openbsd.opt" 1242 # needed to unconfuse gdb 1243 tmake_file="${tmake_file} t-openbsd i386/t-openbsd" 1244 # we need collect2 until our bug is fixed... 1245 use_collect2=yes 1246 ;; 1247i[34567]86-*-openbsd*) 1248 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h" 1249 tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h i386/openbsdelf.h" 1250 extra_options="${extra_options} openbsd.opt" 1251 gas=yes 1252 gnu_ld=yes 1253 ;; 1254x86_64-*-openbsd*) 1255 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h" 1256 tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h i386/x86-64.h i386/openbsdelf.h" 1257 extra_options="${extra_options} openbsd.opt" 1258 gas=yes 1259 gnu_ld=yes 1260 ;; 1261i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu | i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu) 1262 # Intel 80386's running GNU/* 1263 # with ELF format using glibc 2 1264 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h gnu-user.h glibc-stdint.h" 1265 case ${target} in 1266 i[34567]86-*-linux*) 1267 tm_file="${tm_file} linux.h" 1268 # Assume modern glibc 1269 default_gnu_indirect_function=yes 1270 if test x$enable_targets = xall; then 1271 tm_file="${tm_file} i386/x86-64.h i386/gnu-user-common.h i386/gnu-user64.h i386/linux-common.h i386/linux64.h" 1272 tm_defines="${tm_defines} TARGET_BI_ARCH=1" 1273 tmake_file="${tmake_file} i386/t-linux64" 1274 x86_multilibs="${with_multilib_list}" 1275 if test "$x86_multilibs" = "default"; then 1276 x86_multilibs="m64,m32" 1277 fi 1278 x86_multilibs=`echo $x86_multilibs | sed -e 's/,/ /g'` 1279 for x86_multilib in ${x86_multilibs}; do 1280 case ${x86_multilib} in 1281 m32 | m64 | mx32) 1282 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${x86_multilib}" 1283 ;; 1284 *) 1285 echo "--with-multilib-list=${x86_with_multilib} not supported." 1286 exit 1 1287 esac 1288 done 1289 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'` 1290 need_64bit_isa=yes 1291 case X"${with_cpu}" in 1292 Xgeneric|Xatom|Xcore2|Xcorei7|Xcorei7-avx|Xnocona|Xx86-64|Xbdver3|Xbdver2|Xbdver1|Xbtver2|Xbtver1|Xamdfam10|Xbarcelona|Xk8|Xopteron|Xathlon64|Xathlon-fx|Xathlon64-sse3|Xk8-sse3|Xopteron-sse3) 1293 ;; 1294 X) 1295 if test x$with_cpu_64 = x; then 1296 with_cpu_64=generic 1297 fi 1298 ;; 1299 *) 1300 echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2 1301 echo "generic atom core2 corei7 corei7-avx nocona x86-64 bdver3 bdver2 bdver1 btver2 btver1 amdfam10 barcelona k8 opteron athlon64 athlon-fx athlon64-sse3 k8-sse3 opteron-sse3" 1>&2 1302 exit 1 1303 ;; 1304 esac 1305 else 1306 tm_file="${tm_file} i386/gnu-user-common.h i386/gnu-user.h i386/linux-common.h i386/linux.h" 1307 fi 1308 ;; 1309 i[34567]86-*-knetbsd*-gnu) 1310 tm_file="${tm_file} i386/gnu-user-common.h i386/gnu-user.h knetbsd-gnu.h i386/knetbsd-gnu.h" 1311 ;; 1312 i[34567]86-*-kfreebsd*-gnu) 1313 tm_file="${tm_file} i386/gnu-user-common.h i386/gnu-user.h kfreebsd-gnu.h i386/kfreebsd-gnu.h" 1314 ;; 1315 i[34567]86-*-kopensolaris*-gnu) 1316 tm_file="${tm_file} i386/gnu-user-common.h i386/gnu-user.h kopensolaris-gnu.h i386/kopensolaris-gnu.h" 1317 ;; 1318 i[34567]86-*-gnu*) 1319 tm_file="$tm_file i386/gnu-user-common.h i386/gnu-user.h gnu.h i386/gnu.h" 1320 ;; 1321 esac 1322 ;; 1323x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu) 1324 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h gnu-user.h glibc-stdint.h \ 1325 i386/x86-64.h i386/gnu-user-common.h i386/gnu-user64.h" 1326 case ${target} in 1327 x86_64-*-linux*) 1328 tm_file="${tm_file} linux.h i386/linux-common.h i386/linux64.h" 1329 # Assume modern glibc 1330 default_gnu_indirect_function=yes 1331 ;; 1332 x86_64-*-kfreebsd*-gnu) 1333 tm_file="${tm_file} kfreebsd-gnu.h i386/kfreebsd-gnu64.h" 1334 ;; 1335 x86_64-*-knetbsd*-gnu) 1336 tm_file="${tm_file} knetbsd-gnu.h" 1337 ;; 1338 esac 1339 tmake_file="${tmake_file} i386/t-linux64" 1340 x86_multilibs="${with_multilib_list}" 1341 if test "$x86_multilibs" = "default"; then 1342 case ${with_abi} in 1343 x32 | mx32) 1344 x86_multilibs="mx32" 1345 ;; 1346 *) 1347 x86_multilibs="m64,m32" 1348 ;; 1349 esac 1350 fi 1351 x86_multilibs=`echo $x86_multilibs | sed -e 's/,/ /g'` 1352 for x86_multilib in ${x86_multilibs}; do 1353 case ${x86_multilib} in 1354 m32 | m64 | mx32) 1355 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${x86_multilib}" 1356 ;; 1357 *) 1358 echo "--with-multilib-list=${x86_with_multilib} not supported." 1359 exit 1 1360 esac 1361 done 1362 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'` 1363 ;; 1364i[34567]86-pc-msdosdjgpp*) 1365 xm_file=i386/xm-djgpp.h 1366 tm_file="dbxcoff.h ${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/djgpp.h i386/djgpp-stdint.h" 1367 native_system_header_dir=/dev/env/DJDIR/include 1368 extra_options="${extra_options} i386/djgpp.opt" 1369 gnu_ld=yes 1370 gas=yes 1371 use_gcc_stdint=wrap 1372 ;; 1373i[34567]86-*-lynxos*) 1374 xm_defines=POSIX 1375 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/lynx.h lynx.h" 1376 tmake_file="${tmake_file} t-lynx" 1377 extra_options="${extra_options} lynx.opt" 1378 thread_file=lynx 1379 gnu_ld=yes 1380 gas=yes 1381 ;; 1382i[34567]86-*-nto-qnx*) 1383 tm_file="${tm_file} i386/att.h dbxelf.h tm-dwarf2.h elfos.h i386/unix.h i386/nto.h" 1384 extra_options="${extra_options} i386/nto.opt" 1385 gnu_ld=yes 1386 gas=yes 1387 ;; 1388i[34567]86-*-rtems*) 1389 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/i386elf.h i386/rtemself.h rtems.h newlib-stdint.h" 1390 tmake_file="${tmake_file} i386/t-rtems t-rtems" 1391 ;; 1392i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*) 1393 tm_file="${tm_file} i386/unix.h i386/att.h ${sol2_tm_file}" 1394 # Set default arch_32 to pentium4, tune_32 to generic like the other 1395 # i386 targets, although config.guess defaults to i386-pc-solaris2*. 1396 case ${target} in 1397 *-*-solaris2.9*) 1398 # Solaris 9/x86 cannot execute SSE/SSE2 instructions by default. 1399 with_arch_32=${with_arch_32:-pentiumpro} 1400 ;; 1401 *) 1402 with_arch_32=${with_arch_32:-pentium4} 1403 ;; 1404 esac 1405 with_tune_32=${with_tune_32:-generic} 1406 case ${target} in 1407 *-*-solaris2.1[0-9]*) 1408 tm_file="${tm_file} i386/x86-64.h i386/sol2-bi.h sol2-bi.h" 1409 tm_defines="${tm_defines} TARGET_BI_ARCH=1" 1410 tmake_file="$tmake_file i386/t-sol2-64" 1411 need_64bit_isa=yes 1412 case X"${with_cpu}" in 1413 Xgeneric|Xatom|Xcore2|Xcorei7|Xcorei7-avx|Xnocona|Xx86-64|Xbdver3|Xbdver2|Xbdver1|Xbtver2|Xbtver1|Xamdfam10|Xbarcelona|Xk8|Xopteron|Xathlon64|Xathlon-fx|Xathlon64-sse3|Xk8-sse3|Xopteron-sse3) 1414 ;; 1415 X) 1416 if test x$with_cpu_64 = x; then 1417 with_cpu_64=generic 1418 fi 1419 ;; 1420 *) 1421 echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2 1422 echo "generic atom core2 corei7 corei7-avx nocona x86-64 bdver3 bdver2 bdver1 btver2 btver1 amdfam10 barcelona k8 opteron athlon64 athlon-fx athlon64-sse3 k8-sse3 opteron-sse3" 1>&2 1423 exit 1 1424 ;; 1425 esac 1426 ;; 1427 esac 1428 ;; 1429i[4567]86-wrs-vxworks|i[4567]86-wrs-vxworksae) 1430 tm_file="${tm_file} i386/unix.h i386/att.h elfos.h vx-common.h" 1431 case ${target} in 1432 *-vxworksae*) 1433 tm_file="${tm_file} vxworksae.h i386/vx-common.h i386/vxworksae.h" 1434 tmake_file="${tmake_file} i386/t-vxworks i386/t-vxworksae" 1435 ;; 1436 *) 1437 tm_file="${tm_file} vxworks.h i386/vx-common.h i386/vxworks.h" 1438 tmake_file="${tmake_file} i386/t-vxworks" 1439 ;; 1440 esac 1441 ;; 1442i[34567]86-*-cygwin*) 1443 tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h i386/cygwin.h i386/cygwin-stdint.h" 1444 xm_file=i386/xm-cygwin.h 1445 tmake_file="${tmake_file} i386/t-cygming t-slibgcc" 1446 target_gtfiles="\$(srcdir)/config/i386/winnt.c" 1447 extra_options="${extra_options} i386/cygming.opt" 1448 extra_objs="winnt.o winnt-stubs.o" 1449 c_target_objs="${c_target_objs} msformat-c.o" 1450 cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o" 1451 if test x$enable_threads = xyes; then 1452 thread_file='posix' 1453 fi 1454 use_gcc_stdint=wrap 1455 ;; 1456i[34567]86-*-mingw* | x86_64-*-mingw*) 1457 tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h" 1458 xm_file=i386/xm-mingw32.h 1459 case ${target} in 1460 x86_64-*-* | *-w64-*) 1461 need_64bit_isa=yes 1462 ;; 1463 *) 1464 ;; 1465 esac 1466 if test x$enable_threads = xposix ; then 1467 tm_file="${tm_file} i386/mingw-pthread.h" 1468 fi 1469 tm_file="${tm_file} i386/mingw32.h" 1470 # This makes the logic if mingw's or the w64 feature set has to be used 1471 case ${target} in 1472 *-w64-*) 1473 user_headers_inc_next_post="${user_headers_inc_next_post} float.h" 1474 user_headers_inc_next_pre="${user_headers_inc_next_pre} stddef.h stdarg.h" 1475 tm_file="${tm_file} i386/mingw-w64.h" 1476 if test x$enable_targets = xall; then 1477 tm_defines="${tm_defines} TARGET_BI_ARCH=1" 1478 case X"${with_cpu}" in 1479 Xgeneric|Xatom|Xcore2|Xcorei7|Xcorei7-avx|Xnocona|Xx86-64|Xbdver3|Xbdver2|Xbdver1|Xbtver2|Xbtver1|Xamdfam10|Xbarcelona|Xk8|Xopteron|Xathlon64|Xathlon-fx|Xathlon64-sse3|Xk8-sse3|Xopteron-sse3) 1480 ;; 1481 X) 1482 if test x$with_cpu_64 = x; then 1483 with_cpu_64=generic 1484 fi 1485 ;; 1486 *) 1487 echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2 1488 echo "generic atom core2 corei7 Xcorei7-avx nocona x86-64 bdver3 bdver2 bdver1 btver2 btver1 amdfam10 barcelona k8 opteron athlon64 athlon-fx athlon64-sse3 k8-sse3 opteron-sse3" 1>&2 1489 exit 1 1490 ;; 1491 esac 1492 fi 1493 ;; 1494 *) 1495 ;; 1496 esac 1497 tm_file="${tm_file} i386/mingw-stdint.h" 1498 tmake_file="${tmake_file} i386/t-cygming t-slibgcc" 1499 case ${target} in 1500 x86_64-w64-*) 1501 tmake_file="${tmake_file} i386/t-mingw-w64" 1502 ;; 1503 i[34567]86-w64-*) 1504 tmake_file="${tmake_file} i386/t-mingw-w32" 1505 ;; 1506 esac 1507 native_system_header_dir=/mingw/include 1508 target_gtfiles="\$(srcdir)/config/i386/winnt.c" 1509 extra_options="${extra_options} i386/cygming.opt i386/mingw.opt" 1510 case ${target} in 1511 *-w64-*) 1512 extra_options="${extra_options} i386/mingw-w64.opt" 1513 ;; 1514 *) 1515 ;; 1516 esac 1517 extra_objs="winnt.o winnt-stubs.o" 1518 c_target_objs="${c_target_objs} msformat-c.o" 1519 cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o" 1520 gas=yes 1521 gnu_ld=yes 1522 default_use_cxa_atexit=yes 1523 use_gcc_stdint=wrap 1524 case ${enable_threads} in 1525 "" | yes | win32) 1526 thread_file='win32' 1527 ;; 1528 posix) 1529 thread_file='posix' 1530 ;; 1531 esac 1532 case ${target} in 1533 *mingw32crt*) 1534 tm_file="${tm_file} i386/crtdll.h" 1535 ;; 1536 *mingw32msv* | *mingw*) 1537 ;; 1538 esac 1539 ;; 1540i[34567]86-*-interix[3-9]*) 1541 tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/i386-interix.h" 1542 tmake_file="${tmake_file} i386/t-interix" 1543 extra_options="${extra_options} rpath.opt i386/interix.opt" 1544 extra_objs="winnt.o winnt-stubs.o" 1545 target_gtfiles="\$(srcdir)/config/i386/winnt.c" 1546 if test x$enable_threads = xyes ; then 1547 thread_file='posix' 1548 fi 1549 if test x$stabs = xyes ; then 1550 tm_file="${tm_file} dbxcoff.h" 1551 fi 1552 ;; 1553ia64*-*-elf*) 1554 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h ia64/sysv4.h ia64/elf.h" 1555 tmake_file="ia64/t-ia64" 1556 target_cpu_default="0" 1557 if test x$gas = xyes 1558 then 1559 target_cpu_default="${target_cpu_default}|MASK_GNU_AS" 1560 fi 1561 if test x$gnu_ld = xyes 1562 then 1563 target_cpu_default="${target_cpu_default}|MASK_GNU_LD" 1564 fi 1565 ;; 1566ia64*-*-freebsd*) 1567 tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file} ia64/sysv4.h ia64/freebsd.h" 1568 target_cpu_default="MASK_GNU_AS|MASK_GNU_LD" 1569 tmake_file="${tmake_file} ia64/t-ia64" 1570 ;; 1571ia64*-*-linux*) 1572 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ia64/sysv4.h ia64/linux.h" 1573 tmake_file="${tmake_file} ia64/t-ia64 ia64/t-linux t-libunwind" 1574 target_cpu_default="MASK_GNU_AS|MASK_GNU_LD" 1575 ;; 1576ia64*-*-hpux*) 1577 tm_file="${tm_file} dbxelf.h elfos.h ia64/sysv4.h ia64/hpux.h" 1578 tmake_file="ia64/t-ia64 ia64/t-hpux t-slibgcc" 1579 target_cpu_default="MASK_GNU_AS" 1580 case x$enable_threads in 1581 x | xyes | xposix ) 1582 thread_file=posix 1583 ;; 1584 esac 1585 use_collect2=no 1586 c_target_objs="ia64-c.o" 1587 cxx_target_objs="ia64-c.o" 1588 extra_options="${extra_options} ia64/ilp32.opt hpux11.opt" 1589 use_gcc_stdint=wrap 1590 tm_file="${tm_file} hpux-stdint.h" 1591 case ${target} in 1592 *-*-hpux11.3*) 1593 tm_file="${tm_file} ia64/hpux-unix2003.h" 1594 ;; 1595 esac 1596 ;; 1597ia64-hp-*vms*) 1598 tm_file="${tm_file} elfos.h ia64/sysv4.h vms/vms.h ia64/vms.h" 1599 tmake_file="${tmake_file} ia64/t-ia64" 1600 target_cpu_default="0" 1601 if test x$gas = xyes 1602 then 1603 target_cpu_default="${target_cpu_default}|MASK_GNU_AS" 1604 fi 1605 extra_options="${extra_options} ia64/vms.opt" 1606 ;; 1607iq2000*-*-elf*) 1608 tm_file="elfos.h newlib-stdint.h iq2000/iq2000.h" 1609 out_file=iq2000/iq2000.c 1610 md_file=iq2000/iq2000.md 1611 ;; 1612lm32-*-elf*) 1613 tm_file="dbxelf.h elfos.h ${tm_file}" 1614 tmake_file="${tmake_file} lm32/t-lm32" 1615 ;; 1616lm32-*-rtems*) 1617 tm_file="dbxelf.h elfos.h ${tm_file} lm32/rtems.h rtems.h newlib-stdint.h" 1618 tmake_file="${tmake_file} lm32/t-lm32" 1619 tmake_file="${tmake_file} t-rtems" 1620 tmake_file="${tmake_file} lm32/t-rtems" 1621 ;; 1622lm32-*-uclinux*) 1623 tm_file="dbxelf.h elfos.h ${tm_file} gnu-user.h linux.h lm32/uclinux-elf.h" 1624 tmake_file="${tmake_file} lm32/t-lm32" 1625 ;; 1626m32r-*-elf*) 1627 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}" 1628 ;; 1629m32rle-*-elf*) 1630 tm_file="dbxelf.h elfos.h newlib-stdint.h m32r/little.h ${tm_file}" 1631 ;; 1632m32r-*-rtems*) 1633 tm_file="dbxelf.h elfos.h ${tm_file} m32r/rtems.h rtems.h newlib-stdint.h" 1634 tmake_file="m32r/t-m32r t-rtems" 1635 ;; 1636m32r-*-linux*) 1637 tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ${tm_file} m32r/linux.h" 1638 # We override the tmake_file for linux -- why? 1639 tmake_file="m32r/t-linux t-slibgcc" 1640 gnu_ld=yes 1641 if test x$enable_threads = xyes; then 1642 thread_file='posix' 1643 fi 1644 ;; 1645m32rle-*-linux*) 1646 tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h m32r/little.h ${tm_file} m32r/linux.h" 1647 # We override the tmake_file for linux -- why? 1648 tmake_file="m32r/t-linux t-slibgcc" 1649 gnu_ld=yes 1650 if test x$enable_threads = xyes; then 1651 thread_file='posix' 1652 fi 1653 ;; 1654m68k-*-elf* | fido-*-elf*) 1655 case ${target} in 1656 fido-*-elf*) 1657 # Check that $with_cpu makes sense. 1658 case $with_cpu in 1659 "" | "fidoa") 1660 ;; 1661 *) 1662 echo "Cannot accept --with-cpu=$with_cpu" 1663 exit 1 1664 ;; 1665 esac 1666 with_cpu=fidoa 1667 ;; 1668 *) 1669 default_m68k_cpu=68020 1670 default_cf_cpu=5206 1671 ;; 1672 esac 1673 tm_file="${tm_file} m68k/m68k-none.h m68k/m68kelf.h dbxelf.h elfos.h newlib-stdint.h m68k/m68kemb.h m68k/m68020-elf.h" 1674 tm_defines="${tm_defines} MOTOROLA=1" 1675 tmake_file="m68k/t-floatlib m68k/t-m68kbare m68k/t-m68kelf" 1676 # Add multilibs for targets other than fido. 1677 case ${target} in 1678 fido-*-elf*) 1679 ;; 1680 *) 1681 tmake_file="$tmake_file m68k/t-mlibs" 1682 ;; 1683 esac 1684 ;; 1685m68k*-*-netbsdelf*) 1686 default_m68k_cpu=68020 1687 default_cf_cpu=5475 1688 tm_file="${tm_file} dbxelf.h elfos.h netbsd.h netbsd-elf.h m68k/netbsd-elf.h" 1689 extra_options="${extra_options} netbsd.opt netbsd-elf.opt" 1690 tm_defines="${tm_defines} MOTOROLA=1" 1691 ;; 1692m68k*-*-openbsd*) 1693 default_m68k_cpu=68020 1694 default_cf_cpu=5475 1695 # needed to unconfuse gdb 1696 tm_defines="${tm_defines} OBSD_OLD_GAS" 1697 tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h m68k/openbsd.h" 1698 extra_options="${extra_options} openbsd.opt" 1699 tmake_file="t-openbsd m68k/t-openbsd" 1700 # we need collect2 until our bug is fixed... 1701 use_collect2=yes 1702 ;; 1703m68k-*-uclinux*) # Motorola m68k/ColdFire running uClinux 1704 # with uClibc, using the new GNU/Linux-style 1705 # ABI. 1706 default_m68k_cpu=68020 1707 default_cf_cpu=5206 1708 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h flat.h m68k/linux.h m68k/uclinux.h ./sysroot-suffix.h" 1709 extra_options="${extra_options} m68k/uclinux.opt" 1710 tm_defines="${tm_defines} MOTOROLA=1" 1711 tmake_file="m68k/t-floatlib m68k/t-uclinux m68k/t-mlibs" 1712 ;; 1713m68k-*-linux*) # Motorola m68k's running GNU/Linux 1714 # with ELF format using glibc 2 1715 # aka the GNU/Linux C library 6. 1716 default_m68k_cpu=68020 1717 default_cf_cpu=5475 1718 with_arch=${with_arch:-m68k} 1719 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h m68k/linux.h ./sysroot-suffix.h" 1720 extra_options="${extra_options} m68k/ieee.opt" 1721 tm_defines="${tm_defines} MOTOROLA=1" 1722 tmake_file="${tmake_file} m68k/t-floatlib m68k/t-linux m68k/t-mlibs" 1723 ;; 1724m68k-*-rtems*) 1725 default_m68k_cpu=68020 1726 default_cf_cpu=5206 1727 tmake_file="m68k/t-floatlib m68k/t-m68kbare m68k/t-crtstuff t-rtems m68k/t-rtems m68k/t-mlibs" 1728 tm_file="${tm_file} m68k/m68k-none.h m68k/m68kelf.h dbxelf.h elfos.h m68k/m68kemb.h m68k/m68020-elf.h m68k/rtemself.h rtems.h newlib-stdint.h" 1729 tm_defines="${tm_defines} MOTOROLA=1" 1730 ;; 1731mcore-*-elf) 1732 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file} mcore/mcore-elf.h" 1733 tmake_file=mcore/t-mcore 1734 inhibit_libc=true 1735 ;; 1736mep-*-*) 1737 tm_file="dbxelf.h elfos.h ${tm_file}" 1738 tmake_file=mep/t-mep 1739 c_target_objs="mep-pragma.o" 1740 cxx_target_objs="mep-pragma.o" 1741 if test -d "${srcdir}/../newlib/libc/include" && 1742 test "x$with_headers" = x; then 1743 with_headers=yes 1744 fi 1745 use_gcc_stdint=wrap 1746 ;; 1747microblaze*-linux*) 1748 case $target in 1749 microblazeel-*) 1750 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=0" 1751 ;; 1752 microblaze-*) 1753 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=4321" 1754 ;; 1755 esac 1756 tm_file="${tm_file} dbxelf.h gnu-user.h linux.h microblaze/linux.h" 1757 tm_file="${tm_file} glibc-stdint.h" 1758 c_target_objs="${c_target_objs} microblaze-c.o" 1759 cxx_target_objs="${cxx_target_objs} microblaze-c.o" 1760 tmake_file="${tmake_file} microblaze/t-microblaze" 1761 tmake_file="${tmake_file} microblaze/t-microblaze-linux" 1762 ;; 1763microblaze*-*-rtems*) 1764 case $target in 1765 microblazeel-*) 1766 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=0" 1767 ;; 1768 microblaze-*) 1769 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=4321" 1770 ;; 1771 esac 1772 tm_file="${tm_file} dbxelf.h" 1773 tm_file="${tm_file} microblaze/rtems.h rtems.h newlib-stdint.h" 1774 c_target_objs="${c_target_objs} microblaze-c.o" 1775 cxx_target_objs="${cxx_target_objs} microblaze-c.o" 1776 tmake_file="${tmake_file} microblaze/t-microblaze" 1777 tmake_file="${tmake_file} t-rtems microblaze/t-rtems" 1778 ;; 1779microblaze*-*-elf) 1780 case $target in 1781 microblazeel-*) 1782 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=0" 1783 ;; 1784 microblaze-*) 1785 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=4321" 1786 ;; 1787 esac 1788 tm_file="${tm_file} dbxelf.h newlib-stdint.h" 1789 c_target_objs="${c_target_objs} microblaze-c.o" 1790 cxx_target_objs="${cxx_target_objs} microblaze-c.o" 1791 tmake_file="${tmake_file} microblaze/t-microblaze" 1792 ;; 1793mips*-*-netbsd*) # NetBSD/mips, either endian. 1794 target_cpu_default="MASK_ABICALLS" 1795 tm_file="elfos.h ${tm_file} mips/elf.h netbsd.h netbsd-elf.h mips/netbsd.h" 1796 extra_options="${extra_options} netbsd.opt netbsd-elf.opt" 1797 ;; 1798mips*-mti-linux*) 1799 tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ${tm_file} mips/gnu-user.h mips/gnu-user64.h mips/linux64.h mips/linux-common.h mips/mti-linux.h" 1800 tmake_file="${tmake_file} mips/t-mti-linux" 1801 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33 MIPS_ABI_DEFAULT=ABI_32" 1802 gnu_ld=yes 1803 gas=yes 1804 test x$with_llsc != x || with_llsc=yes 1805 ;; 1806mips64*-*-linux* | mipsisa64*-*-linux*) 1807 tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ${tm_file} mips/gnu-user.h mips/gnu-user64.h mips/linux64.h mips/linux-common.h" 1808 tmake_file="${tmake_file} mips/t-linux64" 1809 tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_N32" 1810 case ${target} in 1811 mips64el-st-linux-gnu) 1812 tm_file="${tm_file} mips/st.h" 1813 tmake_file="${tmake_file} mips/t-st" 1814 ;; 1815 mips64octeon*-*-linux*) 1816 tm_defines="${tm_defines} MIPS_CPU_STRING_DEFAULT=\\\"octeon\\\"" 1817 target_cpu_default=MASK_SOFT_FLOAT_ABI 1818 ;; 1819 mipsisa64r2*-*-linux*) 1820 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=65" 1821 ;; 1822 esac 1823 gnu_ld=yes 1824 gas=yes 1825 test x$with_llsc != x || with_llsc=yes 1826 ;; 1827mips*-*-linux*) # Linux MIPS, either endian. 1828 tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ${tm_file} mips/gnu-user.h mips/linux.h" 1829 if test x$enable_targets = xall; then 1830 tm_file="${tm_file} mips/gnu-user64.h mips/linux64.h" 1831 tmake_file="${tmake_file} mips/t-linux64" 1832 fi 1833 tm_file="${tm_file} mips/linux-common.h" 1834 case ${target} in 1835 mipsisa32r2*) 1836 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33" 1837 ;; 1838 mipsisa32*) 1839 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=32" 1840 esac 1841 test x$with_llsc != x || with_llsc=yes 1842 ;; 1843mips*-mti-elf*) 1844 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/sde.h mips/mti-elf.h" 1845 tmake_file="mips/t-mti-elf" 1846 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33 MIPS_ABI_DEFAULT=ABI_32" 1847 ;; 1848mips*-sde-elf*) 1849 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/sde.h" 1850 tmake_file="mips/t-sde" 1851 extra_options="${extra_options} mips/sde.opt" 1852 case "${with_newlib}" in 1853 yes) 1854 # newlib / libgloss. 1855 ;; 1856 *) 1857 # MIPS toolkit libraries. 1858 tm_file="$tm_file mips/sdemtk.h" 1859 tmake_file="$tmake_file mips/t-sdemtk" 1860 case ${enable_threads} in 1861 "" | yes | mipssde) 1862 thread_file='mipssde' 1863 ;; 1864 esac 1865 ;; 1866 esac 1867 case ${target} in 1868 mipsisa32r2*) 1869 tm_defines="MIPS_ISA_DEFAULT=33 MIPS_ABI_DEFAULT=ABI_32" 1870 ;; 1871 mipsisa32*) 1872 tm_defines="MIPS_ISA_DEFAULT=32 MIPS_ABI_DEFAULT=ABI_32" 1873 ;; 1874 mipsisa64r2*) 1875 tm_defines="MIPS_ISA_DEFAULT=65 MIPS_ABI_DEFAULT=ABI_N32" 1876 ;; 1877 mipsisa64*) 1878 tm_defines="MIPS_ISA_DEFAULT=64 MIPS_ABI_DEFAULT=ABI_N32" 1879 ;; 1880 esac 1881 ;; 1882mipsisa32-*-elf* | mipsisa32el-*-elf* | \ 1883mipsisa32r2-*-elf* | mipsisa32r2el-*-elf* | \ 1884mipsisa64-*-elf* | mipsisa64el-*-elf* | \ 1885mipsisa64r2-*-elf* | mipsisa64r2el-*-elf*) 1886 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h" 1887 tmake_file="mips/t-isa3264" 1888 case ${target} in 1889 mipsisa32r2*) 1890 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33" 1891 ;; 1892 mipsisa32*) 1893 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=32" 1894 ;; 1895 mipsisa64r2*) 1896 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=65" 1897 ;; 1898 mipsisa64*) 1899 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64" 1900 ;; 1901 esac 1902 case ${target} in 1903 mipsisa32*-*-elfoabi*) 1904 tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_32" 1905 tm_file="${tm_file} mips/elfoabi.h" 1906 ;; 1907 mipsisa64*-*-elfoabi*) 1908 tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_O64" 1909 tm_file="${tm_file} mips/elfoabi.h" 1910 ;; 1911 *-*-elf*) 1912 tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_EABI" 1913 ;; 1914 esac 1915 ;; 1916mipsisa64sr71k-*-elf*) 1917 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h" 1918 tmake_file=mips/t-sr71k 1919 target_cpu_default="MASK_64BIT|MASK_FLOAT64" 1920 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64 MIPS_CPU_STRING_DEFAULT=\\\"sr71000\\\" MIPS_ABI_DEFAULT=ABI_EABI" 1921 ;; 1922mipsisa64sb1-*-elf* | mipsisa64sb1el-*-elf*) 1923 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h" 1924 tmake_file="mips/t-elf mips/t-sb1" 1925 target_cpu_default="MASK_64BIT|MASK_FLOAT64" 1926 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64 MIPS_CPU_STRING_DEFAULT=\\\"sb1\\\" MIPS_ABI_DEFAULT=ABI_O64" 1927 ;; 1928mips-*-elf* | mipsel-*-elf*) 1929 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h" 1930 tmake_file="mips/t-elf" 1931 ;; 1932mips64-*-elf* | mips64el-*-elf*) 1933 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h" 1934 tmake_file="mips/t-elf" 1935 target_cpu_default="MASK_64BIT|MASK_FLOAT64" 1936 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64" 1937 ;; 1938mips64vr-*-elf* | mips64vrel-*-elf*) 1939 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/vr.h mips/elf.h" 1940 tmake_file=mips/t-vr 1941 tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_EABI" 1942 ;; 1943mips64orion-*-elf* | mips64orionel-*-elf*) 1944 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elforion.h mips/elf.h" 1945 tmake_file="mips/t-elf" 1946 target_cpu_default="MASK_64BIT|MASK_FLOAT64" 1947 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64" 1948 ;; 1949mips*-*-rtems*) 1950 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/rtems.h rtems.h" 1951 tmake_file="mips/t-elf t-rtems mips/t-rtems" 1952 ;; 1953mips-wrs-vxworks) 1954 tm_file="elfos.h ${tm_file} mips/elf.h vx-common.h vxworks.h mips/vxworks.h" 1955 tmake_file="${tmake_file} mips/t-vxworks" 1956 ;; 1957mipstx39-*-elf* | mipstx39el-*-elf*) 1958 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/r3900.h mips/elf.h" 1959 tmake_file="mips/t-r3900" 1960 ;; 1961mmix-knuth-mmixware) 1962 tm_file="${tm_file} newlib-stdint.h" 1963 need_64bit_hwint=yes 1964 use_gcc_stdint=wrap 1965 ;; 1966mn10300-*-*) 1967 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}" 1968 if test x$stabs = xyes 1969 then 1970 tm_file="${tm_file} dbx.h" 1971 fi 1972 use_collect2=no 1973 use_gcc_stdint=wrap 1974 ;; 1975pdp11-*-*) 1976 tm_file="${tm_file} newlib-stdint.h" 1977 use_gcc_stdint=wrap 1978 ;; 1979picochip-*) 1980 tm_file="${tm_file} newlib-stdint.h" 1981 use_gcc_stdint=wrap 1982 tmake_file="picochip/t-picochip t-pnt16-warn" 1983 ;; 1984# port not yet contributed 1985#powerpc-*-openbsd*) 1986# tmake_file="${tmake_file} rs6000/t-fprules" 1987# extra_headers= 1988# ;; 1989powerpc-*-darwin*) 1990 extra_options="${extra_options} rs6000/darwin.opt" 1991 case ${target} in 1992 *-darwin1[0-9]* | *-darwin[8-9]*) 1993 tmake_file="${tmake_file} rs6000/t-darwin8" 1994 tm_file="${tm_file} rs6000/darwin8.h" 1995 ;; 1996 *-darwin7*) 1997 tm_file="${tm_file} rs6000/darwin7.h" 1998 ;; 1999 *-darwin[0-6]*) 2000 ;; 2001 esac 2002 tmake_file="${tmake_file} t-slibgcc" 2003 extra_headers=altivec.h 2004 ;; 2005powerpc64-*-darwin*) 2006 extra_options="${extra_options} ${cpu_type}/darwin.opt" 2007 tmake_file="${tmake_file} ${cpu_type}/t-darwin64 t-slibgcc" 2008 tm_file="${tm_file} ${cpu_type}/darwin8.h ${cpu_type}/darwin64.h" 2009 extra_headers=altivec.h 2010 ;; 2011powerpc*-*-freebsd*) 2012 tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file} rs6000/sysv4.h" 2013 extra_options="${extra_options} rs6000/sysv4.opt" 2014 tmake_file="rs6000/t-fprules rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm" 2015 case ${target} in 2016 powerpc64*) 2017 tm_file="${tm_file} rs6000/default64.h rs6000/freebsd64.h" 2018 tmake_file="${tmake_file} rs6000/t-freebsd64" 2019 extra_options="${extra_options} rs6000/linux64.opt" 2020 ;; 2021 *) 2022 tm_file="${tm_file} rs6000/freebsd.h" 2023 ;; 2024 esac 2025 ;; 2026powerpc-*-netbsd*) 2027 tm_file="${tm_file} dbxelf.h elfos.h netbsd.h netbsd-elf.h freebsd-spec.h rs6000/sysv4.h rs6000/netbsd.h" 2028 extra_options="${extra_options} netbsd.opt netbsd-elf.opt" 2029 tmake_file="${tmake_file} rs6000/t-netbsd" 2030 extra_options="${extra_options} rs6000/sysv4.opt" 2031 ;; 2032powerpc-*-eabispe*) 2033 tm_file="${tm_file} dbxelf.h elfos.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/eabispe.h" 2034 extra_options="${extra_options} rs6000/sysv4.opt" 2035 tmake_file="rs6000/t-spe rs6000/t-ppccomm" 2036 use_gcc_stdint=wrap 2037 ;; 2038powerpc-*-eabisimaltivec*) 2039 tm_file="${tm_file} dbxelf.h elfos.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/eabisim.h rs6000/eabialtivec.h" 2040 extra_options="${extra_options} rs6000/sysv4.opt" 2041 tmake_file="rs6000/t-fprules rs6000/t-ppcendian rs6000/t-ppccomm" 2042 use_gcc_stdint=wrap 2043 ;; 2044powerpc-*-eabisim*) 2045 tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/eabisim.h" 2046 extra_options="${extra_options} rs6000/sysv4.opt" 2047 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm" 2048 use_gcc_stdint=wrap 2049 ;; 2050powerpc-*-elf*) 2051 tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h" 2052 extra_options="${extra_options} rs6000/sysv4.opt" 2053 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm" 2054 ;; 2055powerpc-*-eabialtivec*) 2056 tm_file="${tm_file} dbxelf.h elfos.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/eabialtivec.h" 2057 extra_options="${extra_options} rs6000/sysv4.opt" 2058 tmake_file="rs6000/t-fprules rs6000/t-ppcendian rs6000/t-ppccomm" 2059 use_gcc_stdint=wrap 2060 ;; 2061powerpc-xilinx-eabi*) 2062 tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/singlefp.h rs6000/xfpu.h rs6000/xilinx.h" 2063 extra_options="${extra_options} rs6000/sysv4.opt rs6000/xilinx.opt" 2064 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm rs6000/t-xilinx" 2065 use_gcc_stdint=wrap 2066 ;; 2067powerpc-*-eabi*) 2068 tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h" 2069 extra_options="${extra_options} rs6000/sysv4.opt" 2070 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm" 2071 use_gcc_stdint=wrap 2072 ;; 2073powerpc-*-rtems*) 2074 tm_file="${tm_file} dbxelf.h elfos.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/rtems.h rtems.h" 2075 extra_options="${extra_options} rs6000/sysv4.opt" 2076 tmake_file="rs6000/t-fprules rs6000/t-rtems t-rtems rs6000/t-ppccomm" 2077 ;; 2078powerpc*-*-linux*) 2079 tm_file="${tm_file} dbxelf.h elfos.h freebsd-spec.h rs6000/sysv4.h" 2080 extra_options="${extra_options} rs6000/sysv4.opt" 2081 tmake_file="rs6000/t-fprules rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm" 2082 case ${target} in 2083 powerpc*le-*-*) 2084 tm_file="${tm_file} rs6000/sysv4le.h" ;; 2085 esac 2086 maybe_biarch=yes 2087 case ${target} in 2088 powerpc64*-*-linux*spe* | powerpc64*-*-linux*paired*) 2089 echo "*** Configuration ${target} not supported" 1>&2 2090 exit 1 2091 ;; 2092 powerpc*-*-linux*spe* | powerpc*-*-linux*paired*) 2093 maybe_biarch= 2094 ;; 2095 powerpc64*-*-linux*) 2096 test x$with_cpu != x || cpu_is_64bit=yes 2097 maybe_biarch=always 2098 ;; 2099 esac 2100 case ${maybe_biarch}:${enable_targets}:${cpu_is_64bit} in 2101 always:* | yes:*powerpc64* | yes:all:* | yes:*:yes) 2102 if test x$cpu_is_64bit = xyes; then 2103 tm_file="${tm_file} rs6000/default64.h" 2104 fi 2105 tm_file="rs6000/biarch64.h ${tm_file} rs6000/linux64.h glibc-stdint.h" 2106 tmake_file="$tmake_file rs6000/t-linux64" 2107 extra_options="${extra_options} rs6000/linux64.opt" 2108 ;; 2109 *) 2110 tm_file="${tm_file} rs6000/linux.h glibc-stdint.h" 2111 tmake_file="$tmake_file rs6000/t-linux" 2112 ;; 2113 esac 2114 case ${target} in 2115 powerpc*-*-linux*ppc476*) 2116 tm_file="${tm_file} rs6000/476.h" 2117 extra_options="${extra_options} rs6000/476.opt" ;; 2118 powerpc*-*-linux*altivec*) 2119 tm_file="${tm_file} rs6000/linuxaltivec.h" ;; 2120 powerpc*-*-linux*spe*) 2121 tm_file="${tm_file} rs6000/linuxspe.h rs6000/e500.h" ;; 2122 powerpc*-*-linux*paired*) 2123 tm_file="${tm_file} rs6000/750cl.h" ;; 2124 esac 2125 if test x${enable_secureplt} = xyes; then 2126 tm_file="rs6000/secureplt.h ${tm_file}" 2127 fi 2128 ;; 2129powerpc-wrs-vxworks|powerpc-wrs-vxworksae) 2130 tm_file="${tm_file} elfos.h freebsd-spec.h rs6000/sysv4.h" 2131 tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-ppccomm rs6000/t-vxworks" 2132 extra_options="${extra_options} rs6000/sysv4.opt" 2133 extra_headers=ppc-asm.h 2134 case ${target} in 2135 *-vxworksae*) 2136 tm_file="${tm_file} vx-common.h vxworksae.h rs6000/vxworks.h rs6000/e500.h" 2137 tmake_file="${tmake_file} rs6000/t-vxworksae" 2138 ;; 2139 *-vxworks*) 2140 tm_file="${tm_file} vx-common.h vxworks.h rs6000/vxworks.h rs6000/e500.h" 2141 ;; 2142 esac 2143 ;; 2144powerpc-*-lynxos*) 2145 xm_defines=POSIX 2146 tm_file="${tm_file} dbxelf.h elfos.h rs6000/sysv4.h rs6000/lynx.h lynx.h" 2147 tmake_file="t-lynx rs6000/t-lynx" 2148 extra_options="${extra_options} rs6000/sysv4.opt lynx.opt" 2149 thread_file=lynx 2150 gnu_ld=yes 2151 gas=yes 2152 ;; 2153powerpcle-*-elf*) 2154 tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/sysv4le.h" 2155 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm" 2156 extra_options="${extra_options} rs6000/sysv4.opt" 2157 ;; 2158powerpcle-*-eabisim*) 2159 tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/sysv4le.h rs6000/eabi.h rs6000/e500.h rs6000/eabisim.h" 2160 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm" 2161 extra_options="${extra_options} rs6000/sysv4.opt" 2162 use_gcc_stdint=wrap 2163 ;; 2164powerpcle-*-eabi*) 2165 tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/sysv4le.h rs6000/eabi.h rs6000/e500.h" 2166 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm" 2167 extra_options="${extra_options} rs6000/sysv4.opt" 2168 use_gcc_stdint=wrap 2169 ;; 2170rs6000-ibm-aix4.[3456789]* | powerpc-ibm-aix4.[3456789]*) 2171 tm_file="rs6000/biarch64.h ${tm_file} rs6000/aix.h rs6000/aix43.h rs6000/xcoff.h rs6000/aix-stdint.h" 2172 tmake_file="rs6000/t-aix43 t-slibgcc" 2173 extra_options="${extra_options} rs6000/aix64.opt" 2174 use_collect2=yes 2175 thread_file='aix' 2176 use_gcc_stdint=provide 2177 extra_headers= 2178 ;; 2179rs6000-ibm-aix5.1.* | powerpc-ibm-aix5.1.*) 2180 tm_file="rs6000/biarch64.h ${tm_file} rs6000/aix.h rs6000/aix51.h rs6000/xcoff.h rs6000/aix-stdint.h" 2181 extra_options="${extra_options} rs6000/aix64.opt" 2182 tmake_file="rs6000/t-aix43 t-slibgcc" 2183 use_collect2=yes 2184 thread_file='aix' 2185 use_gcc_stdint=wrap 2186 extra_headers= 2187 ;; 2188rs6000-ibm-aix5.2.* | powerpc-ibm-aix5.2.*) 2189 tm_file="${tm_file} rs6000/aix.h rs6000/aix52.h rs6000/xcoff.h rs6000/aix-stdint.h" 2190 tmake_file="rs6000/t-aix52 t-slibgcc" 2191 extra_options="${extra_options} rs6000/aix64.opt" 2192 use_collect2=yes 2193 thread_file='aix' 2194 use_gcc_stdint=wrap 2195 extra_headers= 2196 ;; 2197rs6000-ibm-aix5.3.* | powerpc-ibm-aix5.3.*) 2198 tm_file="${tm_file} rs6000/aix.h rs6000/aix53.h rs6000/xcoff.h rs6000/aix-stdint.h" 2199 tmake_file="rs6000/t-aix52 t-slibgcc" 2200 extra_options="${extra_options} rs6000/aix64.opt" 2201 use_collect2=yes 2202 thread_file='aix' 2203 use_gcc_stdint=wrap 2204 extra_headers=altivec.h 2205 ;; 2206rs6000-ibm-aix[6789].* | powerpc-ibm-aix[6789].*) 2207 tm_file="${tm_file} rs6000/aix.h rs6000/aix61.h rs6000/xcoff.h rs6000/aix-stdint.h" 2208 tmake_file="rs6000/t-aix52 t-slibgcc" 2209 extra_options="${extra_options} rs6000/aix64.opt" 2210 use_collect2=yes 2211 thread_file='aix' 2212 use_gcc_stdint=wrap 2213 extra_headers=altivec.h 2214 ;; 2215rl78-*-elf*) 2216 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}" 2217 target_has_targetm_common=no 2218 c_target_objs="rl78-c.o" 2219 cxx_target_objs="rl78-c.o" 2220 tmake_file="${tmake_file} rl78/t-rl78" 2221 ;; 2222rx-*-elf*) 2223 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}" 2224 tmake_file="${tmake_file} rx/t-rx" 2225 ;; 2226s390-*-linux*) 2227 default_gnu_indirect_function=yes 2228 tm_file="s390/s390.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h s390/linux.h" 2229 if test x$enable_targets = xall; then 2230 tmake_file="${tmake_file} s390/t-linux64" 2231 fi 2232 ;; 2233s390x-*-linux*) 2234 default_gnu_indirect_function=yes 2235 tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h s390/linux.h" 2236 tm_p_file=s390/s390-protos.h 2237 md_file=s390/s390.md 2238 extra_modes=s390/s390-modes.def 2239 out_file=s390/s390.c 2240 tmake_file="${tmake_file} s390/t-linux64" 2241 ;; 2242s390x-ibm-tpf*) 2243 tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h s390/tpf.h" 2244 tm_p_file=s390/s390-protos.h 2245 md_file=s390/s390.md 2246 extra_modes=s390/s390-modes.def 2247 out_file=s390/s390.c 2248 thread_file='tpf' 2249 extra_options="${extra_options} s390/tpf.opt" 2250 ;; 2251score-*-elf) 2252 gas=yes 2253 gnu_ld=yes 2254 tm_file="dbxelf.h elfos.h score/elf.h score/score.h newlib-stdint.h" 2255 ;; 2256sh-*-elf* | sh[12346l]*-*-elf* | \ 2257 sh-*-linux* | sh[2346lbe]*-*-linux* | \ 2258 sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \ 2259 sh64-*-netbsd* | sh64l*-*-netbsd*) 2260 tmake_file="${tmake_file} sh/t-sh sh/t-elf" 2261 if test x${with_endian} = x; then 2262 case ${target} in 2263 sh[1234]*be-*-* | sh[1234]*eb-*-*) with_endian=big ;; 2264 shbe-*-* | sheb-*-*) with_endian=big,little ;; 2265 sh[1234]l* | sh[34]*-*-linux*) with_endian=little ;; 2266 shl* | sh64l* | sh*-*-linux* | \ 2267 sh5l* | sh-superh-elf) with_endian=little,big ;; 2268 sh[1234]*-*-*) with_endian=big ;; 2269 *) with_endian=big,little ;; 2270 esac 2271 fi 2272 # TM_ENDIAN_CONFIG is used by t-sh to determine multilibs. 2273 # First word : the default endian. 2274 # Second word: the secondary endian (optional). 2275 case ${with_endian} in 2276 big) TM_ENDIAN_CONFIG=mb ;; 2277 little) TM_ENDIAN_CONFIG=ml ;; 2278 big,little) TM_ENDIAN_CONFIG="mb ml" ;; 2279 little,big) TM_ENDIAN_CONFIG="ml mb" ;; 2280 *) echo "with_endian=${with_endian} not supported."; exit 1 ;; 2281 esac 2282 case ${with_endian} in 2283 little*) tm_file="sh/little.h ${tm_file}" ;; 2284 esac 2285 tm_file="${tm_file} dbxelf.h elfos.h sh/elf.h" 2286 case ${target} in 2287 sh*-*-linux*) tmake_file="${tmake_file} sh/t-linux" 2288 tm_file="${tm_file} gnu-user.h linux.h glibc-stdint.h sh/linux.h" ;; 2289 sh*-*-netbsd*) 2290 tm_file="${tm_file} netbsd.h netbsd-elf.h sh/netbsd-elf.h" 2291 extra_options="${extra_options} netbsd.opt netbsd-elf.opt" 2292 2293 ;; 2294 sh*-superh-elf) if test x$with_libgloss != xno; then 2295 with_libgloss=yes 2296 tm_file="${tm_file} sh/newlib.h" 2297 fi 2298 tm_file="${tm_file} sh/embed-elf.h" 2299 tm_file="${tm_file} sh/superh.h" 2300 extra_options="${extra_options} sh/superh.opt" ;; 2301 *) if test x$with_newlib = xyes \ 2302 && test x$with_libgloss = xyes; then 2303 tm_file="${tm_file} sh/newlib.h" 2304 fi 2305 tm_file="${tm_file} sh/embed-elf.h" ;; 2306 esac 2307 case ${target} in 2308 sh5*-*-netbsd*) 2309 # SHmedia, 32-bit ABI 2310 tmake_file="${tmake_file} sh/t-sh64" 2311 ;; 2312 sh64*-netbsd*) 2313 # SHmedia, 64-bit ABI 2314 tmake_file="${tmake_file} sh/t-sh64 sh/t-netbsd-sh5-64" 2315 ;; 2316 *-*-netbsd) 2317 ;; 2318 sh64*-*-linux*) 2319 tmake_file="${tmake_file} sh/t-sh64" 2320 tm_file="${tm_file} sh/sh64.h" 2321 extra_headers="shmedia.h ushmedia.h sshmedia.h" 2322 ;; 2323 sh64*) 2324 tmake_file="${tmake_file} sh/t-sh64" 2325 tm_file="${tm_file} sh/sh64.h" 2326 if test x$with_newlib = xyes; then 2327 tm_file="${tm_file} newlib-stdint.h" 2328 fi 2329 extra_headers="shmedia.h ushmedia.h sshmedia.h" 2330 ;; 2331 *-*-elf*) 2332 tm_file="${tm_file} newlib-stdint.h" 2333 ;; 2334 esac 2335 # sed el/eb endian suffixes away to avoid confusion with sh[23]e 2336 case `echo ${target} | sed 's/e[lb]-/-/'` in 2337 sh64*-*-netbsd*) sh_cpu_target=sh5-64media ;; 2338 sh64* | sh5*-*-netbsd*) sh_cpu_target=sh5-32media ;; 2339 sh4a_single_only*) sh_cpu_target=sh4a-single-only ;; 2340 sh4a_single*) sh_cpu_target=sh4a-single ;; 2341 sh4a_nofpu*) sh_cpu_target=sh4a-nofpu ;; 2342 sh4al) sh_cpu_target=sh4al ;; 2343 sh4a*) sh_cpu_target=sh4a ;; 2344 sh4_single_only*) sh_cpu_target=sh4-single-only ;; 2345 sh4_single*) sh_cpu_target=sh4-single ;; 2346 sh4_nofpu*) sh_cpu_target=sh4-nofpu ;; 2347 sh4* | sh-superh-*) sh_cpu_target=sh4 ;; 2348 sh3e*) sh_cpu_target=sh3e ;; 2349 sh*-*-netbsd* | sh3*) sh_cpu_target=sh3 ;; 2350 sh2a_single_only*) sh_cpu_target=sh2a-single-only ;; 2351 sh2a_single*) sh_cpu_target=sh2a-single ;; 2352 sh2a_nofpu*) sh_cpu_target=sh2a-nofpu ;; 2353 sh2a*) sh_cpu_target=sh2a ;; 2354 sh2e*) sh_cpu_target=sh2e ;; 2355 sh2*) sh_cpu_target=sh2 ;; 2356 *) sh_cpu_target=sh1 ;; 2357 esac 2358 # did the user say --without-fp ? 2359 if test x$with_fp = xno; then 2360 case ${sh_cpu_target} in 2361 sh5-*media) sh_cpu_target=${sh_cpu_target}-nofpu ;; 2362 sh4al | sh1) ;; 2363 sh4a* ) sh_cpu_target=sh4a-nofpu ;; 2364 sh4*) sh_cpu_target=sh4-nofpu ;; 2365 sh3*) sh_cpu_target=sh3 ;; 2366 sh2a*) sh_cpu_target=sh2a-nofpu ;; 2367 sh2*) sh_cpu_target=sh2 ;; 2368 *) echo --without-fp not available for $target: ignored 2369 esac 2370 tm_defines="$tm_defines STRICT_NOFPU=1" 2371 fi 2372 sh_cpu_default="`echo $with_cpu|sed s/^m/sh/|tr A-Z_ a-z-`" 2373 case $sh_cpu_default in 2374 sh5-64media-nofpu | sh5-64media | \ 2375 sh5-32media-nofpu | sh5-32media | sh5-compact-nofpu | sh5-compact | \ 2376 sh2a-single-only | sh2a-single | sh2a-nofpu | sh2a | \ 2377 sh4a-single-only | sh4a-single | sh4a-nofpu | sh4a | sh4al | \ 2378 sh4-single-only | sh4-single | sh4-nofpu | sh4 | sh4-300 | \ 2379 sh3e | sh3 | sh2e | sh2 | sh1) ;; 2380 "") sh_cpu_default=${sh_cpu_target} ;; 2381 *) echo "with_cpu=$with_cpu not supported"; exit 1 ;; 2382 esac 2383 sh_multilibs=${with_multilib_list} 2384 if test "$sh_multilibs" = "default" ; then 2385 case ${target} in 2386 sh64-superh-linux* | \ 2387 sh[1234]*) sh_multilibs=${sh_cpu_target} ;; 2388 sh64* | sh5*) sh_multilibs=m5-32media,m5-32media-nofpu,m5-compact,m5-compact-nofpu,m5-64media,m5-64media-nofpu ;; 2389 sh-superh-*) sh_multilibs=m4,m4-single,m4-single-only,m4-nofpu ;; 2390 sh*-*-linux*) sh_multilibs=m1,m2,m2a,m3e,m4 ;; 2391 sh*-*-netbsd*) sh_multilibs=m3,m3e,m4 ;; 2392 *) sh_multilibs=m1,m2,m2e,m4,m4-single,m4-single-only,m2a,m2a-single ;; 2393 esac 2394 if test x$with_fp = xno; then 2395 sh_multilibs="`echo $sh_multilibs|sed -e s/m4/sh4-nofpu/ -e s/,m4-[^,]*//g -e s/,m[23]e// -e s/m2a,m2a-single/m2a-nofpu/ -e s/m5-..m....,//g`" 2396 fi 2397 fi 2398 target_cpu_default=SELECT_`echo ${sh_cpu_default}|tr abcdefghijklmnopqrstuvwxyz- ABCDEFGHIJKLMNOPQRSTUVWXYZ_` 2399 tm_defines=${tm_defines}' SH_MULTILIB_CPU_DEFAULT=\"'`echo $sh_cpu_default|sed s/sh/m/`'\"' 2400 tm_defines="$tm_defines SUPPORT_`echo $sh_cpu_default | sed 's/^m/sh/' | tr abcdefghijklmnopqrstuvwxyz- ABCDEFGHIJKLMNOPQRSTUVWXYZ_`=1" 2401 sh_multilibs=`echo $sh_multilibs | sed -e 's/,/ /g' -e 's/^[Ss][Hh]/m/' -e 's/ [Ss][Hh]/ m/g' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ_ abcdefghijklmnopqrstuvwxyz-` 2402 for sh_multilib in ${sh_multilibs}; do 2403 case ${sh_multilib} in 2404 m1 | m2 | m2e | m3 | m3e | \ 2405 m4 | m4-single | m4-single-only | m4-nofpu | m4-300 |\ 2406 m4a | m4a-single | m4a-single-only | m4a-nofpu | m4al | \ 2407 m2a | m2a-single | m2a-single-only | m2a-nofpu | \ 2408 m5-64media | m5-64media-nofpu | \ 2409 m5-32media | m5-32media-nofpu | \ 2410 m5-compact | m5-compact-nofpu) 2411 # TM_MULTILIB_CONFIG is used by t-sh for the non-endian multilib definition 2412 # It is passed to MULTIILIB_OPTIONS verbatim. 2413 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG}/${sh_multilib}" 2414 tm_defines="$tm_defines SUPPORT_`echo $sh_multilib | sed 's/^m/sh/' | tr abcdefghijklmnopqrstuvwxyz- ABCDEFGHIJKLMNOPQRSTUVWXYZ_`=1" 2415 ;; 2416 \!*) # TM_MULTILIB_EXCEPTIONS_CONFIG is used by t-sh 2417 # It is passed the MULTILIB_EXCEPTIONS verbatim. 2418 TM_MULTILIB_EXCEPTIONS_CONFIG="${TM_MULTILIB_EXCEPTIONS_CONFIG} `echo $sh_multilib | sed 's/^!//'`" ;; 2419 *) 2420 echo "with_multilib_list=${sh_multilib} not supported." 2421 exit 1 2422 ;; 2423 esac 2424 done 2425 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's:^/::'` 2426 if test x${enable_incomplete_targets} = xyes ; then 2427 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" 2428 fi 2429 tm_file="$tm_file ./sysroot-suffix.h" 2430 tmake_file="$tmake_file t-sysroot-suffix" 2431 ;; 2432sh-*-rtems*) 2433 tmake_file="sh/t-sh t-rtems sh/t-rtems" 2434 tm_file="${tm_file} dbxelf.h elfos.h sh/elf.h sh/embed-elf.h sh/rtemself.h rtems.h newlib-stdint.h" 2435 ;; 2436sh-wrs-vxworks) 2437 tmake_file="$tmake_file sh/t-sh sh/t-vxworks" 2438 tm_file="${tm_file} elfos.h sh/elf.h sh/embed-elf.h vx-common.h vxworks.h sh/vxworks.h" 2439 ;; 2440sparc-*-elf*) 2441 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp-elf.h" 2442 case ${target} in 2443 *-leon-*) 2444 tmake_file="sparc/t-sparc sparc/t-leon" 2445 ;; 2446 *-leon[3-9]*) 2447 tmake_file="sparc/t-sparc sparc/t-leon3" 2448 ;; 2449 *) 2450 tmake_file="sparc/t-sparc sparc/t-elf" 2451 ;; 2452 esac 2453 ;; 2454sparc-*-rtems*) 2455 tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/sp-elf.h sparc/rtemself.h rtems.h newlib-stdint.h" 2456 tmake_file="sparc/t-sparc sparc/t-elf sparc/t-rtems t-rtems" 2457 ;; 2458sparc-*-linux*) 2459 tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/tso.h" 2460 extra_options="${extra_options} sparc/long-double-switch.opt" 2461 case ${target} in 2462 *-leon-*) 2463 tmake_file="${tmake_file} sparc/t-sparc sparc/t-leon" 2464 ;; 2465 *-leon[3-9]*) 2466 tmake_file="${tmake_file} sparc/t-sparc sparc/t-leon3" 2467 ;; 2468 *) 2469 tmake_file="${tmake_file} sparc/t-sparc" 2470 ;; 2471 esac 2472 if test x$enable_targets = xall; then 2473 tm_file="sparc/biarch64.h ${tm_file} sparc/linux64.h" 2474 tmake_file="${tmake_file} sparc/t-linux64" 2475 else 2476 tm_file="${tm_file} sparc/linux.h" 2477 tmake_file="${tmake_file} sparc/t-linux" 2478 fi 2479 ;; 2480sparc-*-netbsdelf*) 2481 tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h netbsd.h netbsd-elf.h sparc/netbsd-elf.h" 2482 extra_options="${extra_options} netbsd.opt netbsd-elf.opt" 2483 extra_options="${extra_options} sparc/long-double-switch.opt" 2484 tmake_file="${tmake_file} sparc/t-sparc" 2485 ;; 2486sparc*-*-solaris2*) 2487 tm_file="sparc/biarch64.h ${tm_file} ${sol2_tm_file} sol2-bi.h sparc/tso.h" 2488 case ${target} in 2489 sparc64-*-* | sparcv9-*-*) 2490 tm_file="sparc/default-64.h ${tm_file}" 2491 ;; 2492 *) 2493 test x$with_cpu != x || with_cpu=v9 2494 ;; 2495 esac 2496 tmake_file="${tmake_file} sparc/t-sparc sparc/t-sol2-64" 2497 ;; 2498sparc-wrs-vxworks) 2499 tm_file="${tm_file} elfos.h sparc/sysv4.h vx-common.h vxworks.h sparc/vxworks.h" 2500 tmake_file="${tmake_file} sparc/t-sparc sparc/t-vxworks" 2501 ;; 2502sparc64-*-elf*) 2503 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp64-elf.h" 2504 extra_options="${extra_options}" 2505 tmake_file="${tmake_file} sparc/t-sparc" 2506 ;; 2507sparc64-*-rtems*) 2508 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp64-elf.h sparc/rtemself.h rtems.h" 2509 extra_options="${extra_options}" 2510 tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems-64 t-rtems" 2511 ;; 2512sparc64-*-linux*) 2513 tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/default-64.h sparc/linux64.h sparc/tso.h" 2514 extra_options="${extra_options} sparc/long-double-switch.opt" 2515 tmake_file="${tmake_file} sparc/t-sparc sparc/t-linux64" 2516 ;; 2517sparc64-*-freebsd*|ultrasparc-*-freebsd*) 2518 tm_file="${tm_file} ${fbsd_tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/freebsd.h" 2519 extra_options="${extra_options} sparc/long-double-switch.opt" 2520 case "x$with_cpu" in 2521 xultrasparc) ;; 2522 x) with_cpu=ultrasparc ;; 2523 *) echo "$with_cpu not supported for freebsd target"; exit 1 ;; 2524 esac 2525 tmake_file="${tmake_file} sparc/t-sparc" 2526 ;; 2527sparc64-*-netbsd*) 2528 tm_file="sparc/biarch64.h ${tm_file}" 2529 tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h netbsd.h netbsd-elf.h sparc/netbsd-elf.h" 2530 extra_options="${extra_options} netbsd.opt netbsd-elf.opt" 2531 extra_options="${extra_options} sparc/long-double-switch.opt" 2532 tmake_file="${tmake_file} sparc/t-sparc sparc/t-netbsd64" 2533 ;; 2534sparc64-*-openbsd*) 2535 tm_file="sparc/openbsd1-64.h ${tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/sp64-elf.h" 2536 tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h sparc/openbsd64.h" 2537 extra_options="${extra_options} openbsd.opt" 2538 extra_options="${extra_options}" 2539 gas=yes gnu_ld=yes 2540 with_cpu=ultrasparc 2541 tmake_file="${tmake_file} sparc/t-sparc" 2542 ;; 2543spu-*-elf*) 2544 tm_file="dbxelf.h elfos.h spu/spu-elf.h spu/spu.h newlib-stdint.h" 2545 tmake_file="spu/t-spu-elf" 2546 native_system_header_dir=/include 2547 extra_headers="spu_intrinsics.h spu_internals.h vmx2spu.h spu_mfcio.h vec_types.h spu_cache.h" 2548 extra_modes=spu/spu-modes.def 2549 c_target_objs="${c_target_objs} spu-c.o" 2550 cxx_target_objs="${cxx_target_objs} spu-c.o" 2551 ;; 2552tic6x-*-elf) 2553 tm_file="elfos.h ${tm_file} c6x/elf-common.h c6x/elf.h" 2554 tm_file="${tm_file} dbxelf.h tm-dwarf2.h newlib-stdint.h" 2555 tmake_file="c6x/t-c6x c6x/t-c6x-elf" 2556 use_collect2=no 2557 ;; 2558tic6x-*-uclinux) 2559 tm_file="elfos.h ${tm_file} gnu-user.h linux.h c6x/elf-common.h c6x/uclinux-elf.h" 2560 tm_file="${tm_file} dbxelf.h tm-dwarf2.h glibc-stdint.h" 2561 tm_file="${tm_file} ./sysroot-suffix.h" 2562 tmake_file="t-sysroot-suffix t-slibgcc" 2563 tmake_file="${tmake_file} c6x/t-c6x c6x/t-c6x-elf c6x/t-c6x-uclinux" 2564 use_collect2=no 2565 ;; 2566tilegx-*-linux*) 2567 tm_file="elfos.h gnu-user.h linux.h glibc-stdint.h tilegx/linux.h ${tm_file}" 2568 tmake_file="${tmake_file} tilegx/t-tilegx" 2569 extra_objs="mul-tables.o" 2570 c_target_objs="${c_target_objs} tilegx-c.o" 2571 cxx_target_objs="${cxx_target_objs} tilegx-c.o" 2572 extra_headers="feedback.h" 2573 ;; 2574tilepro-*-linux*) 2575 tm_file="elfos.h gnu-user.h linux.h glibc-stdint.h tilepro/linux.h ${tm_file}" 2576 tmake_file="${tmake_file} tilepro/t-tilepro" 2577 extra_objs="mul-tables.o" 2578 c_target_objs="${c_target_objs} tilepro-c.o" 2579 cxx_target_objs="${cxx_target_objs} tilepro-c.o" 2580 extra_headers="feedback.h" 2581 ;; 2582v850-*-rtems*) 2583 target_cpu_default="TARGET_CPU_generic" 2584 tm_file="dbxelf.h elfos.h v850/v850.h" 2585 tm_file="${tm_file} rtems.h v850/rtems.h newlib-stdint.h" 2586 tmake_file="${tmake_file} v850/t-v850" 2587 tmake_file="${tmake_file} t-rtems v850/t-rtems" 2588 use_collect2=no 2589 c_target_objs="v850-c.o" 2590 cxx_target_objs="v850-c.o" 2591 ;; 2592v850*-*-*) 2593 case ${target} in 2594 v850e3v5-*-*) 2595 target_cpu_default="TARGET_CPU_v850e3v5" 2596 ;; 2597 v850e2v3-*-*) 2598 target_cpu_default="TARGET_CPU_v850e2v3" 2599 ;; 2600 v850e2-*-*) 2601 target_cpu_default="TARGET_CPU_v850e2" 2602 ;; 2603 v850e1-*-* | v850es-*-*) 2604 target_cpu_default="TARGET_CPU_v850e1" 2605 ;; 2606 v850e-*-*) 2607 target_cpu_default="TARGET_CPU_v850e" 2608 ;; 2609 v850-*-*) 2610 target_cpu_default="TARGET_CPU_generic" 2611 ;; 2612 esac 2613 tm_file="dbxelf.h elfos.h newlib-stdint.h v850/v850.h" 2614 if test x$stabs = xyes 2615 then 2616 tm_file="${tm_file} dbx.h" 2617 fi 2618 use_collect2=no 2619 c_target_objs="v850-c.o" 2620 cxx_target_objs="v850-c.o" 2621 use_gcc_stdint=wrap 2622 ;; 2623vax-*-linux*) 2624 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h vax/elf.h vax/linux.h" 2625 extra_options="${extra_options} vax/elf.opt" 2626 ;; 2627vax-*-netbsdelf*) 2628 tm_file="${tm_file} elfos.h netbsd.h netbsd-elf.h vax/elf.h vax/netbsd-elf.h" 2629 extra_options="${extra_options} netbsd.opt netbsd-elf.opt vax/elf.opt" 2630 ;; 2631vax-*-openbsd*) 2632 tm_file="vax/vax.h vax/openbsd1.h openbsd.h openbsd-stdint.h openbsd-pthread.h vax/openbsd.h" 2633 extra_options="${extra_options} openbsd.opt" 2634 use_collect2=yes 2635 ;; 2636xstormy16-*-elf) 2637 # For historical reasons, the target files omit the 'x'. 2638 tm_file="dbxelf.h elfos.h newlib-stdint.h stormy16/stormy16.h" 2639 tm_p_file=stormy16/stormy16-protos.h 2640 md_file=stormy16/stormy16.md 2641 out_file=stormy16/stormy16.c 2642 extra_options=stormy16/stormy16.opt 2643 tmake_file="stormy16/t-stormy16" 2644 ;; 2645xtensa*-*-elf*) 2646 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h xtensa/elf.h" 2647 extra_options="${extra_options} xtensa/elf.opt" 2648 ;; 2649xtensa*-*-linux*) 2650 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h xtensa/linux.h" 2651 tmake_file="${tmake_file} xtensa/t-xtensa" 2652 ;; 2653am33_2.0-*-linux*) 2654 tm_file="mn10300/mn10300.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h mn10300/linux.h" 2655 gas=yes gnu_ld=yes 2656 use_collect2=no 2657 ;; 2658m32c-*-rtems*) 2659 tm_file="dbxelf.h elfos.h ${tm_file} m32c/rtems.h rtems.h newlib-stdint.h" 2660 tmake_file="${tmake_file} t-rtems" 2661 c_target_objs="m32c-pragma.o" 2662 cxx_target_objs="m32c-pragma.o" 2663 ;; 2664m32c-*-elf*) 2665 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}" 2666 c_target_objs="m32c-pragma.o" 2667 cxx_target_objs="m32c-pragma.o" 2668 ;; 2669*) 2670 echo "*** Configuration ${target} not supported" 1>&2 2671 exit 1 2672 ;; 2673esac 2674 2675case ${target} in 2676i[34567]86-*-linux* | x86_64-*-linux*) 2677 tmake_file="${tmake_file} i386/t-pmm_malloc i386/t-i386" 2678 ;; 2679i[34567]86-*-* | x86_64-*-*) 2680 tmake_file="${tmake_file} i386/t-gmm_malloc i386/t-i386" 2681 ;; 2682powerpc*-*-* | rs6000-*-*) 2683 tm_file="${tm_file} rs6000/option-defaults.h" 2684esac 2685 2686if [ "$target_has_targetcm" = "no" ]; then 2687 c_target_objs="$c_target_objs default-c.o" 2688 cxx_target_objs="$cxx_target_objs default-c.o" 2689fi 2690 2691if [ "$common_out_file" = "" ]; then 2692 if [ "$target_has_targetm_common" = "yes" ]; then 2693 common_out_file="$cpu_type/$cpu_type-common.c" 2694 else 2695 common_out_file="default-common.c" 2696 fi 2697fi 2698 2699# Support for --with-cpu and related options (and a few unrelated options, 2700# too). 2701case ${with_cpu} in 2702 yes | no) 2703 echo "--with-cpu must be passed a value" 1>&2 2704 exit 1 2705 ;; 2706esac 2707 2708# Set arch and cpu from ${target} and ${target_noncanonical}. Set cpu 2709# to generic if there is no processor scheduler model for the target. 2710arch= 2711cpu= 2712arch_without_sse2=no 2713arch_without_64bit=no 2714case ${target} in 2715 i386-*-freebsd*) 2716 if test $fbsd_major -ge 6; then 2717 arch=i486 2718 else 2719 arch=i386 2720 fi 2721 cpu=generic 2722 arch_without_sse2=yes 2723 arch_without_64bit=yes 2724 ;; 2725 i386-*-*) 2726 arch=i386 2727 cpu=i386 2728 arch_without_sse2=yes 2729 arch_without_64bit=yes 2730 ;; 2731 i486-*-*) 2732 arch=i486 2733 cpu=i486 2734 arch_without_sse2=yes 2735 arch_without_64bit=yes 2736 ;; 2737 i586-*-*) 2738 arch_without_sse2=yes 2739 arch_without_64bit=yes 2740 case ${target_noncanonical} in 2741 k6_2-*) 2742 arch=k6-2 2743 cpu=k6-2 2744 ;; 2745 k6_3-*) 2746 arch=k6-3 2747 cpu=k6-3 2748 ;; 2749 k6-*) 2750 arch=k6 2751 cpu=k6 2752 ;; 2753 pentium_mmx-*|winchip_c6-*|winchip2-*|c3-*) 2754 arch=pentium-mmx 2755 cpu=pentium-mmx 2756 ;; 2757 *) 2758 arch=pentium 2759 cpu=pentium 2760 ;; 2761 esac 2762 ;; 2763 i686-*-* | i786-*-*) 2764 case ${target_noncanonical} in 2765 bdver3-*) 2766 arch=bdver3 2767 cpu=bdver3 2768 ;; 2769 bdver2-*) 2770 arch=bdver2 2771 cpu=bdver2 2772 ;; 2773 bdver1-*) 2774 arch=bdver1 2775 cpu=bdver1 2776 ;; 2777 btver1-*) 2778 arch=btver1 2779 cpu=btver1 2780 ;; 2781 btver2-*) 2782 arch=btver2 2783 cpu=btver2 2784 ;; 2785 amdfam10-*|barcelona-*) 2786 arch=amdfam10 2787 cpu=amdfam10 2788 ;; 2789 k8_sse3-*|opteron_sse3-*|athlon64_sse3-*) 2790 arch=k8-sse3 2791 cpu=k8-sse3 2792 ;; 2793 k8-*|opteron-*|athlon64-*|athlon_fx-*) 2794 arch=k8 2795 cpu=k8 2796 ;; 2797 athlon_xp-*|athlon_mp-*|athlon_4-*) 2798 arch=athlon-4 2799 cpu=athlon-4 2800 arch_without_sse2=yes 2801 arch_without_64bit=yes 2802 ;; 2803 athlon_tbird-*|athlon-*) 2804 arch=athlon 2805 cpu=athlon 2806 arch_without_sse2=yes 2807 ;; 2808 geode-*) 2809 arch=geode 2810 cpu=geode 2811 arch_without_sse2=yes 2812 ;; 2813 pentium2-*) 2814 arch=pentium2 2815 cpu=pentium2 2816 arch_without_sse2=yes 2817 ;; 2818 pentium3-*|pentium3m-*) 2819 arch=pentium3 2820 cpu=pentium3 2821 arch_without_sse2=yes 2822 ;; 2823 pentium4-*|pentium4m-*) 2824 arch=pentium4 2825 cpu=pentium4 2826 ;; 2827 prescott-*) 2828 arch=prescott 2829 cpu=prescott 2830 ;; 2831 nocona-*) 2832 arch=nocona 2833 cpu=nocona 2834 ;; 2835 atom-*) 2836 arch=atom 2837 cpu=atom 2838 ;; 2839 core2-*) 2840 arch=core2 2841 cpu=core2 2842 ;; 2843 corei7-*) 2844 arch=corei7 2845 cpu=corei7 2846 ;; 2847 corei7_avx-*) 2848 arch=corei7-avx 2849 cpu=corei7-avx 2850 ;; 2851 pentium_m-*) 2852 arch=pentium-m 2853 cpu=pentium-m 2854 ;; 2855 pentiumpro-*) 2856 arch=pentiumpro 2857 cpu=pentiumpro 2858 arch_without_sse2=yes 2859 ;; 2860 *) 2861 arch=pentiumpro 2862 cpu=generic 2863 arch_without_sse2=yes 2864 arch_without_64bit=yes 2865 ;; 2866 esac 2867 ;; 2868 x86_64-*-*) 2869 case ${target_noncanonical} in 2870 bdver3-*) 2871 arch=bdver3 2872 cpu=bdver3 2873 ;; 2874 bdver2-*) 2875 arch=bdver2 2876 cpu=bdver2 2877 ;; 2878 bdver1-*) 2879 arch=bdver1 2880 cpu=bdver1 2881 ;; 2882 btver1-*) 2883 arch=btver1 2884 cpu=btver1 2885 ;; 2886 btver2-*) 2887 arch=btver2 2888 cpu=btver2 2889 ;; 2890 amdfam10-*|barcelona-*) 2891 arch=amdfam10 2892 cpu=amdfam10 2893 ;; 2894 k8_sse3-*|opteron_sse3-*|athlon64_sse3-*) 2895 arch=k8-sse3 2896 cpu=k8-sse3 2897 ;; 2898 k8-*|opteron-*|athlon_64-*) 2899 arch=k8 2900 cpu=k8 2901 ;; 2902 nocona-*) 2903 arch=nocona 2904 cpu=nocona 2905 ;; 2906 atom-*) 2907 arch=atom 2908 cpu=atom 2909 ;; 2910 core2-*) 2911 arch=core2 2912 cpu=core2 2913 ;; 2914 corei7-*) 2915 arch=corei7 2916 cpu=corei7 2917 ;; 2918 *) 2919 arch=x86-64 2920 cpu=generic 2921 ;; 2922 esac 2923 ;; 2924esac 2925 2926# If there is no $with_cpu option, try to infer one from ${target}. 2927# This block sets nothing except for with_cpu. 2928if test x$with_cpu = x ; then 2929 case ${target} in 2930 i[34567]86-*-*|x86_64-*-*) 2931 with_cpu=$cpu 2932 ;; 2933 alphaev6[78]*-*-*) 2934 with_cpu=ev67 2935 ;; 2936 alphaev6*-*-*) 2937 with_cpu=ev6 2938 ;; 2939 alphapca56*-*-*) 2940 with_cpu=pca56 2941 ;; 2942 alphaev56*-*-*) 2943 with_cpu=ev56 2944 ;; 2945 alphaev5*-*-*) 2946 with_cpu=ev5 2947 ;; 2948 frv-*-*linux* | frv400-*-*linux*) 2949 with_cpu=fr400 2950 ;; 2951 frv550-*-*linux*) 2952 with_cpu=fr550 2953 ;; 2954 m68k*-*-*) 2955 case "$with_arch" in 2956 "cf") 2957 with_cpu=${default_cf_cpu} 2958 ;; 2959 "" | "m68k") 2960 with_cpu=m${default_m68k_cpu} 2961 ;; 2962 esac 2963 ;; 2964 mips*-*-vxworks) 2965 with_arch=mips2 2966 ;; 2967 powerpc*-*-*spe*) 2968 if test x$enable_e500_double = xyes; then 2969 with_cpu=8548 2970 else 2971 with_cpu=8540 2972 fi 2973 ;; 2974 sparc*-*-*) 2975 case ${target} in 2976 *-leon-*) 2977 with_cpu=leon 2978 ;; 2979 *-leon[3-9]*) 2980 with_cpu=leon3 2981 ;; 2982 *) 2983 with_cpu="`echo ${target} | sed 's/-.*$//'`" 2984 ;; 2985 esac 2986 ;; 2987 esac 2988 2989 # Avoid overriding --with-cpu-32 and --with-cpu-64 values. 2990 case ${target} in 2991 i[34567]86-*-*|x86_64-*-*) 2992 if test x$with_cpu_32 != x || test x$with_cpu_64 != x; then 2993 if test x$with_cpu_32 = x; then 2994 with_cpu_32=$with_cpu 2995 fi 2996 if test x$with_cpu_64 = x; then 2997 with_cpu_64=$with_cpu 2998 fi 2999 with_cpu= 3000 fi 3001 ;; 3002 esac 3003fi 3004 3005# Support for --with-arch and related options (and a few unrelated options, 3006# too). 3007case ${with_arch} in 3008 yes | no) 3009 echo "--with-arch must be passed a value" 1>&2 3010 exit 1 3011 ;; 3012esac 3013 3014# If there is no $with_arch option, try to infer one from ${target}. 3015# This block sets nothing except for with_arch. 3016if test x$with_arch = x ; then 3017 case ${target} in 3018 i[34567]86-*-darwin*|x86_64-*-darwin*) 3019 # Default arch is set via TARGET_SUBTARGET32_ISA_DEFAULT 3020 # and TARGET_SUBTARGET64_ISA_DEFAULT in config/i386/darwin.h. 3021 ;; 3022 i[34567]86-*-*) 3023 # --with-fpmath sets the default ISA to SSE2, which is the same 3024 # ISA supported by Pentium 4. 3025 if test x$with_fpmath = x || test $arch_without_sse2 = no; then 3026 with_arch=$arch 3027 else 3028 with_arch=pentium4 3029 fi 3030 ;; 3031 x86_64-*-*) 3032 with_arch=$arch 3033 ;; 3034 esac 3035 3036 # Avoid overriding --with-arch-32 and --with-arch-64 values. 3037 case ${target} in 3038 i[34567]86-*-darwin*|x86_64-*-darwin*) 3039 # Default arch is set via TARGET_SUBTARGET32_ISA_DEFAULT 3040 # and TARGET_SUBTARGET64_ISA_DEFAULT in config/i386/darwin.h. 3041 ;; 3042 i[34567]86-*-*|x86_64-*-*) 3043 if test x$with_arch_32 != x || test x$with_arch_64 != x; then 3044 if test x$with_arch_32 = x; then 3045 with_arch_32=$with_arch 3046 fi 3047 if test x$with_arch_64 = x; then 3048 if test $arch_without_64bit = yes; then 3049 # Set the default 64bit arch to x86-64 if the default arch 3050 # doesn't support 64bit. 3051 with_arch_64=x86-64 3052 else 3053 with_arch_64=$with_arch 3054 fi 3055 fi 3056 with_arch= 3057 elif test $arch_without_64bit$need_64bit_isa = yesyes; then 3058 # Set the default 64bit arch to x86-64 if the default arch 3059 # doesn't support 64bit and we need 64bit ISA. 3060 with_arch_32=$with_arch 3061 with_arch_64=x86-64 3062 with_arch= 3063 fi 3064 ;; 3065 esac 3066fi 3067 3068# Support --with-fpmath. 3069if test x$with_fpmath != x; then 3070 case ${target} in 3071 i[34567]86-*-* | x86_64-*-*) 3072 case ${with_fpmath} in 3073 avx) 3074 tm_file="${tm_file} i386/avxmath.h" 3075 ;; 3076 sse) 3077 tm_file="${tm_file} i386/ssemath.h" 3078 ;; 3079 *) 3080 echo "Invalid --with-fpmath=$with_fpmath" 1>&2 3081 exit 1 3082 ;; 3083 esac 3084 ;; 3085 *) 3086 echo "--with-fpmath isn't supported for $target." 1>&2 3087 exit 1 3088 ;; 3089 esac 3090fi 3091 3092# Similarly for --with-schedule. 3093if test x$with_schedule = x; then 3094 case ${target} in 3095 hppa1*) 3096 # Override default PA8000 scheduling model. 3097 with_schedule=7100LC 3098 ;; 3099 esac 3100fi 3101 3102# Validate and mark as valid any --with options supported 3103# by this target. In order to use a particular --with option 3104# you must list it in supported_defaults; validating the value 3105# is optional. This case statement should set nothing besides 3106# supported_defaults. 3107 3108supported_defaults= 3109case "${target}" in 3110 aarch64*-*-*) 3111 supported_defaults="cpu arch" 3112 for which in cpu arch; do 3113 3114 eval "val=\$with_$which" 3115 base_val=`echo $val | sed -e 's/\+.*//'` 3116 ext_val=`echo $val | sed -e 's/[a-z0-9\-]\+//'` 3117 3118 if [ $which = arch ]; then 3119 def=aarch64-arches.def 3120 pattern=AARCH64_ARCH 3121 else 3122 def=aarch64-cores.def 3123 pattern=AARCH64_CORE 3124 fi 3125 3126 ext_mask=AARCH64_CPU_DEFAULT_FLAGS 3127 3128 # Find the base CPU or ARCH id in aarch64-cores.def or 3129 # aarch64-arches.def 3130 if [ x"$base_val" = x ] \ 3131 || grep "^$pattern(\"$base_val\"," \ 3132 ${srcdir}/config/aarch64/$def \ 3133 > /dev/null; then 3134 3135 if [ $which = arch ]; then 3136 base_id=`grep "^$pattern(\"$base_val\"," \ 3137 ${srcdir}/config/aarch64/$def | \ 3138 sed -e 's/^[^,]*,[ ]*//' | \ 3139 sed -e 's/,.*$//'` 3140 else 3141 base_id=`grep "^$pattern(\"$base_val\"," \ 3142 ${srcdir}/config/aarch64/$def | \ 3143 sed -e 's/^[^,]*,[ ]*//' | \ 3144 sed -e 's/,.*$//'` 3145 fi 3146 3147 while [ x"$ext_val" != x ] 3148 do 3149 ext_val=`echo $ext_val | sed -e 's/\+//'` 3150 ext=`echo $ext_val | sed -e 's/\+.*//'` 3151 base_ext=`echo $ext | sed -e 's/^no//'` 3152 3153 if [ x"$base_ext" = x ] \ 3154 || grep "^AARCH64_OPT_EXTENSION(\"$base_ext\"," \ 3155 ${srcdir}/config/aarch64/aarch64-option-extensions.def \ 3156 > /dev/null; then 3157 3158 ext_on=`grep "^AARCH64_OPT_EXTENSION(\"$base_ext\"," \ 3159 ${srcdir}/config/aarch64/aarch64-option-extensions.def | \ 3160 sed -e 's/^[^,]*,[ ]*//' | \ 3161 sed -e 's/,.*$//'` 3162 ext_off=`grep "^AARCH64_OPT_EXTENSION(\"$base_ext\"," \ 3163 ${srcdir}/config/aarch64/aarch64-option-extensions.def | \ 3164 sed -e 's/^[^,]*,[ ]*[^,]*,[ ]*//' | \ 3165 sed -e 's/,.*$//' | \ 3166 sed -e 's/).*$//'` 3167 3168 if [ $ext = $base_ext ]; then 3169 # Adding extension 3170 ext_mask="("$ext_mask") | ("$ext_on")" 3171 else 3172 # Removing extension 3173 ext_mask="("$ext_mask") & ~("$ext_off")" 3174 fi 3175 3176 true 3177 else 3178 echo "Unknown extension used in --with-$which=$val" 1>&2 3179 exit 1 3180 fi 3181 ext_val=`echo $ext_val | sed -e 's/[a-z0-9]\+//'` 3182 done 3183 3184 ext_mask="(("$ext_mask") << 6)" 3185 if [ x"$base_id" != x ]; then 3186 target_cpu_cname="TARGET_CPU_$base_id | $ext_mask" 3187 fi 3188 true 3189 else 3190 echo "Unknown $which used in --with-$which=$val" 1>&2 3191 exit 1 3192 fi 3193 done 3194 ;; 3195 3196 alpha*-*-*) 3197 supported_defaults="cpu tune" 3198 for which in cpu tune; do 3199 eval "val=\$with_$which" 3200 case "$val" in 3201 "" \ 3202 | ev4 | ev45 | 21064 | ev5 | 21164 | ev56 | 21164a \ 3203 | pca56 | 21164PC | 21164pc | ev6 | 21264 | ev67 \ 3204 | 21264a) 3205 ;; 3206 *) 3207 echo "Unknown CPU used in --with-$which=$val" 1>&2 3208 exit 1 3209 ;; 3210 esac 3211 done 3212 ;; 3213 3214 arm*-*-*) 3215 supported_defaults="arch cpu float tune fpu abi mode tls" 3216 for which in cpu tune; do 3217 # See if it matches any of the entries in arm-cores.def 3218 eval "val=\$with_$which" 3219 if [ x"$val" = x ] \ 3220 || grep "^ARM_CORE(\"$val\"," \ 3221 ${srcdir}/config/arm/arm-cores.def \ 3222 > /dev/null; then 3223 # Ok 3224 new_val=`grep "^ARM_CORE(\"$val\"," \ 3225 ${srcdir}/config/arm/arm-cores.def | \ 3226 sed -e 's/^[^,]*,[ ]*//' | \ 3227 sed -e 's/,.*$//'` 3228 eval "target_${which}_cname=$new_val" 3229 echo "For $val real value is $new_val" 3230 true 3231 else 3232 echo "Unknown CPU used in --with-$which=$val" 1>&2 3233 exit 1 3234 fi 3235 done 3236 3237 case "$with_arch" in 3238 "" \ 3239 | armv[23456] | armv2a | armv3m | armv4t | armv5t \ 3240 | armv5te | armv6j |armv6k | armv6z | armv6zk | armv6-m \ 3241 | armv7 | armv7-a | armv7-r | armv7-m | armv8-a \ 3242 | iwmmxt | ep9312) 3243 # OK 3244 ;; 3245 *) 3246 echo "Unknown arch used in --with-arch=$with_arch" 1>&2 3247 exit 1 3248 ;; 3249 esac 3250 3251 case "$with_float" in 3252 "" \ 3253 | soft | hard | softfp) 3254 # OK 3255 ;; 3256 *) 3257 echo "Unknown floating point type used in --with-float=$with_float" 1>&2 3258 exit 1 3259 ;; 3260 esac 3261 3262 case "$with_fpu" in 3263 "" \ 3264 | vfp | vfp3 | vfpv3 \ 3265 | vfpv3-fp16 | vfpv3-d16 | vfpv3-d16-fp16 | vfpv3xd \ 3266 | vfpv3xd-fp16 | neon | neon-fp16 | vfpv4 | vfpv4-d16 \ 3267 | fpv4-sp-d16 | neon-vfpv4 | fp-arm-v8 | neon-fp-armv8 \ 3268 | crypto-neon-fp-armv8) 3269 # OK 3270 ;; 3271 *) 3272 echo "Unknown fpu used in --with-fpu=$with_fpu" 2>&1 3273 exit 1 3274 ;; 3275 esac 3276 3277 case "$with_abi" in 3278 "" \ 3279 | apcs-gnu | atpcs | aapcs | iwmmxt | aapcs-linux ) 3280 #OK 3281 ;; 3282 *) 3283 echo "Unknown ABI used in --with-abi=$with_abi" 3284 exit 1 3285 ;; 3286 esac 3287 3288 case "$with_mode" in 3289 "" \ 3290 | arm | thumb ) 3291 #OK 3292 ;; 3293 *) 3294 echo "Unknown mode used in --with-mode=$with_mode" 3295 exit 1 3296 ;; 3297 esac 3298 3299 case "$with_tls" in 3300 "" \ 3301 | gnu | gnu2) 3302 # OK 3303 ;; 3304 *) 3305 echo "Unknown TLS method used in --with-tls=$with_tls" 1>&2 3306 exit 1 3307 ;; 3308 esac 3309 3310 if test "x$with_arch" != x && test "x$with_cpu" != x; then 3311 echo "Warning: --with-arch overrides --with-cpu=$with_cpu" 1>&2 3312 fi 3313 ;; 3314 3315 fr*-*-*linux*) 3316 supported_defaults=cpu 3317 case "$with_cpu" in 3318 fr400) ;; 3319 fr550) ;; 3320 *) 3321 echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2 3322 exit 1 3323 ;; 3324 esac 3325 ;; 3326 3327 fido-*-* | m68k*-*-*) 3328 supported_defaults="arch cpu" 3329 case "$with_arch" in 3330 "" | "m68k"| "cf") 3331 m68k_arch_family="$with_arch" 3332 ;; 3333 *) 3334 echo "Invalid --with-arch=$with_arch" 1>&2 3335 exit 1 3336 ;; 3337 esac 3338 3339 # We always have a $with_cpu setting here. 3340 case "$with_cpu" in 3341 "m68000" | "m68010" | "m68020" | "m68030" | "m68040" | "m68060") 3342 m68k_cpu_ident=$with_cpu 3343 ;; 3344 "m68020-40") 3345 m68k_cpu_ident=m68020 3346 tm_defines="$tm_defines M68K_DEFAULT_TUNE=u68020_40" 3347 ;; 3348 "m68020-60") 3349 m68k_cpu_ident=m68020 3350 tm_defines="$tm_defines M68K_DEFAULT_TUNE=u68020_60" 3351 ;; 3352 *) 3353 # We need the C identifier rather than the string. 3354 m68k_cpu_ident=`awk -v arg="\"$with_cpu\"" \ 3355 'BEGIN { FS="[ \t]*[,()][ \t]*" }; \ 3356 $1 == "M68K_DEVICE" && $2 == arg { print $3 }' \ 3357 ${srcdir}/config/m68k/m68k-devices.def` 3358 if [ x"$m68k_cpu_ident" = x ] ; then 3359 echo "Unknown CPU used in --with-cpu=$with_cpu" 1>&2 3360 exit 1 3361 fi 3362 with_cpu="mcpu=$with_cpu" 3363 ;; 3364 esac 3365 ;; 3366 3367 hppa*-*-*) 3368 supported_defaults="arch schedule" 3369 3370 case "$with_arch" in 3371 "" | 1.0 | 1.1 | 2.0) 3372 # OK 3373 ;; 3374 *) 3375 echo "Unknown architecture used in --with-arch=$with_arch" 1>&2 3376 exit 1 3377 ;; 3378 esac 3379 3380 case "$with_schedule" in 3381 "" | 700 | 7100 | 7100LC | 7200 | 7300 | 8000) 3382 # OK 3383 ;; 3384 *) 3385 echo "Unknown processor used in --with-schedule=$with_schedule." 1>&2 3386 exit 1 3387 ;; 3388 esac 3389 ;; 3390 3391 i[34567]86-*-* | x86_64-*-*) 3392 supported_defaults="abi arch arch_32 arch_64 cpu cpu_32 cpu_64 tune tune_32 tune_64" 3393 for which in arch arch_32 arch_64 cpu cpu_32 cpu_64 tune tune_32 tune_64; do 3394 eval "val=\$with_$which" 3395 case ${val} in 3396 i386 | i486 \ 3397 | i586 | pentium | pentium-mmx | winchip-c6 | winchip2 \ 3398 | c3 | c3-2 | i686 | pentiumpro | pentium2 | pentium3 \ 3399 | pentium4 | k6 | k6-2 | k6-3 | athlon | athlon-tbird \ 3400 | athlon-4 | athlon-xp | athlon-mp | geode \ 3401 | prescott | pentium-m | pentium4m | pentium3m) 3402 case "${target}" in 3403 x86_64-*-*) 3404 case "x$which" in 3405 *_32) 3406 ;; 3407 *) 3408 echo "CPU given in --with-$which=$val doesn't support 64bit mode." 1>&2 3409 exit 1 3410 ;; 3411 esac 3412 ;; 3413 esac 3414 # OK 3415 ;; 3416 "" | x86-64 | generic | native \ 3417 | k8 | k8-sse3 | athlon64 | athlon64-sse3 | opteron \ 3418 | opteron-sse3 | athlon-fx | bdver3 | bdver2 | bdver1 | btver2 \ 3419 | btver1 | amdfam10 | barcelona | nocona | core2 | corei7 \ 3420 | corei7-avx | core-avx-i | core-avx2 | atom) 3421 # OK 3422 ;; 3423 *) 3424 echo "Unknown CPU given in --with-$which=$val." 1>&2 3425 exit 1 3426 ;; 3427 esac 3428 done 3429 ;; 3430 3431 mips*-*-*) 3432 supported_defaults="abi arch arch_32 arch_64 float tune tune_32 tune_64 divide llsc mips-plt synci" 3433 3434 case ${with_float} in 3435 "" | soft | hard) 3436 # OK 3437 ;; 3438 *) 3439 echo "Unknown floating point type used in --with-float=$with_float" 1>&2 3440 exit 1 3441 ;; 3442 esac 3443 3444 case ${with_abi} in 3445 "" | 32 | o64 | n32 | 64 | eabi) 3446 # OK 3447 ;; 3448 *) 3449 echo "Unknown ABI used in --with-abi=$with_abi" 1>&2 3450 exit 1 3451 ;; 3452 esac 3453 3454 case ${with_divide} in 3455 "" | breaks | traps) 3456 # OK 3457 ;; 3458 *) 3459 echo "Unknown division check type use in --with-divide=$with_divide" 1>&2 3460 exit 1 3461 ;; 3462 esac 3463 3464 case ${with_llsc} in 3465 yes) 3466 with_llsc=llsc 3467 ;; 3468 no) 3469 with_llsc="no-llsc" 3470 ;; 3471 "") 3472 # OK 3473 ;; 3474 *) 3475 echo "Unknown llsc type used in --with-llsc" 1>&2 3476 exit 1 3477 ;; 3478 esac 3479 3480 case ${with_mips_plt} in 3481 yes) 3482 with_mips_plt=plt 3483 ;; 3484 no) 3485 with_mips_plt=no-plt 3486 ;; 3487 "") 3488 ;; 3489 *) 3490 echo "Unknown --with-mips-plt argument: $with_mips_plt" 1>&2 3491 exit 1 3492 ;; 3493 esac 3494 3495 case ${with_synci} in 3496 yes) 3497 with_synci=synci 3498 ;; 3499 no) 3500 with_synci=no-synci 3501 ;; 3502 "") 3503 ;; 3504 *) 3505 echo "Unknown synci type used in --with-synci" 1>&2 3506 exit 1 3507 ;; 3508 esac 3509 ;; 3510 3511 powerpc*-*-* | rs6000-*-*) 3512 supported_defaults="cpu cpu_32 cpu_64 float tune tune_32 tune_64" 3513 3514 for which in cpu cpu_32 cpu_64 tune tune_32 tune_64; do 3515 eval "val=\$with_$which" 3516 case ${val} in 3517 default32 | default64) 3518 case $which in 3519 cpu | tune) 3520 ;; 3521 *) 3522 echo "$val only valid for --with-cpu and --with-tune." 1>&2 3523 exit 1 3524 ;; 3525 esac 3526 with_which="with_$which" 3527 eval $with_which= 3528 ;; 3529 405cr) 3530 tm_defines="${tm_defines} CONFIG_PPC405CR" 3531 eval "with_$which=405" 3532 ;; 3533 "" | common \ 3534 | power | power[2345678] | power6x | powerpc | powerpc64 \ 3535 | rios | rios1 | rios2 | rsc | rsc1 | rs64a \ 3536 | 401 | 403 | 405 | 405fp | 440 | 440fp | 464 | 464fp \ 3537 | 476 | 476fp | 505 | 601 | 602 | 603 | 603e | ec603e \ 3538 | 604 | 604e | 620 | 630 | 740 | 750 | 7400 | 7450 \ 3539 | a2 | e300c[23] | 854[08] | e500mc | e500mc64 | e5500 | e6500 \ 3540 | titan | 801 | 821 | 823 | 860 | 970 | G3 | G4 | G5 | cell) 3541 # OK 3542 ;; 3543 *) 3544 echo "Unknown cpu used in --with-$which=$val." 1>&2 3545 exit 1 3546 ;; 3547 esac 3548 done 3549 ;; 3550 3551 s390*-*-*) 3552 supported_defaults="arch mode tune" 3553 3554 for which in arch tune; do 3555 eval "val=\$with_$which" 3556 case ${val} in 3557 "" | g5 | g6 | z900 | z990 | z9-109 | z9-ec | z10 | z196 | zEC12) 3558 # OK 3559 ;; 3560 *) 3561 echo "Unknown cpu used in --with-$which=$val." 1>&2 3562 exit 1 3563 ;; 3564 esac 3565 done 3566 3567 case ${with_mode} in 3568 "" | esa | zarch) 3569 # OK 3570 ;; 3571 *) 3572 echo "Unknown architecture mode used in --with-mode=$with_mode." 1>&2 3573 exit 1 3574 ;; 3575 esac 3576 ;; 3577 3578 sh[123456ble]-*-* | sh-*-*) 3579 supported_defaults="cpu" 3580 case "`echo $with_cpu | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ_ abcdefghijklmnopqrstuvwxyz- | sed s/sh/m/`" in 3581 "" | m1 | m2 | m2e | m3 | m3e | m4 | m4-single | m4-single-only | m4-nofpu ) 3582 # OK 3583 ;; 3584 m2a | m2a-single | m2a-single-only | m2a-nofpu) 3585 ;; 3586 m4a | m4a-single | m4a-single-only | m4a-nofpu | m4al) 3587 ;; 3588 *) 3589 echo "Unknown CPU used in --with-cpu=$with_cpu, known values:" 1>&2 3590 echo "m1 m2 m2e m3 m3e m4 m4-single m4-single-only m4-nofpu" 1>&2 3591 echo "m4a m4a-single m4a-single-only m4a-nofpu m4al" 1>&2 3592 echo "m2a m2a-single m2a-single-only m2a-nofpu" 1>&2 3593 exit 1 3594 ;; 3595 esac 3596 ;; 3597 sparc*-*-*) 3598 supported_defaults="cpu float tune" 3599 3600 for which in cpu tune; do 3601 eval "val=\$with_$which" 3602 case ${val} in 3603 "" | sparc | sparcv9 | sparc64 \ 3604 | v7 | cypress \ 3605 | v8 | supersparc | hypersparc | leon | leon3 \ 3606 | sparclite | f930 | f934 | sparclite86x \ 3607 | sparclet | tsc701 \ 3608 | v9 | ultrasparc | ultrasparc3 | niagara | niagara2 \ 3609 | niagara3 | niagara4) 3610 # OK 3611 ;; 3612 *) 3613 echo "Unknown cpu used in --with-$which=$val" 1>&2 3614 exit 1 3615 ;; 3616 esac 3617 done 3618 3619 case ${with_float} in 3620 "" | soft | hard) 3621 # OK 3622 ;; 3623 *) 3624 echo "Unknown floating point type used in --with-float=$with_float" 1>&2 3625 exit 1 3626 ;; 3627 esac 3628 ;; 3629 3630 spu-*-*) 3631 supported_defaults="arch tune" 3632 3633 for which in arch tune; do 3634 eval "val=\$with_$which" 3635 case ${val} in 3636 "" | cell | celledp) 3637 # OK 3638 ;; 3639 *) 3640 echo "Unknown cpu used in --with-$which=$val." 1>&2 3641 exit 1 3642 ;; 3643 esac 3644 done 3645 ;; 3646 3647 tic6x-*-*) 3648 supported_defaults="arch" 3649 3650 case ${with_arch} in 3651 "" | c62x | c64x | c64x+ | c67x | c67x+ | c674x) 3652 # OK 3653 ;; 3654 *) 3655 echo "Unknown arch used in --with-arch=$with_arch." 1>&2 3656 exit 1 3657 ;; 3658 esac 3659 ;; 3660 3661 v850*-*-*) 3662 supported_defaults=cpu 3663 case ${with_cpu} in 3664 "" | v850e | v850e1 | v850e2 | v850es | v850e2v3 | v850e3v5) 3665 # OK 3666 ;; 3667 *) 3668 echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2 3669 exit 1 3670 ;; 3671 esac 3672 ;; 3673esac 3674 3675# Set some miscellaneous flags for particular targets. 3676target_cpu_default2= 3677case ${target} in 3678 aarch64*-*-*) 3679 if test x$target_cpu_cname = x 3680 then 3681 target_cpu_default2=TARGET_CPU_generic 3682 else 3683 target_cpu_default2=$target_cpu_cname 3684 fi 3685 ;; 3686 3687 arm*-*-*) 3688 if test x$target_cpu_cname = x 3689 then 3690 target_cpu_default2=TARGET_CPU_generic 3691 else 3692 target_cpu_default2=TARGET_CPU_$target_cpu_cname 3693 fi 3694 ;; 3695 3696 hppa*-*-*) 3697 target_cpu_default2="MASK_BIG_SWITCH" 3698 if test x$gas = xyes 3699 then 3700 target_cpu_default2="${target_cpu_default2}|MASK_GAS|MASK_JUMP_IN_DELAY" 3701 fi 3702 ;; 3703 3704 fido*-*-* | m68k*-*-*) 3705 target_cpu_default2=$m68k_cpu_ident 3706 tmake_file="m68k/t-opts $tmake_file" 3707 if [ x"$m68k_arch_family" != x ]; then 3708 tmake_file="m68k/t-$m68k_arch_family $tmake_file" 3709 fi 3710 ;; 3711 3712 i[34567]86-*-darwin* | x86_64-*-darwin*) 3713 ;; 3714 i[34567]86-*-linux* | x86_64-*-linux*) 3715 tmake_file="$tmake_file i386/t-linux" 3716 ;; 3717 i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu) 3718 tmake_file="$tmake_file i386/t-kfreebsd" 3719 ;; 3720 i[34567]86-*-gnu*) 3721 tmake_file="$tmake_file i386/t-gnu" 3722 ;; 3723 i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*) 3724 ;; 3725 i[34567]86-*-cygwin* | i[34567]86-*-mingw* | x86_64-*-mingw*) 3726 ;; 3727 i[34567]86-*-freebsd* | x86_64-*-freebsd*) 3728 ;; 3729 ia64*-*-linux*) 3730 ;; 3731 3732 mips*-*-*) 3733 if test x$gnu_ld = xyes 3734 then 3735 target_cpu_default2="MASK_SPLIT_ADDRESSES" 3736 fi 3737 case ${target} in 3738 mips*el-*-*) 3739 tm_defines="TARGET_ENDIAN_DEFAULT=0 $tm_defines" 3740 ;; 3741 esac 3742 tmake_file="mips/t-mips $tmake_file" 3743 ;; 3744 3745 powerpc*-*-* | rs6000-*-*) 3746 # FIXME: The PowerPC port uses the value set at compile time, 3747 # although it's only cosmetic. 3748 if test "x$with_cpu" != x 3749 then 3750 target_cpu_default2="\\\"$with_cpu\\\"" 3751 fi 3752 out_file=rs6000/rs6000.c 3753 c_target_objs="${c_target_objs} rs6000-c.o" 3754 cxx_target_objs="${cxx_target_objs} rs6000-c.o" 3755 tmake_file="rs6000/t-rs6000 ${tmake_file}" 3756 ;; 3757 3758 sh[123456ble]*-*-* | sh-*-*) 3759 c_target_objs="${c_target_objs} sh-c.o" 3760 cxx_target_objs="${cxx_target_objs} sh-c.o" 3761 ;; 3762 3763 sparc*-*-*) 3764 # Some standard aliases. 3765 case x$with_cpu in 3766 xsparc) 3767 with_cpu=v7 3768 ;; 3769 xsparcv9 | xsparc64) 3770 with_cpu=v9 3771 ;; 3772 esac 3773 3774 if test x$with_tune = x ; then 3775 case ${target} in 3776 *-leon-*) 3777 with_tune=leon 3778 ;; 3779 *-leon[3-9]*) 3780 with_tune=leon3 3781 ;; 3782 esac 3783 fi 3784 3785 # The SPARC port checks this value at compile-time. 3786 target_cpu_default2="TARGET_CPU_$with_cpu" 3787 ;; 3788 3789 v850*-*-*) 3790 case "x$with_cpu" in 3791 x) 3792 ;; 3793 xv850e | xv850e1 | xv850e2 | xv850e2v3 | xv850e3v5) 3794 target_cpu_default2="TARGET_CPU_$with_cpu" 3795 ;; 3796 xv850es) 3797 target_cpu_default2="TARGET_CPU_v850e1" 3798 ;; 3799 esac 3800 ;; 3801esac 3802 3803t= 3804all_defaults="abi cpu cpu_32 cpu_64 arch arch_32 arch_64 tune tune_32 tune_64 schedule float mode fpu divide llsc mips-plt synci tls" 3805for option in $all_defaults 3806do 3807 eval "val=\$with_"`echo $option | sed s/-/_/g` 3808 if test -n "$val"; then 3809 case " $supported_defaults " in 3810 *" $option "*) 3811 ;; 3812 *) 3813 echo "This target does not support --with-$option." 2>&1 3814 echo "Valid --with options are: $supported_defaults" 2>&1 3815 exit 1 3816 ;; 3817 esac 3818 3819 if test "x$t" = x 3820 then 3821 t="{ \"$option\", \"$val\" }" 3822 else 3823 t="${t}, { \"$option\", \"$val\" }" 3824 fi 3825 fi 3826done 3827 3828if test "x$t" = x 3829then 3830 configure_default_options="{ { NULL, NULL} }" 3831else 3832 configure_default_options="{ ${t} }" 3833fi 3834 3835if test "$target_cpu_default2" != "" 3836then 3837 if test "$target_cpu_default" != "" 3838 then 3839 target_cpu_default="(${target_cpu_default}|${target_cpu_default2})" 3840 else 3841 target_cpu_default=$target_cpu_default2 3842 fi 3843fi 3844