1# GCC target-specific configuration file. 2# Copyright (C) 1997-2018 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# configure_default_options 168# Set to an initializer for configure_default_options 169# in configargs.h, based on --with-cpu et cetera. 170# 171# native_system_header_dir 172# Where system header files are found for this 173# target. This defaults to /usr/include. If 174# the --with-sysroot configure option or the 175# --sysroot command line option is used this 176# will be relative to the sysroot. 177# target_type_format_char 178# The default character to be used for formatting 179# the attribute in a 180# .type symbol_name, ${t_t_f_c}<property> 181# directive. 182 183# The following variables are used in each case-construct to build up the 184# outgoing variables: 185# 186# gnu_ld Set to yes or no depending on whether the target 187# system normally uses GNU ld. 188# 189# target_has_targetcm Set to yes or no depending on whether the target 190# has its own definition of targetcm. 191# 192# target_has_targetm_common Set to yes or no depending on whether the 193# target has its own definition of targetm_common. 194 195out_file= 196common_out_file= 197tmake_file= 198extra_headers= 199user_headers_inc_next_pre= 200user_headers_inc_next_post= 201use_gcc_tgmath=yes 202use_gcc_stdint=none 203extra_programs= 204extra_objs= 205extra_gcc_objs= 206extra_options= 207c_target_objs= 208cxx_target_objs= 209fortran_target_objs= 210target_has_targetcm=no 211target_has_targetm_common=yes 212tm_defines= 213xm_defines= 214# Set this to force installation and use of collect2. 215use_collect2= 216# Set this to override the default target model. 217target_cpu_default= 218# Set this if gdb needs a dir command with `dirname $out_file` 219gdb_needs_out_file_path= 220# Set this to control which thread package will be used. 221thread_file= 222# Reinitialize these from the flag values every loop pass, since some 223# configure entries modify them. 224gas="$gas_flag" 225gnu_ld="$gnu_ld_flag" 226default_use_cxa_atexit=no 227default_gnu_indirect_function=no 228target_gtfiles= 229need_64bit_isa= 230native_system_header_dir=/usr/include 231target_type_format_char='@' 232 233# Don't carry these over build->host->target. Please. 234xm_file= 235md_file= 236 237# Obsolete configurations. 238case ${target} in 239 powerpc*-*-*spe* \ 240 | tile*-*-* \ 241 ) 242 if test "x$enable_obsolete" != xyes; then 243 echo "*** Configuration ${target} is obsolete." >&2 244 echo "*** Specify --enable-obsolete to build it anyway." >&2 245 echo "*** Support will be REMOVED in the next major release of GCC," >&2 246 echo "*** unless a maintainer comes forward." >&2 247 exit 1 248 fi;; 249esac 250 251# Unsupported targets list. Do not put an entry in this list unless 252# it would otherwise be caught by a more permissive pattern. The list 253# should be in alphabetical order. 254case ${target} in 255 # Avoid special cases that are not obsolete 256 arm*-*-*eabi* \ 257 ) 258 ;; 259 arm*-wince-pe* \ 260 | arm*-*-ecos-elf \ 261 | arm*-*-elf \ 262 | arm*-*-linux* \ 263 | arm*-*-uclinux* \ 264 | i[34567]86-go32-* \ 265 | i[34567]86-*-go32* \ 266 | m68k-*-uclinuxoldabi* \ 267 | mips64orion*-*-rtems* \ 268 | pdp11-*-bsd \ 269 | sparc-hal-solaris2* \ 270 | thumb-*-* \ 271 | *-*-freebsd[12] | *-*-freebsd[12].* \ 272 | *-*-freebsd*aout* \ 273 | *-*-linux*aout* \ 274 | *-*-linux*coff* \ 275 | *-*-linux*libc1* \ 276 | *-*-linux*oldld* \ 277 | *-*-rtemsaout* \ 278 | *-*-rtemscoff* \ 279 | *-*-solaris2 \ 280 | *-*-solaris2.[0-9] \ 281 | *-*-solaris2.[0-9].* \ 282 | *-*-sysv* \ 283 | vax-*-vms* \ 284 ) 285 echo "*** Configuration ${target} not supported" 1>&2 286 exit 1 287 ;; 288esac 289 290# Set default cpu_type, tm_file, tm_p_file and xm_file so it can be 291# updated in each machine entry. Also set default extra_headers for some 292# machines. 293tm_p_file= 294cpu_type=`echo ${target} | sed 's/-.*$//'` 295cpu_is_64bit= 296case ${target} in 297m32c*-*-*) 298 cpu_type=m32c 299 tmake_file=m32c/t-m32c 300 target_has_targetm_common=no 301 ;; 302aarch64*-*-*) 303 cpu_type=aarch64 304 extra_headers="arm_fp16.h arm_neon.h arm_acle.h" 305 c_target_objs="aarch64-c.o" 306 cxx_target_objs="aarch64-c.o" 307 extra_objs="aarch64-builtins.o aarch-common.o cortex-a57-fma-steering.o" 308 target_gtfiles="\$(srcdir)/config/aarch64/aarch64-builtins.c" 309 target_has_targetm_common=yes 310 ;; 311alpha*-*-*) 312 cpu_type=alpha 313 extra_options="${extra_options} g.opt" 314 ;; 315am33_2.0-*-linux*) 316 cpu_type=mn10300 317 ;; 318arc*-*-*) 319 cpu_type=arc 320 c_target_objs="arc-c.o" 321 cxx_target_objs="arc-c.o" 322 extra_options="${extra_options} arc/arc-tables.opt g.opt" 323 extra_headers="arc-simd.h" 324 ;; 325arm*-*-*) 326 cpu_type=arm 327 extra_objs="arm-builtins.o aarch-common.o" 328 extra_headers="mmintrin.h arm_neon.h arm_acle.h arm_fp16.h arm_cmse.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 target_gtfiles="\$(srcdir)/config/arm/arm-builtins.c" 334 ;; 335avr-*-*) 336 cpu_type=avr 337 c_target_objs="avr-c.o" 338 cxx_target_objs="avr-c.o" 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 ;; 349ft32*) cpu_type=ft32 350 target_has_targetm_common=no 351 ;; 352moxie*) cpu_type=moxie 353 target_has_targetm_common=no 354 ;; 355fido-*-*) 356 cpu_type=m68k 357 extra_headers=math-68881.h 358 extra_options="${extra_options} m68k/m68k-tables.opt" 359 ;; 360i[34567]86-*-*) 361 cpu_type=i386 362 c_target_objs="i386-c.o" 363 cxx_target_objs="i386-c.o" 364 extra_objs="x86-tune-sched.o x86-tune-sched-bd.o x86-tune-sched-atom.o x86-tune-sched-core.o" 365 extra_options="${extra_options} fused-madd.opt" 366 extra_headers="cpuid.h mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h 367 pmmintrin.h tmmintrin.h ammintrin.h smmintrin.h 368 nmmintrin.h bmmintrin.h fma4intrin.h wmmintrin.h 369 immintrin.h x86intrin.h avxintrin.h xopintrin.h 370 ia32intrin.h cross-stdarg.h lwpintrin.h popcntintrin.h 371 lzcntintrin.h bmiintrin.h bmi2intrin.h tbmintrin.h 372 avx2intrin.h avx512fintrin.h fmaintrin.h f16cintrin.h 373 rtmintrin.h xtestintrin.h rdseedintrin.h prfchwintrin.h 374 adxintrin.h fxsrintrin.h xsaveintrin.h xsaveoptintrin.h 375 avx512cdintrin.h avx512erintrin.h avx512pfintrin.h 376 shaintrin.h clflushoptintrin.h xsavecintrin.h 377 xsavesintrin.h avx512dqintrin.h avx512bwintrin.h 378 avx512vlintrin.h avx512vlbwintrin.h avx512vldqintrin.h 379 avx512ifmaintrin.h avx512ifmavlintrin.h avx512vbmiintrin.h 380 avx512vbmivlintrin.h avx5124fmapsintrin.h avx5124vnniwintrin.h 381 avx512vpopcntdqintrin.h clwbintrin.h mwaitxintrin.h 382 clzerointrin.h pkuintrin.h sgxintrin.h cetintrin.h 383 gfniintrin.h cet.h avx512vbmi2intrin.h 384 avx512vbmi2vlintrin.h avx512vnniintrin.h 385 avx512vnnivlintrin.h vaesintrin.h vpclmulqdqintrin.h 386 avx512vpopcntdqvlintrin.h avx512bitalgintrin.h 387 pconfigintrin.h wbnoinvdintrin.h movdirintrin.h" 388 ;; 389x86_64-*-*) 390 cpu_type=i386 391 c_target_objs="i386-c.o" 392 cxx_target_objs="i386-c.o" 393 extra_options="${extra_options} fused-madd.opt" 394 extra_objs="x86-tune-sched.o x86-tune-sched-bd.o x86-tune-sched-atom.o x86-tune-sched-core.o" 395 extra_headers="cpuid.h mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h 396 pmmintrin.h tmmintrin.h ammintrin.h smmintrin.h 397 nmmintrin.h bmmintrin.h fma4intrin.h wmmintrin.h 398 immintrin.h x86intrin.h avxintrin.h xopintrin.h 399 ia32intrin.h cross-stdarg.h lwpintrin.h popcntintrin.h 400 lzcntintrin.h bmiintrin.h bmi2intrin.h tbmintrin.h 401 avx2intrin.h avx512fintrin.h fmaintrin.h f16cintrin.h 402 rtmintrin.h xtestintrin.h rdseedintrin.h prfchwintrin.h 403 adxintrin.h fxsrintrin.h xsaveintrin.h xsaveoptintrin.h 404 avx512cdintrin.h avx512erintrin.h avx512pfintrin.h 405 shaintrin.h clflushoptintrin.h xsavecintrin.h 406 xsavesintrin.h avx512dqintrin.h avx512bwintrin.h 407 avx512vlintrin.h avx512vlbwintrin.h avx512vldqintrin.h 408 avx512ifmaintrin.h avx512ifmavlintrin.h avx512vbmiintrin.h 409 avx512vbmivlintrin.h avx5124fmapsintrin.h avx5124vnniwintrin.h 410 avx512vpopcntdqintrin.h clwbintrin.h mwaitxintrin.h 411 clzerointrin.h pkuintrin.h sgxintrin.h cetintrin.h 412 gfniintrin.h cet.h avx512vbmi2intrin.h 413 avx512vbmi2vlintrin.h avx512vnniintrin.h 414 avx512vnnivlintrin.h vaesintrin.h vpclmulqdqintrin.h 415 avx512vpopcntdqvlintrin.h avx512bitalgintrin.h 416 pconfigintrin.h wbnoinvdintrin.h movdirintrin.h" 417 ;; 418ia64-*-*) 419 extra_headers=ia64intrin.h 420 extra_options="${extra_options} g.opt fused-madd.opt" 421 ;; 422hppa*-*-*) 423 cpu_type=pa 424 ;; 425lm32*) 426 extra_options="${extra_options} g.opt" 427 ;; 428m32r*-*-*) 429 cpu_type=m32r 430 extra_options="${extra_options} g.opt" 431 ;; 432m5200-*-*|m5407-*-*) 433 cpu_type=m68k 434 extra_headers=math-68881.h 435 extra_options="${extra_options} m68k/m68k-tables.opt" 436 ;; 437m680[012]0-*-*) 438 cpu_type=m68k 439 extra_headers=math-68881.h 440 extra_options="${extra_options} m68k/m68k-tables.opt" 441 ;; 442m68k-*-*) 443 extra_headers=math-68881.h 444 extra_options="${extra_options} m68k/m68k-tables.opt" 445 ;; 446microblaze*-*-*) 447 cpu_type=microblaze 448 extra_options="${extra_options} g.opt" 449 ;; 450mips*-*-*) 451 cpu_type=mips 452 extra_headers="loongson.h msa.h" 453 extra_objs="frame-header-opt.o" 454 extra_options="${extra_options} g.opt fused-madd.opt mips/mips-tables.opt" 455 ;; 456nds32*) 457 cpu_type=nds32 458 extra_headers="nds32_intrinsic.h" 459 extra_objs="nds32-cost.o nds32-intrinsic.o nds32-isr.o nds32-md-auxiliary.o nds32-pipelines-auxiliary.o nds32-predicates.o nds32-memory-manipulation.o nds32-fp-as-gp.o nds32-relax-opt.o nds32-utils.o" 460 ;; 461nios2-*-*) 462 cpu_type=nios2 463 extra_options="${extra_options} g.opt" 464 ;; 465nvptx-*-*) 466 cpu_type=nvptx 467 ;; 468powerpc*-*-*spe*) 469 cpu_type=powerpcspe 470 extra_headers="ppc-asm.h altivec.h spe.h ppu_intrinsics.h paired.h spu2vmx.h vec_types.h si2vmx.h htmintrin.h htmxlintrin.h" 471 case x$with_cpu in 472 xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[3456789]|xpower6x|xrs64a|xcell|xa2|xe500mc64|xe5500|xe6500) 473 cpu_is_64bit=yes 474 ;; 475 esac 476 extra_options="${extra_options} g.opt fused-madd.opt powerpcspe/powerpcspe-tables.opt" 477 ;; 478powerpc*-*-*) 479 cpu_type=rs6000 480 extra_objs="rs6000-string.o rs6000-p8swap.o" 481 extra_headers="ppc-asm.h altivec.h htmintrin.h htmxlintrin.h" 482 extra_headers="${extra_headers} bmi2intrin.h bmiintrin.h" 483 extra_headers="${extra_headers} xmmintrin.h mm_malloc.h emmintrin.h" 484 extra_headers="${extra_headers} mmintrin.h x86intrin.h" 485 extra_headers="${extra_headers} ppu_intrinsics.h spu2vmx.h vec_types.h si2vmx.h" 486 extra_headers="${extra_headers} paired.h" 487 extra_headers="${extra_headers} amo.h" 488 case x$with_cpu in 489 xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[3456789]|xpower6x|xrs64a|xcell|xa2|xe500mc64|xe5500|xe6500) 490 cpu_is_64bit=yes 491 ;; 492 esac 493 extra_options="${extra_options} g.opt fused-madd.opt rs6000/rs6000-tables.opt" 494 ;; 495riscv*) 496 cpu_type=riscv 497 extra_objs="riscv-builtins.o riscv-c.o" 498 ;; 499rs6000*-*-*) 500 extra_options="${extra_options} g.opt fused-madd.opt rs6000/rs6000-tables.opt" 501 extra_objs="rs6000-string.o rs6000-p8swap.o" 502 ;; 503sparc*-*-*) 504 cpu_type=sparc 505 c_target_objs="sparc-c.o" 506 cxx_target_objs="sparc-c.o" 507 extra_headers="visintrin.h" 508 ;; 509spu*-*-*) 510 cpu_type=spu 511 ;; 512s390*-*-*) 513 cpu_type=s390 514 extra_options="${extra_options} fused-madd.opt" 515 extra_headers="s390intrin.h htmintrin.h htmxlintrin.h vecintrin.h" 516 ;; 517# Note the 'l'; we need to be able to match e.g. "shle" or "shl". 518sh[123456789lbe]*-*-* | sh-*-*) 519 cpu_type=sh 520 extra_options="${extra_options} fused-madd.opt" 521 extra_objs="${extra_objs} sh_treg_combine.o sh-mem.o sh_optimize_sett_clrt.o" 522 ;; 523v850*-*-*) 524 cpu_type=v850 525 ;; 526tic6x-*-*) 527 cpu_type=c6x 528 extra_headers="c6x_intrinsics.h" 529 extra_options="${extra_options} c6x/c6x-tables.opt" 530 ;; 531xtensa*-*-*) 532 extra_options="${extra_options} fused-madd.opt" 533 ;; 534tilegx*-*-*) 535 cpu_type=tilegx 536 ;; 537tilepro*-*-*) 538 cpu_type=tilepro 539 ;; 540esac 541 542tm_file=${cpu_type}/${cpu_type}.h 543if test -f ${srcdir}/config/${cpu_type}/${cpu_type}-protos.h 544then 545 tm_p_file=${cpu_type}/${cpu_type}-protos.h 546fi 547extra_modes= 548if test -f ${srcdir}/config/${cpu_type}/${cpu_type}-modes.def 549then 550 extra_modes=${cpu_type}/${cpu_type}-modes.def 551fi 552if test -f ${srcdir}/config/${cpu_type}/${cpu_type}.opt 553then 554 extra_options="${extra_options} ${cpu_type}/${cpu_type}.opt" 555fi 556 557case ${target} in 558aarch64*-*-*) 559 tm_p_file="${tm_p_file} arm/aarch-common-protos.h" 560 case ${with_abi} in 561 "") 562 if test "x$with_multilib_list" = xilp32; then 563 tm_file="aarch64/biarchilp32.h ${tm_file}" 564 else 565 tm_file="aarch64/biarchlp64.h ${tm_file}" 566 fi 567 ;; 568 ilp32) 569 tm_file="aarch64/biarchilp32.h ${tm_file}" 570 ;; 571 lp64) 572 tm_file="aarch64/biarchlp64.h ${tm_file}" 573 ;; 574 *) 575 echo "Unknown ABI used in --with-abi=$with_abi" 576 exit 1 577 esac 578 ;; 579i[34567]86-*-*) 580 if test "x$with_abi" != x; then 581 echo "This target does not support --with-abi." 582 exit 1 583 fi 584 if test "x$enable_cld" = xyes; then 585 tm_defines="${tm_defines} USE_IX86_CLD=1" 586 fi 587 if test "x$enable_frame_pointer" = xyes; then 588 tm_defines="${tm_defines} USE_IX86_FRAME_POINTER=1" 589 fi 590 tm_file="vxworks-dummy.h ${tm_file}" 591 ;; 592x86_64-*-*) 593 case ${with_abi} in 594 "") 595 if test "x$with_multilib_list" = xmx32; then 596 tm_file="i386/biarchx32.h ${tm_file}" 597 else 598 tm_file="i386/biarch64.h ${tm_file}" 599 fi 600 ;; 601 64 | m64) 602 tm_file="i386/biarch64.h ${tm_file}" 603 ;; 604 x32 | mx32) 605 tm_file="i386/biarchx32.h ${tm_file}" 606 ;; 607 *) 608 echo "Unknown ABI used in --with-abi=$with_abi" 609 exit 1 610 esac 611 if test "x$enable_cld" = xyes; then 612 tm_defines="${tm_defines} USE_IX86_CLD=1" 613 fi 614 if test "x$enable_frame_pointer" = xyes; then 615 tm_defines="${tm_defines} USE_IX86_FRAME_POINTER=1" 616 fi 617 tm_file="vxworks-dummy.h ${tm_file}" 618 ;; 619arm*-*-*) 620 tm_p_file="arm/arm-flags.h ${tm_p_file} arm/aarch-common-protos.h" 621 tm_file="vxworks-dummy.h ${tm_file}" 622 ;; 623mips*-*-* | sh*-*-* | sparc*-*-*) 624 tm_file="vxworks-dummy.h ${tm_file}" 625 ;; 626esac 627 628# On a.out targets, we need to use collect2. 629case ${target} in 630*-*-*aout*) 631 use_collect2=yes 632 ;; 633esac 634 635# Common C libraries. 636tm_defines="$tm_defines LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3 LIBC_MUSL=4" 637 638# 32-bit x86 processors supported by --with-arch=. Each processor 639# MUST be separated by exactly one space. 640x86_archs="athlon athlon-4 athlon-fx athlon-mp athlon-tbird \ 641athlon-xp k6 k6-2 k6-3 geode c3 c3-2 winchip-c6 winchip2 i386 i486 \ 642i586 i686 pentium pentium-m pentium-mmx pentium2 pentium3 pentium3m \ 643pentium4 pentium4m pentiumpro prescott lakemont" 644 645# 64-bit x86 processors supported by --with-arch=. Each processor 646# MUST be separated by exactly one space. 647x86_64_archs="amdfam10 athlon64 athlon64-sse3 barcelona bdver1 bdver2 \ 648bdver3 bdver4 znver1 btver1 btver2 k8 k8-sse3 opteron opteron-sse3 nocona \ 649core2 corei7 corei7-avx core-avx-i core-avx2 atom slm nehalem westmere \ 650sandybridge ivybridge haswell broadwell bonnell silvermont knl knm \ 651skylake-avx512 cannonlake icelake-client icelake-server skylake x86-64 native" 652 653# Additional x86 processors supported by --with-cpu=. Each processor 654# MUST be separated by exactly one space. 655x86_cpus="generic intel" 656 657# Common parts for widely ported systems. 658case ${target} in 659*-*-darwin*) 660 tmake_file="t-darwin " 661 tm_file="${tm_file} darwin.h" 662 case ${target} in 663 *-*-darwin9*) 664 tm_file="${tm_file} darwin9.h" 665 ;; 666 *-*-darwin[1][01]*) 667 tm_file="${tm_file} darwin9.h darwin10.h" 668 ;; 669 *-*-darwin[1][2-9]* | *-*-darwin[2][0-9]*) 670 tm_file="${tm_file} darwin9.h darwin10.h darwin12.h" 671 ;; 672 esac 673 tm_file="${tm_file} ${cpu_type}/darwin.h" 674 tm_p_file="${tm_p_file} darwin-protos.h" 675 target_gtfiles="\$(srcdir)/config/darwin.c" 676 extra_options="${extra_options} darwin.opt" 677 c_target_objs="${c_target_objs} darwin-c.o" 678 cxx_target_objs="${cxx_target_objs} darwin-c.o" 679 fortran_target_objs="darwin-f.o" 680 target_has_targetcm=yes 681 extra_objs="${extra_objs} darwin.o" 682 extra_gcc_objs="darwin-driver.o" 683 default_use_cxa_atexit=yes 684 use_gcc_stdint=wrap 685 case ${enable_threads} in 686 "" | yes | posix) thread_file='posix' ;; 687 esac 688 ;; 689*-*-dragonfly*) 690 gas=yes 691 gnu_ld=yes 692 tmake_file="t-slibgcc" 693 case ${enable_threads} in 694 "" | yes | posix) 695 thread_file='posix' 696 ;; 697 no | single) 698 # Let these non-posix thread selections fall through if requested 699 ;; 700 *) 701 echo 'Unknown thread configuration for DragonFly BSD' 702 exit 1 703 ;; 704 esac 705 extra_options="$extra_options rpath.opt dragonfly.opt" 706 default_use_cxa_atexit=yes 707 use_gcc_stdint=wrap 708 ;; 709*-*-freebsd*) 710 # This is the generic ELF configuration of FreeBSD. Later 711 # machine-specific sections may refine and add to this 712 # configuration. 713 # 714 # Due to tm_file entry ordering issues that vary between cpu 715 # architectures, we only define fbsd_tm_file to allow the 716 # machine-specific section to dictate the final order of all 717 # entries of tm_file with the minor exception that components 718 # of the tm_file set here will always be of the form: 719 # 720 # freebsd<version_number>.h [freebsd-<conf_option>.h ...] freebsd-spec.h freebsd.h 721 # 722 # The machine-specific section should not tamper with this 723 # ordering but may order all other entries of tm_file as it 724 # pleases around the provided core setting. 725 gas=yes 726 gnu_ld=yes 727 fbsd_major=`echo ${target} | sed -e 's/.*freebsd//g' | sed -e 's/\..*//g'` 728 if test "$fbsd_major" = ""; then 729 echo "Specify the major version number of the targeted FreeBSD release" 730 echo "like this: --target=amd64-unknown-freebsd10.1" 731 exit 1 732 fi 733 tm_defines="${tm_defines} FBSD_MAJOR=${fbsd_major}" 734 tmake_file="t-slibgcc" 735 case ${enable_threads} in 736 no) 737 fbsd_tm_file="${fbsd_tm_file} freebsd-nthr.h" 738 ;; 739 "" | yes | posix) 740 thread_file='posix' 741 ;; 742 *) 743 echo 'Unknown thread configuration for FreeBSD' 744 exit 1 745 ;; 746 esac 747 fbsd_tm_file="${fbsd_tm_file} freebsd-spec.h freebsd.h freebsd-stdint.h" 748 extra_options="$extra_options rpath.opt freebsd.opt" 749 case ${target} in 750 *-*-freebsd[345].*) 751 :;; 752 *) 753 default_use_cxa_atexit=yes;; 754 esac 755 use_gcc_stdint=wrap 756 ;; 757*-*-fuchsia*) 758 native_system_header_dir=/include 759 ;; 760*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu) 761 extra_options="$extra_options gnu-user.opt" 762 gas=yes 763 gnu_ld=yes 764 case ${enable_threads} in 765 "" | yes | posix) thread_file='posix' ;; 766 esac 767 tmake_file="t-slibgcc" 768 case $target in 769 *-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-kopensolaris*-gnu) 770 :;; 771 *-*-gnu*) 772 native_system_header_dir=/include 773 ;; 774 esac 775 # Linux C libraries selection switch: glibc / uclibc / bionic. 776 # uclibc and bionic aren't usable for GNU/Hurd and neither for GNU/k*BSD. 777 case $target in 778 *linux*) 779 tm_p_file="${tm_p_file} linux-protos.h" 780 tmake_file="${tmake_file} t-linux" 781 extra_objs="${extra_objs} linux.o" 782 extra_options="${extra_options} linux.opt" 783 ;; 784 esac 785 case $target in 786 *-*-*android*) 787 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_BIONIC" 788 ;; 789 *-*-*uclibc*) 790 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC" 791 ;; 792 *-*-*musl*) 793 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_MUSL" 794 ;; 795 *) 796 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_GLIBC" 797 ;; 798 esac 799 # Assume that glibc or uClibc or Bionic are being used and so __cxa_atexit 800 # is provided. 801 default_use_cxa_atexit=yes 802 use_gcc_tgmath=no 803 use_gcc_stdint=wrap 804 # Enable compilation for Android by default for *android* targets. 805 case $target in 806 *-*-*android*) 807 tm_defines="$tm_defines ANDROID_DEFAULT=1" 808 ;; 809 *) 810 tm_defines="$tm_defines ANDROID_DEFAULT=0" 811 ;; 812 esac 813 c_target_objs="${c_target_objs} glibc-c.o" 814 cxx_target_objs="${cxx_target_objs} glibc-c.o" 815 tmake_file="${tmake_file} t-glibc" 816 target_has_targetcm=yes 817 ;; 818*-*-netbsd*) 819 tm_p_file="${tm_p_file} netbsd-protos.h" 820 tmake_file="t-netbsd t-slibgcc" 821 extra_objs="${extra_objs} netbsd.o" 822 gas=yes 823 gnu_ld=yes 824 use_gcc_stdint=wrap 825 case ${enable_threads} in 826 "" | yes | posix) thread_file='posix' ;; 827 esac 828 case ${target} in 829 arm*-* | i[34567]86-* | powerpc*-* | sparc*-* | x86_64-*) 830 default_gnu_indirect_function=yes 831 ;; 832 esac 833 nbsd_tm_file="netbsd.h netbsd-stdint.h netbsd-elf.h" 834 default_use_cxa_atexit=yes 835 ;; 836*-*-openbsd*) 837 tmake_file="t-openbsd" 838 case ${enable_threads} in 839 yes) 840 thread_file='posix' 841 ;; 842 esac 843 case ${target} in 844 *-*-openbsd4.[3-9]|*-*-openbsd[5-9]*) 845 default_use_cxa_atexit=yes 846 ;; 847 esac 848 ;; 849*-*-phoenix*) 850 gas=yes 851 gnu_ld=yes 852 default_use_cxa_atexit=yes 853 ;; 854*-*-rtems*) 855 case ${enable_threads} in 856 "" | yes | rtems) thread_file='rtems' ;; 857 posix) thread_file='posix' ;; 858 no) ;; 859 *) 860 echo 'Unknown thread configuration for RTEMS' 861 exit 1 862 ;; 863 esac 864 tmake_file="${tmake_file} t-rtems" 865 extra_options="${extra_options} rtems.opt" 866 default_use_cxa_atexit=yes 867 use_gcc_stdint=wrap 868 ;; 869*-*-uclinux*) 870 extra_options="$extra_options gnu-user.opt" 871 use_gcc_stdint=wrap 872 case ${enable_threads} in 873 "" | yes | posix) thread_file='posix' ;; 874 esac 875 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC SINGLE_LIBC" 876 ;; 877*-*-rdos*) 878 use_gcc_stdint=wrap 879 ;; 880*-*-solaris2*) 881 # i?86-*-solaris2* needs to insert headers between cpu default and 882 # Solaris 2 specific ones. 883 sol2_tm_file_head="dbxelf.h elfos.h ${cpu_type}/sysv4.h" 884 sol2_tm_file_tail="${cpu_type}/sol2.h sol2.h" 885 sol2_tm_file="${sol2_tm_file_head} ${sol2_tm_file_tail}" 886 case ${target} in 887 *-*-solaris2.1[1-9]*) 888 # __cxa_atexit was introduced in Solaris 11.4. 889 default_use_cxa_atexit=yes 890 ;; 891 esac 892 use_gcc_stdint=wrap 893 if test x$gnu_ld = xyes; then 894 tm_file="usegld.h ${tm_file}" 895 fi 896 if test x$gas = xyes; then 897 tm_file="usegas.h ${tm_file}" 898 fi 899 tm_p_file="${tm_p_file} sol2-protos.h" 900 tmake_file="${tmake_file} t-sol2 t-slibgcc" 901 c_target_objs="${c_target_objs} sol2-c.o" 902 cxx_target_objs="${cxx_target_objs} sol2-c.o sol2-cxx.o" 903 extra_objs="${extra_objs} sol2.o sol2-stubs.o" 904 extra_options="${extra_options} sol2.opt" 905 case ${enable_threads}:${have_pthread_h}:${have_thread_h} in 906 "":yes:* | yes:yes:* ) 907 thread_file=posix 908 ;; 909 esac 910 ;; 911*-*-*vms*) 912 extra_options="${extra_options} vms/vms.opt" 913 xmake_file=vms/x-vms 914 tmake_file="vms/t-vms t-slibgcc" 915 extra_objs="vms.o" 916 target_gtfiles="$target_gtfiles \$(srcdir)/config/vms/vms.c" 917 tm_p_file="${tm_p_file} vms/vms-protos.h" 918 xm_file="vms/xm-vms.h" 919 c_target_objs="vms-c.o" 920 cxx_target_objs="vms-c.o" 921 fortran_target_objs="vms-f.o" 922 use_gcc_stdint=provide 923 tm_file="${tm_file} vms/vms-stdint.h" 924 if test x$gnu_ld != xyes; then 925 # Build wrappers for native case. 926 extra_programs="ld\$(exeext) ar\$(exeext)" 927 tmake_file="$tmake_file vms/t-vmsnative" 928 fi 929 ;; 930*-*-vxworks*) 931 tmake_file=t-vxworks 932 xm_defines=POSIX 933 extra_options="${extra_options} vxworks.opt" 934 extra_objs="$extra_objs vxworks.o" 935 use_gcc_stdint=provide 936 tm_file="${tm_file} vxworks-stdint.h" 937 case ${enable_threads} in 938 no) ;; 939 "" | yes | vxworks) thread_file='vxworks' ;; 940 *) echo 'Unknown thread configuration for VxWorks'; exit 1 ;; 941 esac 942 case $target in 943 *-*-vxworks7*) 944 tm_defines="$tm_defines TARGET_VXWORKS7=1" 945 ;; 946 esac 947 ;; 948*-*-elf|arc*-*-elf*) 949 # Assume that newlib is being used and so __cxa_atexit is provided. 950 default_use_cxa_atexit=yes 951 use_gcc_stdint=wrap 952 ;; 953esac 954 955case ${target} in 956aarch64*-*-elf | aarch64*-*-fuchsia* | aarch64*-*-rtems*) 957 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h" 958 tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-elf-raw.h" 959 tmake_file="${tmake_file} aarch64/t-aarch64" 960 case $target in 961 aarch64-*-elf*) 962 use_gcc_stdint=wrap 963 ;; 964 aarch64-*-fuchsia*) 965 tm_file="${tm_file} fuchsia.h" 966 ;; 967 aarch64-*-rtems*) 968 tm_file="${tm_file} rtems.h aarch64/rtems.h" 969 ;; 970 esac 971 case $target in 972 aarch64_be-*) 973 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1" 974 ;; 975 esac 976 aarch64_multilibs="${with_multilib_list}" 977 if test "$aarch64_multilibs" = "default"; then 978 aarch64_multilibs="lp64,ilp32" 979 fi 980 aarch64_multilibs=`echo $aarch64_multilibs | sed -e 's/,/ /g'` 981 for aarch64_multilib in ${aarch64_multilibs}; do 982 case ${aarch64_multilib} in 983 ilp32 | lp64 ) 984 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${aarch64_multilib}" 985 ;; 986 *) 987 echo "--with-multilib-list=${aarch64_multilib} not supported." 988 exit 1 989 esac 990 done 991 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'` 992 ;; 993aarch64*-*-freebsd*) 994 tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file}" 995 tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-freebsd.h" 996 tmake_file="${tmake_file} aarch64/t-aarch64 aarch64/t-aarch64-freebsd" 997 ;; 998aarch64*-*-netbsd*) 999 tm_file="${tm_file} dbxelf.h elfos.h ${nbsd_tm_file}" 1000 tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-netbsd.h" 1001 tmake_file="${tmake_file} aarch64/t-aarch64 aarch64/t-aarch64-netbsd" 1002 extra_options="${extra_options} netbsd.opt netbsd-elf.opt" 1003 case $target in 1004 aarch64_be-*) 1005 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1" 1006 ;; 1007 esac 1008 ;; 1009aarch64*-*-linux*) 1010 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h" 1011 tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-linux.h" 1012 tmake_file="${tmake_file} aarch64/t-aarch64 aarch64/t-aarch64-linux" 1013 tm_defines="${tm_defines} TARGET_DEFAULT_ASYNC_UNWIND_TABLES=1" 1014 case $target in 1015 aarch64_be-*) 1016 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1" 1017 ;; 1018 esac 1019 aarch64_multilibs="${with_multilib_list}" 1020 if test "$aarch64_multilibs" = "default"; then 1021 # TODO: turn on ILP32 multilib build after its support is mature. 1022 # aarch64_multilibs="lp64,ilp32" 1023 aarch64_multilibs="lp64" 1024 fi 1025 aarch64_multilibs=`echo $aarch64_multilibs | sed -e 's/,/ /g'` 1026 for aarch64_multilib in ${aarch64_multilibs}; do 1027 case ${aarch64_multilib} in 1028 ilp32 | lp64 ) 1029 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${aarch64_multilib}" 1030 ;; 1031 *) 1032 echo "--with-multilib-list=${aarch64_multilib} not supported." 1033 exit 1 1034 esac 1035 done 1036 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'` 1037 ;; 1038alpha*-*-linux*) 1039 tm_file="elfos.h ${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h glibc-stdint.h" 1040 tmake_file="${tmake_file} alpha/t-linux alpha/t-alpha" 1041 extra_options="${extra_options} alpha/elf.opt" 1042 ;; 1043alpha*-*-freebsd*) 1044 tm_file="elfos.h ${tm_file} ${fbsd_tm_file} alpha/elf.h alpha/freebsd.h" 1045 tmake_file="${tmake_file} alpha/t-alpha" 1046 extra_options="${extra_options} alpha/elf.opt" 1047 ;; 1048alpha*-*-netbsd*) 1049 tm_file="elfos.h ${tm_file} ${nbsd_tm_file} alpha/elf.h alpha/netbsd.h" 1050 tmake_file="${tmake_file} alpha/t-alpha" 1051 extra_options="${extra_options} netbsd.opt netbsd-elf.opt \ 1052 alpha/elf.opt" 1053 ;; 1054alpha*-*-openbsd*) 1055 tm_defines="${tm_defines} OBSD_HAS_DECLARE_FUNCTION_NAME OBSD_HAS_DECLARE_FUNCTION_SIZE OBSD_HAS_DECLARE_OBJECT" 1056 tm_file="elfos.h alpha/alpha.h alpha/elf.h openbsd.h openbsd-stdint.h alpha/openbsd.h openbsd-libpthread.h" 1057 tmake_file="${tmake_file} alpha/t-alpha" 1058 extra_options="${extra_options} openbsd.opt alpha/elf.opt" 1059 # default x-alpha is only appropriate for dec-osf. 1060 ;; 1061alpha*-dec-*vms*) 1062 tm_file="${tm_file} vms/vms.h alpha/vms.h" 1063 tmake_file="${tmake_file} alpha/t-vms alpha/t-alpha" 1064 ;; 1065arc*-*-elf*) 1066 tm_file="arc/arc-arch.h dbxelf.h elfos.h newlib-stdint.h arc/elf.h ${tm_file}" 1067 tmake_file="arc/t-multilib arc/t-arc" 1068 extra_gcc_objs="driver-arc.o" 1069 if test "x$with_cpu" != x; then 1070 tm_defines="${tm_defines} TARGET_CPU_BUILD=PROCESSOR_$with_cpu" 1071 fi 1072 if test x${with_endian} = x; then 1073 case ${target} in 1074 arc*be-*-* | arc*eb-*-*) with_endian=big ;; 1075 *) with_endian=little ;; 1076 esac 1077 fi 1078 case ${with_endian} in 1079 big|little) ;; 1080 *) echo "with_endian=${with_endian} not supported."; exit 1 ;; 1081 esac 1082 case ${with_endian} in 1083 big*) tm_file="arc/big.h ${tm_file}" 1084 esac 1085 ;; 1086arc*-*-linux*) 1087 tm_file="arc/arc-arch.h dbxelf.h elfos.h gnu-user.h linux.h linux-android.h glibc-stdint.h arc/linux.h ${tm_file}" 1088 tmake_file="${tmake_file} arc/t-arc" 1089 extra_gcc_objs="driver-arc.o" 1090 if test "x$with_cpu" != x; then 1091 tm_defines="${tm_defines} TARGET_CPU_BUILD=PROCESSOR_$with_cpu" 1092 fi 1093 if test x${with_endian} = x; then 1094 case ${target} in 1095 arc*be-*-* | arc*eb-*-*) with_endian=big ;; 1096 *) with_endian=little ;; 1097 esac 1098 fi 1099 case ${with_endian} in 1100 big|little) ;; 1101 *) echo "with_endian=${with_endian} not supported."; exit 1 ;; 1102 esac 1103 case ${with_endian} in 1104 big*) tm_file="arc/big.h ${tm_file}" 1105 esac 1106 # Force .init_array support. The configure script cannot always 1107 # automatically detect that GAS supports it, yet we require it. 1108 gcc_cv_initfini_array=yes 1109 ;; 1110arm-wrs-vxworks|arm-wrs-vxworks7) 1111 extra_options="${extra_options} arm/vxworks.opt" 1112 tmake_file="${tmake_file} arm/t-arm arm/t-vxworks" 1113 case $target in 1114 *-vxworks7) 1115 # VxWorks7 on ARM adheres to the ARM Base Platform ABI 1116 tmake_file="${tmake_file} arm/t-bpabi" 1117 tm_file="arm/bpabi.h ${tm_file}" 1118 # The BPABI long long divmod functions return a 128-bit value in 1119 # registers r0-r3. 1120 need_64bit_hwint=yes 1121 default_use_cxa_atexit=yes 1122 ;; 1123 *) ;; 1124 esac 1125 tm_file="elfos.h arm/elf.h arm/aout.h ${tm_file} vx-common.h vxworks.h arm/vxworks.h" 1126 target_cpu_cname="arm8" 1127 ;; 1128arm*-*-freebsd*) # ARM FreeBSD EABI 1129 tm_file="dbxelf.h elfos.h ${fbsd_tm_file} arm/elf.h" 1130 case $target in 1131 arm*b-*-freebsd*) 1132 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1" 1133 ;; 1134 esac 1135 tmake_file="${tmake_file} arm/t-arm arm/t-bpabi" 1136 tm_file="${tm_file} arm/bpabi.h arm/freebsd.h arm/aout.h arm/arm.h" 1137 case $target in 1138 armv6*-*-freebsd*) 1139 target_cpu_cname="arm1176jzf-s" 1140 if test $fbsd_major -ge 11; then 1141 tm_defines="${tm_defines} TARGET_FREEBSD_ARM_HARD_FLOAT=1" 1142 fi 1143 ;; 1144 armv7*-*-freebsd*) 1145 target_cpu_cname="generic-armv7-a" 1146 tm_defines="${tm_defines} TARGET_FREEBSD_ARM_HARD_FLOAT=1" 1147 ;; 1148 *) 1149 target_cpu_cname="arm9" 1150 ;; 1151 esac 1152 with_tls=${with_tls:-gnu} 1153 ;; 1154arm*-*-netbsdelf*) 1155 tm_file="dbxelf.h elfos.h ${nbsd_tm_file} arm/elf.h arm/aout.h arm/netbsd-elf.h" 1156 extra_options="${extra_options} netbsd.opt netbsd-elf.opt" 1157 tmake_file="${tmake_file} arm/t-arm" 1158 case ${target} in 1159 arm*eb-*) tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1" ;; 1160 esac 1161 case ${target} in 1162 arm*-*-netbsdelf-*eabi*) 1163 tm_file="${tm_file} arm/bpabi.h arm/netbsd-eabi.h" 1164 # GCC 7 vs NetBSD/eabi -> avoid arm unwinder 1165 #tmake_file="$tmake_file arm/t-bpabi" 1166 tmake_file="$tmake_file arm/t-netbsdeabi" 1167 # The EABI requires the use of __cxa_atexit. 1168 default_use_cxa_atexit=yes 1169 ;; 1170 *) 1171 tmake_file="$tmake_file arm/t-netbsd" 1172 # NetBSD/arm (non-eabi) is only old platforms 1173 with_cpu=${with_cpu:-strongarm} 1174 ;; 1175 esac 1176 tm_file="${tm_file} vxworks-dummy.h arm/arm.h" 1177 case ${target} in 1178 arm*-*-netbsdelf-*eabihf*) 1179 tm_defines="${tm_defines} TARGET_DEFAULT_FLOAT_ABI=ARM_FLOAT_ABI_HARD" 1180 ;; 1181 esac 1182 case ${target} in 1183 armv4*) with_cpu=${with_cpu:-strongarm};; 1184 armv6*) with_cpu=${with_cpu:-arm1176jzf-s};; 1185 armv7*) with_cpu=${with_cpu:-cortex-a8};; 1186 arm*) with_cpu=${with_cpu:-arm9e};; 1187 esac 1188 target_cpu_cname="$with_cpu" 1189 ;; 1190arm*-*-linux-*) # ARM GNU/Linux with ELF 1191 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" 1192 extra_options="${extra_options} linux-android.opt" 1193 case $target in 1194 arm*b-*-linux*) 1195 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1" 1196 ;; 1197 esac 1198 tmake_file="${tmake_file} arm/t-arm arm/t-arm-elf arm/t-bpabi arm/t-linux-eabi" 1199 tm_file="$tm_file arm/bpabi.h arm/linux-eabi.h arm/aout.h vxworks-dummy.h arm/arm.h" 1200 # Generation of floating-point instructions requires at least ARMv5te. 1201 if [ "$with_float" = "hard" -o "$with_float" = "softfp" ] ; then 1202 target_cpu_cname="arm10e" 1203 else 1204 target_cpu_cname="arm10tdmi" 1205 fi 1206 # Define multilib configuration for arm-linux-androideabi. 1207 case ${target} in 1208 *-androideabi) 1209 tmake_file="$tmake_file arm/t-linux-androideabi" 1210 ;; 1211 esac 1212 # The EABI requires the use of __cxa_atexit. 1213 default_use_cxa_atexit=yes 1214 with_tls=${with_tls:-gnu} 1215 ;; 1216arm*-*-uclinux*eabi*) # ARM ucLinux 1217 tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/linux-gas.h arm/uclinux-elf.h glibc-stdint.h" 1218 tmake_file="${tmake_file} arm/t-arm arm/t-arm-elf arm/t-bpabi" 1219 tm_file="$tm_file arm/bpabi.h arm/uclinux-eabi.h arm/aout.h vxworks-dummy.h arm/arm.h" 1220 target_cpu_cname="arm7tdmi" 1221 # The EABI requires the use of __cxa_atexit. 1222 default_use_cxa_atexit=yes 1223 ;; 1224arm*-*-phoenix*) 1225 tm_file="elfos.h arm/unknown-elf.h arm/elf.h arm/bpabi.h" 1226 tm_file="${tm_file} newlib-stdint.h phoenix.h" 1227 tm_file="${tm_file} arm/aout.h arm/arm.h" 1228 tmake_file="${tmake_file} arm/t-arm arm/t-bpabi arm/t-phoenix" 1229 target_cpu_cname="arm7tdmi" 1230 ;; 1231arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems* | arm*-*-fuchsia*) 1232 case ${target} in 1233 arm*eb-*-eabi*) 1234 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1" 1235 esac 1236 default_use_cxa_atexit=yes 1237 tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/bpabi.h" 1238 tmake_file="${tmake_file} arm/t-arm arm/t-arm-elf" 1239 target_cpu_cname="arm7tdmi" 1240 case ${target} in 1241 arm*-*-eabi*) 1242 tm_file="$tm_file newlib-stdint.h" 1243 tmake_file="${tmake_file} arm/t-bpabi" 1244 use_gcc_stdint=wrap 1245 ;; 1246 arm*-*-fuchsia*) 1247 tm_file="${tm_file} fuchsia.h arm/fuchsia-elf.h glibc-stdint.h" 1248 tmake_file="${tmake_file} arm/t-bpabi arm/t-fuchsia" 1249 target_cpu_cname="generic-armv7-a" 1250 ;; 1251 arm*-*-rtems*) 1252 tm_file="${tm_file} rtems.h arm/rtems.h newlib-stdint.h" 1253 tmake_file="${tmake_file} arm/t-bpabi arm/t-rtems" 1254 ;; 1255 arm*-*-symbianelf*) 1256 tm_file="${tm_file} arm/symbian.h" 1257 # We do not include t-bpabi for Symbian OS because the system 1258 # provides its own implementation of the BPABI functions. 1259 tmake_file="${tmake_file} arm/t-symbian" 1260 target_cpu_cname="arm10tdmi" 1261 ;; 1262 esac 1263 tm_file="${tm_file} arm/aout.h vxworks-dummy.h arm/arm.h" 1264 ;; 1265avr-*-*) 1266 tm_file="elfos.h avr/elf.h avr/avr-arch.h avr/avr.h avr/specs.h dbxelf.h avr/avr-stdint.h" 1267 if test x${with_avrlibc} != xno; then 1268 tm_file="${tm_file} ${cpu_type}/avrlibc.h" 1269 tm_defines="${tm_defines} WITH_AVRLIBC" 1270 fi 1271 tmake_file="${tmake_file} avr/t-avr avr/t-multilib" 1272 use_gcc_stdint=wrap 1273 extra_gcc_objs="driver-avr.o avr-devices.o" 1274 extra_objs="avr-devices.o avr-log.o" 1275 ;; 1276bfin*-elf*) 1277 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h bfin/elf.h" 1278 tmake_file=bfin/t-bfin-elf 1279 use_collect2=no 1280 ;; 1281bfin*-uclinux*) 1282 tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h gnu-user.h linux.h glibc-stdint.h bfin/uclinux.h" 1283 tmake_file=bfin/t-bfin-uclinux 1284 use_collect2=no 1285 ;; 1286bfin*-linux-uclibc*) 1287 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" 1288 tmake_file="${tmake_file} bfin/t-bfin-linux" 1289 use_collect2=no 1290 ;; 1291bfin*-rtems*) 1292 tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h bfin/rtems.h rtems.h newlib-stdint.h" 1293 tmake_file="${tmake_file} bfin/t-rtems" 1294 ;; 1295bfin*-*) 1296 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h bfin/elf.h" 1297 use_collect2=no 1298 use_gcc_stdint=wrap 1299 ;; 1300cr16-*-elf) 1301 tm_file="elfos.h ${tm_file} newlib-stdint.h" 1302 tmake_file="${tmake_file} cr16/t-cr16 " 1303 use_collect2=no 1304 ;; 1305crisv32-*-elf | crisv32-*-none) 1306 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}" 1307 tmake_file="cris/t-cris" 1308 target_cpu_default=32 1309 gas=yes 1310 extra_options="${extra_options} cris/elf.opt" 1311 use_gcc_stdint=wrap 1312 ;; 1313cris-*-elf | cris-*-none) 1314 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}" 1315 tmake_file="cris/t-cris cris/t-elfmulti" 1316 gas=yes 1317 extra_options="${extra_options} cris/elf.opt" 1318 use_gcc_stdint=wrap 1319 ;; 1320crisv32-*-linux* | cris-*-linux*) 1321 tm_file="dbxelf.h elfos.h ${tm_file} gnu-user.h linux.h glibc-stdint.h cris/linux.h" 1322 tmake_file="${tmake_file} cris/t-cris cris/t-linux" 1323 extra_options="${extra_options} cris/linux.opt" 1324 case $target in 1325 cris-*-*) 1326 target_cpu_default=10 1327 ;; 1328 crisv32-*-*) 1329 target_cpu_default=32 1330 ;; 1331 esac 1332 ;; 1333epiphany-*-elf | epiphany-*-rtems*) 1334 tm_file="${tm_file} dbxelf.h elfos.h" 1335 tmake_file="${tmake_file} epiphany/t-epiphany" 1336 case ${target} in 1337 epiphany-*-rtems*) 1338 tm_file="${tm_file} rtems.h epiphany/rtems.h newlib-stdint.h" 1339 ;; 1340 *) 1341 tm_file="${tm_file} newlib-stdint.h" 1342 ;; 1343 esac 1344 extra_options="${extra_options} fused-madd.opt" 1345 extra_objs="${extra_objs} mode-switch-use.o resolve-sw-modes.o" 1346 tm_defines="${tm_defines} EPIPHANY_STACK_OFFSET=${with_stack_offset:-8}" 1347 extra_headers="epiphany_intrinsics.h" 1348 ;; 1349fr30-*-elf) 1350 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}" 1351 ;; 1352frv-*-elf) 1353 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}" 1354 tmake_file=frv/t-frv 1355 ;; 1356frv-*-*linux*) 1357 tm_file="dbxelf.h elfos.h ${tm_file} \ 1358 gnu-user.h linux.h glibc-stdint.h frv/linux.h" 1359 tmake_file="${tmake_file} frv/t-frv frv/t-linux" 1360 ;; 1361ft32-*-elf) 1362 gas=yes 1363 gnu_ld=yes 1364 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}" 1365 tmake_file="${tmake_file} ft32/t-ft32" 1366 ;; 1367moxie-*-elf) 1368 gas=yes 1369 gnu_ld=yes 1370 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}" 1371 tmake_file="${tmake_file} moxie/t-moxie" 1372 ;; 1373moxie-*-uclinux*) 1374 gas=yes 1375 gnu_ld=yes 1376 tm_file="dbxelf.h elfos.h ${tm_file} gnu-user.h linux.h glibc-stdint.h moxie/uclinux.h" 1377 tmake_file="${tmake_file} moxie/t-moxie" 1378 ;; 1379moxie-*-rtems*) 1380 tmake_file="${tmake_file} moxie/t-moxie" 1381 tm_file="moxie/moxie.h dbxelf.h elfos.h moxie/rtems.h rtems.h newlib-stdint.h" 1382 ;; 1383moxie-*-moxiebox*) 1384 gas=yes 1385 gnu_ld=yes 1386 tm_file="${tm_file} dbxelf.h elfos.h moxie/moxiebox.h newlib-stdint.h" 1387 tmake_file="${tmake_file} moxie/t-moxiebox" 1388 ;; 1389h8300-*-elf*) 1390 tmake_file="h8300/t-h8300" 1391 tm_file="h8300/h8300.h dbxelf.h elfos.h newlib-stdint.h h8300/elf.h" 1392 ;; 1393h8300-*-linux*) 1394 tmake_file="${tmake_file} h8300/t-h8300 h8300/t-linux" 1395 tm_file="h8300/h8300.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h h8300/linux.h" 1396 ;; 1397hppa*64*-*-linux*) 1398 target_cpu_default="MASK_PA_11|MASK_PA_20" 1399 tm_file="pa/pa64-start.h ${tm_file} dbxelf.h elfos.h gnu-user.h linux.h \ 1400 glibc-stdint.h pa/pa-linux.h pa/pa64-regs.h pa/pa-64.h \ 1401 pa/pa64-linux.h" 1402 gas=yes gnu_ld=yes 1403 ;; 1404hppa*-*-linux*) 1405 target_cpu_default="MASK_PA_11|MASK_NO_SPACE_REGS|MASK_CALLER_COPIES" 1406 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h pa/pa-linux.h \ 1407 pa/pa32-regs.h pa/pa32-linux.h" 1408 tmake_file="${tmake_file} pa/t-linux" 1409 ;; 1410hppa*-*-openbsd*) 1411 target_cpu_default="MASK_PA_11" 1412 tm_file="${tm_file} dbxelf.h elfos.h openbsd.h openbsd-stdint.h openbsd-libpthread.h \ 1413 pa/pa-openbsd.h pa/pa32-regs.h pa/pa32-openbsd.h" 1414 extra_options="${extra_options} openbsd.opt" 1415 gas=yes 1416 gnu_ld=yes 1417 ;; 1418hppa*-*-netbsd* | parisc*-*-netbsd*) 1419 target_cpu_default="MASK_PA_11|MASK_NO_SPACE_REGS" 1420 tm_file="${tm_file} dbxelf.h elfos.h ${nbsd_tm_file} \ 1421 pa/pa-netbsd.h pa/pa32-regs.h pa/pa32-netbsd.h" 1422 tmake_file="${tmake_file} pa/t-netbsd" 1423 tm_defines="${tm_defines} CHAR_FAST8=1 SHORT_FAST16=1" 1424 extra_options="${extra_options} netbsd.opt netbsd-elf.opt" 1425 ;; 1426hppa[12]*-*-hpux10*) 1427 case ${target} in 1428 hppa1.1-*-* | hppa2*-*-*) 1429 target_cpu_default="MASK_PA_11" 1430 ;; 1431 esac 1432 tm_file="${tm_file} pa/pa32-regs.h dbxelf.h pa/som.h \ 1433 pa/pa-hpux.h pa/pa-hpux10.h" 1434 extra_options="${extra_options} pa/pa-hpux.opt pa/pa-hpux10.opt" 1435 case ${target} in 1436 *-*-hpux10.[1-9]*) 1437 tm_file="${tm_file} pa/pa-hpux1010.h" 1438 extra_options="${extra_options} pa/pa-hpux1010.opt" 1439 ;; 1440 esac 1441 use_gcc_stdint=provide 1442 tm_file="${tm_file} hpux-stdint.h" 1443 tmake_file="t-slibgcc" 1444 case ${enable_threads} in 1445 "") 1446 if test x$have_pthread_h = xyes ; then 1447 tmake_file="${tmake_file} pa/t-dce-thr" 1448 fi 1449 ;; 1450 yes | dce) 1451 tmake_file="${tmake_file} pa/t-dce-thr" 1452 ;; 1453 esac 1454 use_collect2=yes 1455 gas=yes 1456 if test "x$with_dwarf2" != x; then 1457 echo "Warning: dwarf2 debug format is not supported for this target, --with-dwarf2 ignored" 1>&2 1458 dwarf2=no 1459 fi 1460 ;; 1461hppa*64*-*-hpux11*) 1462 target_cpu_default="MASK_PA_11|MASK_PA_20" 1463 if test x$gnu_ld = xyes 1464 then 1465 target_cpu_default="${target_cpu_default}|MASK_GNU_LD" 1466 fi 1467 tm_file="pa/pa64-start.h ${tm_file} dbxelf.h elfos.h \ 1468 pa/pa64-regs.h pa/pa-hpux.h pa/pa-hpux1010.h \ 1469 pa/pa-hpux11.h" 1470 case ${target} in 1471 *-*-hpux11.[12]*) 1472 tm_file="${tm_file} pa/pa-hpux1111.h pa/pa-64.h pa/pa64-hpux.h" 1473 extra_options="${extra_options} pa/pa-hpux1111.opt" 1474 ;; 1475 *-*-hpux11.[3-9]*) 1476 tm_file="${tm_file} pa/pa-hpux1131.h pa/pa-64.h pa/pa64-hpux.h" 1477 extra_options="${extra_options} pa/pa-hpux1131.opt" 1478 ;; 1479 *) 1480 tm_file="${tm_file} pa/pa-64.h pa/pa64-hpux.h" 1481 ;; 1482 esac 1483 extra_options="${extra_options} pa/pa-hpux.opt \ 1484 pa/pa-hpux1010.opt pa/pa64-hpux.opt hpux11.opt" 1485 tmake_file="t-slibgcc" 1486 case x${enable_threads} in 1487 x | xyes | xposix ) 1488 thread_file=posix 1489 ;; 1490 esac 1491 gas=yes 1492 case ${target} in 1493 *-*-hpux11.[01]*) 1494 use_gcc_stdint=provide 1495 tm_file="${tm_file} hpux-stdint.h" 1496 ;; 1497 *-*-hpux11.[23]*) 1498 use_gcc_stdint=wrap 1499 tm_file="${tm_file} hpux-stdint.h" 1500 ;; 1501 esac 1502 ;; 1503hppa[12]*-*-hpux11*) 1504 case ${target} in 1505 hppa1.1-*-* | hppa2*-*-*) 1506 target_cpu_default="MASK_PA_11" 1507 ;; 1508 esac 1509 tm_file="${tm_file} pa/pa32-regs.h dbxelf.h pa/som.h \ 1510 pa/pa-hpux.h pa/pa-hpux1010.h pa/pa-hpux11.h" 1511 extra_options="${extra_options} pa/pa-hpux.opt pa/pa-hpux1010.opt \ 1512 hpux11.opt" 1513 case ${target} in 1514 *-*-hpux11.[12]*) 1515 tm_file="${tm_file} pa/pa-hpux1111.h" 1516 extra_options="${extra_options} pa/pa-hpux1111.opt" 1517 ;; 1518 *-*-hpux11.[3-9]*) 1519 tm_file="${tm_file} pa/pa-hpux1131.h" 1520 extra_options="${extra_options} pa/pa-hpux1131.opt" 1521 ;; 1522 esac 1523 tmake_file="t-slibgcc" 1524 case x${enable_threads} in 1525 x | xyes | xposix ) 1526 thread_file=posix 1527 ;; 1528 esac 1529 use_collect2=yes 1530 gas=yes 1531 case ${target} in 1532 *-*-hpux11.[01]*) 1533 use_gcc_stdint=provide 1534 tm_file="${tm_file} hpux-stdint.h" 1535 ;; 1536 *-*-hpux11.[23]*) 1537 use_gcc_stdint=wrap 1538 tm_file="${tm_file} hpux-stdint.h" 1539 ;; 1540 esac 1541 if test "x$with_dwarf2" != x; then 1542 echo "Warning: dwarf2 debug format is not supported for this target, --with-dwarf2 ignored" 1>&2 1543 dwarf2=no 1544 fi 1545 ;; 1546i[34567]86-*-darwin1[89]*) 1547 echo "Error: 32bit target is not supported after Darwin17" 1>&2 1548 ;; 1549i[34567]86-*-darwin*) 1550 need_64bit_isa=yes 1551 # Baseline choice for a machine that allows m64 support. 1552 with_cpu=${with_cpu:-core2} 1553 tmake_file="${tmake_file} ${cpu_type}/t-darwin32-biarch t-slibgcc" 1554 tm_file="${tm_file} ${cpu_type}/darwin32-biarch.h" 1555 ;; 1556x86_64-*-darwin1[89]* | x86_64-*-darwin2[01]*) 1557 # Only 64b from now 1558 with_cpu=${with_cpu:-core2} 1559 tmake_file="${tmake_file} t-slibgcc" 1560 ;; 1561x86_64-*-darwin*) 1562 with_cpu=${with_cpu:-core2} 1563 tmake_file="${tmake_file} ${cpu_type}/t-darwin64-biarch t-slibgcc" 1564 tm_file="${tm_file} ${cpu_type}/darwin64-biarch.h" 1565 ;; 1566i[34567]86-*-elfiamcu) 1567 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/iamcu.h" 1568 ;; 1569i[34567]86-*-elf*) 1570 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h" 1571 ;; 1572x86_64-*-elf*) 1573 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/x86-64.h" 1574 ;; 1575x86_64-*-rtems*) 1576 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/rtemself.h rtems.h" 1577 ;; 1578i[34567]86-*-rdos*) 1579 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/rdos.h" 1580 ;; 1581x86_64-*-rdos*) 1582 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" 1583 tmake_file="i386/t-i386elf t-svr4" 1584 ;; 1585i[34567]86-*-dragonfly*) 1586 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h dragonfly.h dragonfly-stdint.h i386/dragonfly.h" 1587 tmake_file="${tmake_file} i386/t-crtstuff" 1588 ;; 1589x86_64-*-dragonfly*) 1590 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h dragonfly.h dragonfly-stdint.h i386/x86-64.h i386/dragonfly.h" 1591 tmake_file="${tmake_file} i386/t-crtstuff" 1592 ;; 1593i[34567]86-*-freebsd*) 1594 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/freebsd.h" 1595 ;; 1596x86_64-*-freebsd*) 1597 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" 1598 ;; 1599i[34567]86-*-netbsdelf*) 1600 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${nbsd_tm_file} i386/netbsd-elf.h" 1601 extra_options="${extra_options} netbsd.opt netbsd-elf.opt" 1602 ;; 1603x86_64-*-netbsd*) 1604 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${nbsd_tm_file} i386/x86-64.h i386/netbsd64.h" 1605 tmake_file="${tmake_file} i386/t-netbsd64" 1606 extra_options="${extra_options} netbsd.opt netbsd-elf.opt" 1607 ;; 1608i[34567]86-*-openbsd*) 1609 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h" 1610 tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h i386/openbsdelf.h" 1611 extra_options="${extra_options} openbsd.opt" 1612 gas=yes 1613 gnu_ld=yes 1614 ;; 1615x86_64-*-openbsd*) 1616 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h" 1617 tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h i386/x86-64.h i386/openbsdelf.h" 1618 extra_options="${extra_options} openbsd.opt" 1619 gas=yes 1620 gnu_ld=yes 1621 ;; 1622i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu) 1623 # Intel 80386's running GNU/* 1624 # with ELF format using glibc 2 1625 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h gnu-user.h glibc-stdint.h" 1626 case ${target} in 1627 i[34567]86-*-linux*) 1628 tm_file="${tm_file} linux.h linux-android.h" 1629 extra_options="${extra_options} linux-android.opt" 1630 if test x$enable_targets = xall; then 1631 tm_file="${tm_file} i386/x86-64.h i386/gnu-user-common.h i386/gnu-user64.h i386/linux-common.h i386/linux64.h" 1632 tm_defines="${tm_defines} TARGET_BI_ARCH=1" 1633 tmake_file="${tmake_file} i386/t-linux64" 1634 x86_multilibs="${with_multilib_list}" 1635 if test "$x86_multilibs" = "default"; then 1636 x86_multilibs="m64,m32" 1637 fi 1638 x86_multilibs=`echo $x86_multilibs | sed -e 's/,/ /g'` 1639 for x86_multilib in ${x86_multilibs}; do 1640 case ${x86_multilib} in 1641 m32 | m64 | mx32) 1642 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${x86_multilib}" 1643 ;; 1644 *) 1645 echo "--with-multilib-list=${x86_with_multilib} not supported." 1646 exit 1 1647 esac 1648 done 1649 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'` 1650 need_64bit_isa=yes 1651 if test x$with_cpu = x; then 1652 if test x$with_cpu_64 = x; then 1653 with_cpu_64=generic 1654 fi 1655 else 1656 case " $x86_cpus $x86_archs $x86_64_archs " in 1657 *" $with_cpu "*) 1658 ;; 1659 *) 1660 echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2 1661 echo "$x86_cpus $x86_archs $x86_64_archs " 1>&2 1662 exit 1 1663 ;; 1664 esac 1665 fi 1666 else 1667 tm_file="${tm_file} i386/gnu-user-common.h i386/gnu-user.h i386/linux-common.h i386/linux.h" 1668 fi 1669 ;; 1670 i[34567]86-*-kfreebsd*-gnu) 1671 tm_file="${tm_file} i386/gnu-user-common.h i386/gnu-user.h kfreebsd-gnu.h i386/kfreebsd-gnu.h" 1672 ;; 1673 i[34567]86-*-kopensolaris*-gnu) 1674 tm_file="${tm_file} i386/gnu-user-common.h i386/gnu-user.h kopensolaris-gnu.h i386/kopensolaris-gnu.h" 1675 ;; 1676 i[34567]86-*-gnu*) 1677 tm_file="$tm_file i386/gnu-user-common.h i386/gnu-user.h gnu.h i386/gnu.h" 1678 ;; 1679 esac 1680 ;; 1681x86_64-*-linux* | x86_64-*-kfreebsd*-gnu) 1682 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h gnu-user.h glibc-stdint.h \ 1683 i386/x86-64.h i386/gnu-user-common.h i386/gnu-user64.h" 1684 case ${target} in 1685 x86_64-*-linux*) 1686 tm_file="${tm_file} linux.h linux-android.h i386/linux-common.h i386/linux64.h" 1687 extra_options="${extra_options} linux-android.opt" 1688 ;; 1689 x86_64-*-kfreebsd*-gnu) 1690 tm_file="${tm_file} kfreebsd-gnu.h i386/kfreebsd-gnu64.h" 1691 ;; 1692 esac 1693 tmake_file="${tmake_file} i386/t-linux64" 1694 x86_multilibs="${with_multilib_list}" 1695 if test "$x86_multilibs" = "default"; then 1696 case ${with_abi} in 1697 x32 | mx32) 1698 x86_multilibs="mx32" 1699 ;; 1700 *) 1701 x86_multilibs="m64,m32" 1702 ;; 1703 esac 1704 fi 1705 x86_multilibs=`echo $x86_multilibs | sed -e 's/,/ /g'` 1706 for x86_multilib in ${x86_multilibs}; do 1707 case ${x86_multilib} in 1708 m32 | m64 | mx32) 1709 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${x86_multilib}" 1710 ;; 1711 *) 1712 echo "--with-multilib-list=${x86_with_multilib} not supported." 1713 exit 1 1714 esac 1715 done 1716 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'` 1717 ;; 1718i[34567]86-pc-msdosdjgpp*) 1719 xm_file=i386/xm-djgpp.h 1720 tm_file="dbxcoff.h ${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/djgpp.h i386/djgpp-stdint.h" 1721 native_system_header_dir=/dev/env/DJDIR/include 1722 extra_options="${extra_options} i386/djgpp.opt" 1723 gnu_ld=yes 1724 gas=yes 1725 use_gcc_stdint=wrap 1726 ;; 1727i[34567]86-*-lynxos*) 1728 xm_defines=POSIX 1729 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/lynx.h lynx.h" 1730 tmake_file="${tmake_file} t-lynx" 1731 extra_options="${extra_options} lynx.opt" 1732 thread_file=lynx 1733 gnu_ld=yes 1734 gas=yes 1735 ;; 1736i[34567]86-*-nto-qnx*) 1737 tm_file="${tm_file} i386/att.h dbxelf.h tm-dwarf2.h elfos.h i386/unix.h i386/nto.h" 1738 extra_options="${extra_options} i386/nto.opt" 1739 gnu_ld=yes 1740 gas=yes 1741 ;; 1742i[34567]86-*-rtems*) 1743 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" 1744 tmake_file="${tmake_file} i386/t-rtems" 1745 ;; 1746i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*) 1747 # Set default arch_32 to pentium4, tune_32 to generic like the other 1748 # i386 targets, although config.guess defaults to i386-pc-solaris2*. 1749 with_arch_32=${with_arch_32:-pentium4} 1750 with_tune_32=${with_tune_32:-generic} 1751 tm_file="${tm_file} i386/unix.h i386/att.h ${sol2_tm_file_head} i386/x86-64.h ${sol2_tm_file_tail}" 1752 tm_defines="${tm_defines} TARGET_BI_ARCH=1" 1753 tmake_file="$tmake_file i386/t-sol2" 1754 need_64bit_isa=yes 1755 if test x$with_cpu = x; then 1756 if test x$with_cpu_64 = x; then 1757 with_cpu_64=generic 1758 fi 1759 else 1760 case " $x86_cpus $x86_archs $x86_64_archs " in 1761 *" $with_cpu "*) 1762 ;; 1763 *) 1764 echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2 1765 echo "$x86_cpus $x86_archs $x86_64_archs" 1>&2 1766 exit 1 1767 ;; 1768 esac 1769 fi 1770 ;; 1771i[4567]86-wrs-vxworks|i[4567]86-wrs-vxworksae|i[4567]86-wrs-vxworks7|x86_64-wrs-vxworks7) 1772 tm_file="${tm_file} i386/unix.h i386/att.h elfos.h" 1773 case ${target} in 1774 x86_64-*) 1775 need_64bit_isa=yes 1776 tm_file="${tm_file} i386/x86-64.h" 1777 ;; 1778 esac 1779 tm_file="${tm_file} vx-common.h" 1780 case ${target} in 1781 *-vxworksae*) 1782 tm_file="${tm_file} vxworksae.h i386/vxworks.h i386/vxworksae.h" 1783 tmake_file="${tmake_file} i386/t-vxworks i386/t-vxworksae" 1784 ;; 1785 *) 1786 tm_file="${tm_file} vxworks.h i386/vxworks.h" 1787 tmake_file="${tmake_file} i386/t-vxworks" 1788 ;; 1789 esac 1790 ;; 1791i[34567]86-*-cygwin*) 1792 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" 1793 xm_file=i386/xm-cygwin.h 1794 tmake_file="${tmake_file} i386/t-cygming t-slibgcc" 1795 target_gtfiles="\$(srcdir)/config/i386/winnt.c" 1796 extra_options="${extra_options} i386/cygming.opt i386/cygwin.opt" 1797 extra_objs="${extra_objs} winnt.o winnt-stubs.o" 1798 c_target_objs="${c_target_objs} msformat-c.o" 1799 cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o" 1800 if test x$enable_threads = xyes; then 1801 thread_file='posix' 1802 fi 1803 default_use_cxa_atexit=yes 1804 use_gcc_stdint=wrap 1805 ;; 1806x86_64-*-cygwin*) 1807 need_64bit_isa=yes 1808 tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h i386/cygwin.h i386/cygwin-w64.h i386/cygwin-stdint.h" 1809 xm_file=i386/xm-cygwin.h 1810 tmake_file="${tmake_file} i386/t-cygming t-slibgcc i386/t-cygwin-w64" 1811 target_gtfiles="\$(srcdir)/config/i386/winnt.c" 1812 extra_options="${extra_options} i386/cygming.opt i386/cygwin.opt" 1813 extra_objs="${extra_objs} winnt.o winnt-stubs.o" 1814 c_target_objs="${c_target_objs} msformat-c.o" 1815 cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o" 1816 if test x$enable_threads = xyes; then 1817 thread_file='posix' 1818 fi 1819 default_use_cxa_atexit=yes 1820 use_gcc_stdint=wrap 1821 tm_defines="${tm_defines} TARGET_CYGWIN64=1" 1822 ;; 1823i[34567]86-*-mingw* | x86_64-*-mingw*) 1824 tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h" 1825 xm_file=i386/xm-mingw32.h 1826 c_target_objs="${c_target_objs} winnt-c.o" 1827 cxx_target_objs="${cxx_target_objs} winnt-c.o" 1828 target_has_targetcm="yes" 1829 case ${target} in 1830 x86_64-*-* | *-w64-*) 1831 need_64bit_isa=yes 1832 ;; 1833 *) 1834 ;; 1835 esac 1836 if test x$enable_threads = xposix ; then 1837 tm_file="${tm_file} i386/mingw-pthread.h" 1838 fi 1839 tm_file="${tm_file} i386/mingw32.h" 1840 # This makes the logic if mingw's or the w64 feature set has to be used 1841 case ${target} in 1842 *-w64-*) 1843 user_headers_inc_next_post="${user_headers_inc_next_post} float.h" 1844 user_headers_inc_next_pre="${user_headers_inc_next_pre} stddef.h stdarg.h" 1845 tm_file="${tm_file} i386/mingw-w64.h" 1846 if test x$enable_targets = xall; then 1847 tm_defines="${tm_defines} TARGET_BI_ARCH=1" 1848 if test x$with_cpu = x; then 1849 if test x$with_cpu_64 = x; then 1850 with_cpu_64=generic 1851 fi 1852 else 1853 case " $x86_cpus $x86_archs $x86_64_archs " in 1854 *" $with_cpu "*) 1855 ;; 1856 *) 1857 echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2 1858 echo "$x86_cpus $x86_archs $x86_64_archs" 1>&2 1859 exit 1 1860 ;; 1861 esac 1862 fi 1863 fi 1864 ;; 1865 *) 1866 ;; 1867 esac 1868 tm_file="${tm_file} i386/mingw-stdint.h" 1869 tmake_file="${tmake_file} t-winnt i386/t-cygming t-slibgcc" 1870 case ${target} in 1871 x86_64-w64-*) 1872 tmake_file="${tmake_file} i386/t-mingw-w64" 1873 ;; 1874 i[34567]86-w64-*) 1875 tmake_file="${tmake_file} i386/t-mingw-w32" 1876 ;; 1877 esac 1878 native_system_header_dir=/mingw/include 1879 target_gtfiles="\$(srcdir)/config/i386/winnt.c" 1880 extra_options="${extra_options} i386/cygming.opt i386/mingw.opt" 1881 case ${target} in 1882 *-w64-*) 1883 extra_options="${extra_options} i386/mingw-w64.opt" 1884 ;; 1885 *) 1886 ;; 1887 esac 1888 extra_objs="${extra_objs} winnt.o winnt-stubs.o" 1889 c_target_objs="${c_target_objs} msformat-c.o" 1890 cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o" 1891 gas=yes 1892 gnu_ld=yes 1893 default_use_cxa_atexit=yes 1894 use_gcc_stdint=wrap 1895 case ${enable_threads} in 1896 "" | yes | win32) 1897 thread_file='win32' 1898 ;; 1899 posix) 1900 thread_file='posix' 1901 ;; 1902 esac 1903 case ${target} in 1904 *mingw32crt*) 1905 tm_file="${tm_file} i386/crtdll.h" 1906 ;; 1907 *mingw32msv* | *mingw*) 1908 ;; 1909 esac 1910 ;; 1911x86_64-*-fuchsia*) 1912 tmake_file="${tmake_file} i386/t-x86_64-elf" 1913 tm_file="${tm_file} i386/unix.h i386/att.h elfos.h newlib-stdint.h i386/i386elf.h i386/x86-64.h fuchsia.h" 1914 ;; 1915ia64*-*-elf*) 1916 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h ia64/sysv4.h ia64/elf.h" 1917 tmake_file="ia64/t-ia64" 1918 target_cpu_default="0" 1919 if test x$gas = xyes 1920 then 1921 target_cpu_default="${target_cpu_default}|MASK_GNU_AS" 1922 fi 1923 if test x$gnu_ld = xyes 1924 then 1925 target_cpu_default="${target_cpu_default}|MASK_GNU_LD" 1926 fi 1927 ;; 1928ia64*-*-netbsd*) 1929 tm_file="${tm_file} dbxelf.h elfos.h ${nbsd_tm_file} ia64/sysv4.h ia64/netbsd.h" 1930 target_cpu_default="MASK_GNU_AS|MASK_GNU_LD" 1931 tmake_file="${tmake_file} ia64/t-ia64" 1932 if test x$with_system_libunwind != xyes ; then 1933 tmake_file="${tmake_file} t-libunwind-elf ia64/t-glibc-libunwind" 1934 fi 1935 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o" 1936 extra_options="${extra_options} netbsd.opt netbsd-elf.opt" 1937 ;; 1938ia64*-*-freebsd*) 1939 tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file} ia64/sysv4.h ia64/freebsd.h" 1940 target_cpu_default="MASK_GNU_AS|MASK_GNU_LD" 1941 tmake_file="${tmake_file} ia64/t-ia64" 1942 ;; 1943ia64*-*-linux*) 1944 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ia64/sysv4.h ia64/linux.h" 1945 tmake_file="${tmake_file} ia64/t-ia64 ia64/t-linux t-libunwind" 1946 target_cpu_default="MASK_GNU_AS|MASK_GNU_LD" 1947 ;; 1948ia64*-*-hpux*) 1949 tm_file="${tm_file} dbxelf.h elfos.h ia64/sysv4.h ia64/hpux.h" 1950 tmake_file="ia64/t-ia64 ia64/t-hpux t-slibgcc" 1951 target_cpu_default="MASK_GNU_AS" 1952 case x$enable_threads in 1953 x | xyes | xposix ) 1954 thread_file=posix 1955 ;; 1956 esac 1957 use_collect2=no 1958 c_target_objs="ia64-c.o" 1959 cxx_target_objs="ia64-c.o" 1960 extra_options="${extra_options} ia64/ilp32.opt hpux11.opt" 1961 use_gcc_stdint=wrap 1962 tm_file="${tm_file} hpux-stdint.h" 1963 case ${target} in 1964 *-*-hpux11.3*) 1965 tm_file="${tm_file} ia64/hpux-unix2003.h" 1966 ;; 1967 esac 1968 ;; 1969ia64-hp-*vms*) 1970 tm_file="${tm_file} elfos.h ia64/sysv4.h vms/vms.h ia64/vms.h" 1971 tmake_file="${tmake_file} ia64/t-ia64" 1972 target_cpu_default="0" 1973 if test x$gas = xyes 1974 then 1975 target_cpu_default="${target_cpu_default}|MASK_GNU_AS" 1976 fi 1977 extra_options="${extra_options} ia64/vms.opt" 1978 ;; 1979iq2000*-*-elf*) 1980 tm_file="elfos.h newlib-stdint.h iq2000/iq2000.h" 1981 out_file=iq2000/iq2000.c 1982 md_file=iq2000/iq2000.md 1983 ;; 1984lm32-*-elf*) 1985 tm_file="dbxelf.h elfos.h ${tm_file} newlib-stdint.h" 1986 tmake_file="${tmake_file} lm32/t-lm32" 1987 ;; 1988lm32-*-rtems*) 1989 tm_file="dbxelf.h elfos.h ${tm_file} lm32/rtems.h rtems.h newlib-stdint.h" 1990 tmake_file="${tmake_file} lm32/t-lm32" 1991 tmake_file="${tmake_file} lm32/t-rtems" 1992 ;; 1993lm32-*-uclinux*) 1994 tm_file="dbxelf.h elfos.h ${tm_file} gnu-user.h linux.h lm32/uclinux-elf.h" 1995 tmake_file="${tmake_file} lm32/t-lm32" 1996 ;; 1997m32r-*-elf*) 1998 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}" 1999 ;; 2000m32rle-*-elf*) 2001 tm_file="dbxelf.h elfos.h newlib-stdint.h m32r/little.h ${tm_file}" 2002 ;; 2003m32r-*-linux*) 2004 tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ${tm_file} m32r/linux.h" 2005 tmake_file="${tmake_file} m32r/t-linux t-slibgcc" 2006 gnu_ld=yes 2007 if test x$enable_threads = xyes; then 2008 thread_file='posix' 2009 fi 2010 ;; 2011m32rle-*-linux*) 2012 tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h m32r/little.h ${tm_file} m32r/linux.h" 2013 tmake_file="${tmake_file} m32r/t-linux t-slibgcc" 2014 gnu_ld=yes 2015 if test x$enable_threads = xyes; then 2016 thread_file='posix' 2017 fi 2018 ;; 2019m68k-*-elf* | fido-*-elf*) 2020 case ${target} in 2021 fido-*-elf*) 2022 # Check that $with_cpu makes sense. 2023 case $with_cpu in 2024 "" | "fidoa") 2025 ;; 2026 *) 2027 echo "Cannot accept --with-cpu=$with_cpu" 2028 exit 1 2029 ;; 2030 esac 2031 with_cpu=fidoa 2032 ;; 2033 *) 2034 default_m68k_cpu=68020 2035 default_cf_cpu=5206 2036 ;; 2037 esac 2038 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" 2039 tm_defines="${tm_defines} MOTOROLA=1" 2040 tmake_file="m68k/t-floatlib m68k/t-m68kbare m68k/t-m68kelf" 2041 # Add multilibs for targets other than fido. 2042 case ${target} in 2043 fido-*-elf*) 2044 ;; 2045 *) 2046 tmake_file="$tmake_file m68k/t-mlibs" 2047 ;; 2048 esac 2049 ;; 2050m68010-*-netbsdelf* | m68k-*-netbsdelf* | m5407-*-netbsdelf*) 2051 default_m68k_cpu=68020 2052 case ${target} in 2053 m5407*) 2054 with_arch=${with_arch:-cf} 2055 target_cpu_default="mcf5475" 2056# target="`echo ${target} | sed 's/m68kcf/m68k/'`" 2057 ;; 2058 m68010*) 2059 target_cpu_default="m68010" 2060 tmake_file="${tmake_file} m68k/t-m68kelf m68k/t-m68010-netbsd" 2061 default_m68k_cpu=68010 2062 tmake_file="${tmake_file} m68k/t-floatlib" 2063 ;; 2064 *) 2065 with_arch=${with_arch:-m68k} 2066 tmake_file="${tmake_file} m68k/t-floatlib" 2067 ;; 2068 esac 2069 default_cf_cpu=5475 2070 tm_file="${tm_file} dbxelf.h elfos.h ${nbsd_tm_file} m68k/netbsd-elf.h" 2071 extra_options="${extra_options} netbsd.opt netbsd-elf.opt" 2072 tm_defines="${tm_defines} MOTOROLA=1 CHAR_FAST8=1 SHORT_FAST16=1" 2073 ;; 2074m68k*-*-openbsd*) 2075 default_m68k_cpu=68020 2076 default_cf_cpu=5475 2077 # needed to unconfuse gdb 2078 tm_defines="${tm_defines} OBSD_OLD_GAS" 2079 tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h m68k/openbsd.h" 2080 extra_options="${extra_options} openbsd.opt" 2081 tmake_file="t-openbsd m68k/t-openbsd" 2082 # we need collect2 until our bug is fixed... 2083 use_collect2=yes 2084 ;; 2085m68k-*-uclinux*) # Motorola m68k/ColdFire running uClinux 2086 # with uClibc, using the new GNU/Linux-style 2087 # ABI. 2088 default_m68k_cpu=68020 2089 default_cf_cpu=5206 2090 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" 2091 extra_options="${extra_options} m68k/uclinux.opt" 2092 tm_defines="${tm_defines} MOTOROLA=1" 2093 tmake_file="m68k/t-floatlib m68k/t-uclinux m68k/t-mlibs" 2094 ;; 2095m68k-*-linux*) # Motorola m68k's running GNU/Linux 2096 # with ELF format using glibc 2 2097 # aka the GNU/Linux C library 6. 2098 default_m68k_cpu=68020 2099 default_cf_cpu=5475 2100 with_arch=${with_arch:-m68k} 2101 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h m68k/linux.h ./sysroot-suffix.h" 2102 extra_options="${extra_options} m68k/ieee.opt" 2103 tm_defines="${tm_defines} MOTOROLA=1" 2104 tmake_file="${tmake_file} m68k/t-floatlib m68k/t-linux m68k/t-mlibs" 2105 ;; 2106m68k-*-rtems*) 2107 default_m68k_cpu=68020 2108 default_cf_cpu=5206 2109 tmake_file="${tmake_file} m68k/t-floatlib m68k/t-m68kbare m68k/t-crtstuff m68k/t-rtems m68k/t-mlibs" 2110 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" 2111 tm_defines="${tm_defines} MOTOROLA=1" 2112 ;; 2113mcore-*-elf) 2114 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file} mcore/mcore-elf.h" 2115 tmake_file=mcore/t-mcore 2116 inhibit_libc=true 2117 ;; 2118microblaze*-linux*) 2119 case $target in 2120 microblazeel-*) 2121 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=0" 2122 ;; 2123 microblaze-*) 2124 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=4321" 2125 ;; 2126 esac 2127 tm_file="${tm_file} dbxelf.h gnu-user.h linux.h microblaze/linux.h" 2128 tm_file="${tm_file} glibc-stdint.h" 2129 c_target_objs="${c_target_objs} microblaze-c.o" 2130 cxx_target_objs="${cxx_target_objs} microblaze-c.o" 2131 tmake_file="${tmake_file} microblaze/t-microblaze" 2132 tmake_file="${tmake_file} microblaze/t-microblaze-linux" 2133 ;; 2134microblaze*-*-rtems*) 2135 case $target in 2136 microblazeel-*) 2137 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=0" 2138 ;; 2139 microblaze-*) 2140 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=4321" 2141 ;; 2142 esac 2143 tm_file="${tm_file} dbxelf.h" 2144 tm_file="${tm_file} microblaze/rtems.h rtems.h newlib-stdint.h" 2145 c_target_objs="${c_target_objs} microblaze-c.o" 2146 cxx_target_objs="${cxx_target_objs} microblaze-c.o" 2147 tmake_file="${tmake_file} microblaze/t-microblaze" 2148 tmake_file="${tmake_file} microblaze/t-rtems" 2149 ;; 2150microblaze*-*-elf) 2151 case $target in 2152 microblazeel-*) 2153 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=0" 2154 ;; 2155 microblaze-*) 2156 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=4321" 2157 ;; 2158 esac 2159 tm_file="${tm_file} dbxelf.h newlib-stdint.h" 2160 c_target_objs="${c_target_objs} microblaze-c.o" 2161 cxx_target_objs="${cxx_target_objs} microblaze-c.o" 2162 tmake_file="${tmake_file} microblaze/t-microblaze" 2163 ;; 2164riscv*-*-linux*) 2165 tm_file="elfos.h gnu-user.h linux.h glibc-stdint.h ${tm_file} riscv/linux.h" 2166 case "x${enable_multilib}" in 2167 xno) ;; 2168 xyes) tmake_file="${tmake_file} riscv/t-linux-multilib" ;; 2169 *) echo "Unknown value for enable_multilib"; exit 1 2170 esac 2171 tmake_file="${tmake_file} riscv/t-riscv riscv/t-linux" 2172 gnu_ld=yes 2173 gas=yes 2174 # Force .init_array support. The configure script cannot always 2175 # automatically detect that GAS supports it, yet we require it. 2176 gcc_cv_initfini_array=yes 2177 ;; 2178riscv*-*-elf* | riscv*-*-rtems*) 2179 tm_file="elfos.h newlib-stdint.h ${tm_file} riscv/elf.h" 2180 case ${target} in 2181 *-*-rtems*) 2182 tm_file="${tm_file} rtems.h riscv/rtems.h" 2183 tmake_file="${tmake_file} riscv/t-rtems" 2184 ;; 2185 *) 2186 case "x${enable_multilib}" in 2187 xno) ;; 2188 xyes) tmake_file="${tmake_file} riscv/t-elf-multilib" ;; 2189 *) echo "Unknown value for enable_multilib"; exit 1 2190 esac 2191 esac 2192 tmake_file="${tmake_file} riscv/t-riscv" 2193 gnu_ld=yes 2194 gas=yes 2195 # Force .init_array support. The configure script cannot always 2196 # automatically detect that GAS supports it, yet we require it. 2197 gcc_cv_initfini_array=yes 2198 ;; 2199riscv*-*-freebsd*) 2200 tm_file="${tm_file} elfos.h ${fbsd_tm_file} riscv/freebsd.h" 2201 tmake_file="${tmake_file} riscv/t-riscv" 2202 gnu_ld=yes 2203 gas=yes 2204 # Force .init_array support. The configure script cannot always 2205 # automatically detect that GAS supports it, yet we require it. 2206 gcc_cv_initfini_array=yes 2207 ;; 2208riscv*-*-netbsd*) # NetBSD RISC-V 2209 tm_file="elfos.h ${tm_file} ${nbsd_tm_file} riscv/netbsd.h" 2210 tm_defines="${tm_defines} CHAR_FAST8=1 SHORT_FAST16=1" 2211 case ${target} in 2212 riscv32*) tm_defines="${tm_defines} TARGET_64BIT_DEFAULT=0" ;; 2213 *) tmake_file="${tmake_file} riscv/t-netbsd64" ;; 2214 esac 2215 extra_options="${extra_options} netbsd.opt netbsd-elf.opt" 2216 tmake_file="${tmake_file} riscv/t-riscv" 2217 gnu_ld=yes 2218 gas=yes 2219 gcc_cv_initfini_array=yes 2220 ;; 2221mips64*-*-netbsd*) # NetBSD/mips64, either endian. 2222 target_cpu_default="MASK_ABICALLS|MASK_FLOAT64|MASK_SOFT_FLOAT_ABI" 2223 tm_file="elfos.h ${tm_file} mips/elf.h ${nbsd_tm_file} mips/netbsd.h mips/netbsd64.h" 2224 tmake_file="${tmake_file} mips/t-netbsd64" 2225 tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_N32" 2226 extra_options="${extra_options} netbsd.opt netbsd-elf.opt" 2227 ;; 2228mips*-*-netbsd*) # NetBSD/mips, either endian. 2229 target_cpu_default="MASK_ABICALLS" 2230 tm_file="elfos.h ${tm_file} mips/elf.h ${nbsd_tm_file} mips/netbsd.h" 2231 extra_options="${extra_options} netbsd.opt netbsd-elf.opt" 2232 ;; 2233mips*-img-linux*) 2234 tm_file="dbxelf.h elfos.h gnu-user.h linux.h linux-android.h glibc-stdint.h ${tm_file} mips/gnu-user.h mips/linux.h mips/linux-common.h mips/mti-linux.h" 2235 extra_options="${extra_options} linux-android.opt" 2236 tmake_file="${tmake_file} mips/t-img-linux" 2237 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=37 MIPS_ABI_DEFAULT=ABI_32" 2238 with_arch_32="mips32r6" 2239 with_arch_64="mips64r6" 2240 gnu_ld=yes 2241 gas=yes 2242 ;; 2243mips*-mti-linux*) 2244 tm_file="dbxelf.h elfos.h gnu-user.h linux.h linux-android.h glibc-stdint.h ${tm_file} mips/gnu-user.h mips/linux.h mips/linux-common.h mips/mti-linux.h" 2245 extra_options="${extra_options} linux-android.opt" 2246 tmake_file="${tmake_file} mips/t-mti-linux" 2247 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33 MIPS_ABI_DEFAULT=ABI_32" 2248 with_arch_32="mips32r2" 2249 with_arch_64="mips64r2" 2250 gnu_ld=yes 2251 gas=yes 2252 ;; 2253mips*-*-linux*) # Linux MIPS, either endian. 2254 tm_file="dbxelf.h elfos.h gnu-user.h linux.h linux-android.h glibc-stdint.h ${tm_file} mips/gnu-user.h mips/linux.h mips/linux-common.h" 2255 extra_options="${extra_options} linux-android.opt" 2256 case ${target} in 2257 mipsisa32r6*) 2258 default_mips_arch=mips32r6 2259 ;; 2260 mipsisa32r2*) 2261 default_mips_arch=mips32r2 2262 ;; 2263 mipsisa32*) 2264 default_mips_arch=mips32 2265 ;; 2266 mips64el-st-linux-gnu) 2267 default_mips_abi=n32 2268 tm_file="${tm_file} mips/st.h" 2269 tmake_file="${tmake_file} mips/t-st" 2270 enable_mips_multilibs="yes" 2271 ;; 2272 mips64octeon*-*-linux*) 2273 default_mips_abi=n32 2274 tm_defines="${tm_defines} MIPS_CPU_STRING_DEFAULT=\\\"octeon\\\"" 2275 target_cpu_default=MASK_SOFT_FLOAT_ABI 2276 enable_mips_multilibs="yes" 2277 ;; 2278 mipsisa64r6*-*-linux*) 2279 default_mips_abi=n32 2280 default_mips_arch=mips64r6 2281 enable_mips_multilibs="yes" 2282 ;; 2283 mipsisa64r2*-*-linux*) 2284 default_mips_abi=n32 2285 default_mips_arch=mips64r2 2286 enable_mips_multilibs="yes" 2287 ;; 2288 mips64*-*-linux* | mipsisa64*-*-linux*) 2289 default_mips_abi=n32 2290 enable_mips_multilibs="yes" 2291 ;; 2292 esac 2293 if test x$enable_targets = xall; then 2294 enable_mips_multilibs="yes" 2295 fi 2296 if test x$enable_mips_multilibs = xyes; then 2297 tmake_file="${tmake_file} mips/t-linux64" 2298 fi 2299 ;; 2300mips*-mti-elf*) 2301 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/n32-elf.h mips/sde.h mips/mti-elf.h" 2302 tmake_file="mips/t-mti-elf" 2303 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33 MIPS_ABI_DEFAULT=ABI_32" 2304 with_arch_32="mips32r2" 2305 with_arch_64="mips64r2" 2306 ;; 2307mips*-img-elf*) 2308 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/n32-elf.h mips/sde.h mips/mti-elf.h" 2309 tmake_file="mips/t-img-elf" 2310 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=37 MIPS_ABI_DEFAULT=ABI_32" 2311 with_arch_32="mips32r6" 2312 with_arch_64="mips64r6" 2313 ;; 2314mips*-sde-elf*) 2315 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/n32-elf.h mips/sde.h" 2316 tmake_file="mips/t-sde" 2317 extra_options="${extra_options} mips/sde.opt" 2318 case "${with_newlib}" in 2319 yes) 2320 # newlib / libgloss. 2321 ;; 2322 *) 2323 # MIPS toolkit libraries. 2324 tm_file="$tm_file mips/sdemtk.h" 2325 tmake_file="$tmake_file mips/t-sdemtk" 2326 case ${enable_threads} in 2327 "" | yes | mipssde) 2328 thread_file='mipssde' 2329 ;; 2330 esac 2331 ;; 2332 esac 2333 case ${target} in 2334 mipsisa32r6*) 2335 tm_defines="MIPS_ISA_DEFAULT=37 MIPS_ABI_DEFAULT=ABI_32" 2336 ;; 2337 mipsisa32r2*) 2338 tm_defines="MIPS_ISA_DEFAULT=33 MIPS_ABI_DEFAULT=ABI_32" 2339 ;; 2340 mipsisa32*) 2341 tm_defines="MIPS_ISA_DEFAULT=32 MIPS_ABI_DEFAULT=ABI_32" 2342 ;; 2343 mipsisa64r6*) 2344 tm_defines="MIPS_ISA_DEFAULT=69 MIPS_ABI_DEFAULT=ABI_N32" 2345 ;; 2346 mipsisa64r2*) 2347 tm_defines="MIPS_ISA_DEFAULT=65 MIPS_ABI_DEFAULT=ABI_N32" 2348 ;; 2349 mipsisa64*) 2350 tm_defines="MIPS_ISA_DEFAULT=64 MIPS_ABI_DEFAULT=ABI_N32" 2351 ;; 2352 esac 2353 ;; 2354mipsisa32-*-elf* | mipsisa32el-*-elf* | \ 2355mipsisa32r2-*-elf* | mipsisa32r2el-*-elf* | \ 2356mipsisa32r6-*-elf* | mipsisa32r6el-*-elf* | \ 2357mipsisa64-*-elf* | mipsisa64el-*-elf* | \ 2358mipsisa64r2-*-elf* | mipsisa64r2el-*-elf* | \ 2359mipsisa64r6-*-elf* | mipsisa64r6el-*-elf*) 2360 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h" 2361 tmake_file="mips/t-isa3264" 2362 case ${target} in 2363 mipsisa32r6*) 2364 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=37" 2365 ;; 2366 mipsisa32r2*) 2367 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33" 2368 ;; 2369 mipsisa32*) 2370 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=32" 2371 ;; 2372 mipsisa64r6*) 2373 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=69" 2374 ;; 2375 mipsisa64r2*) 2376 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=65" 2377 ;; 2378 mipsisa64*) 2379 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64" 2380 ;; 2381 esac 2382 case ${target} in 2383 mipsisa32*-*-elfoabi*) 2384 tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_32" 2385 tm_file="${tm_file} mips/elfoabi.h" 2386 ;; 2387 mipsisa64*-*-elfoabi*) 2388 tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_O64" 2389 tm_file="${tm_file} mips/elfoabi.h" 2390 ;; 2391 *-*-elf*) 2392 tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_EABI" 2393 ;; 2394 esac 2395 ;; 2396mipsisa64sr71k-*-elf*) 2397 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h" 2398 tmake_file=mips/t-sr71k 2399 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64 MIPS_CPU_STRING_DEFAULT=\\\"sr71000\\\" MIPS_ABI_DEFAULT=ABI_EABI" 2400 ;; 2401mipsisa64sb1-*-elf* | mipsisa64sb1el-*-elf*) 2402 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h" 2403 tmake_file="mips/t-elf mips/t-sb1" 2404 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64 MIPS_CPU_STRING_DEFAULT=\\\"sb1\\\" MIPS_ABI_DEFAULT=ABI_O64" 2405 ;; 2406mips-*-elf* | mipsel-*-elf* | mipsr5900-*-elf* | mipsr5900el-*-elf*) 2407 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h" 2408 tmake_file="mips/t-elf" 2409 ;; 2410mips64r5900-*-elf* | mips64r5900el-*-elf*) 2411 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/n32-elf.h" 2412 tmake_file="mips/t-elf" 2413 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_N32" 2414 ;; 2415mips64-*-elf* | mips64el-*-elf*) 2416 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h" 2417 tmake_file="mips/t-elf" 2418 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64" 2419 ;; 2420mips64vr-*-elf* | mips64vrel-*-elf*) 2421 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/vr.h mips/elf.h" 2422 tmake_file=mips/t-vr 2423 tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_EABI" 2424 ;; 2425mips64orion-*-elf* | mips64orionel-*-elf*) 2426 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elforion.h mips/elf.h" 2427 tmake_file="mips/t-elf" 2428 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64" 2429 ;; 2430mips*-*-rtems*) 2431 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/rtems.h rtems.h" 2432 tmake_file="${tmake_file} mips/t-elf mips/t-rtems" 2433 ;; 2434mips-wrs-vxworks) 2435 tm_file="elfos.h ${tm_file} mips/elf.h vx-common.h vxworks.h mips/vxworks.h" 2436 tmake_file="${tmake_file} mips/t-vxworks" 2437 ;; 2438mipstx39-*-elf* | mipstx39el-*-elf*) 2439 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/r3900.h mips/elf.h" 2440 tmake_file="mips/t-r3900" 2441 ;; 2442mmix-knuth-mmixware) 2443 tm_file="${tm_file} newlib-stdint.h" 2444 use_gcc_stdint=wrap 2445 ;; 2446mn10300-*-*) 2447 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}" 2448 if test x$stabs = xyes 2449 then 2450 tm_file="${tm_file} dbx.h" 2451 fi 2452 use_collect2=no 2453 use_gcc_stdint=wrap 2454 ;; 2455msp430*-*-*) 2456 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}" 2457 c_target_objs="msp430-c.o" 2458 cxx_target_objs="msp430-c.o" 2459 tmake_file="${tmake_file} msp430/t-msp430" 2460 extra_gcc_objs="driver-msp430.o" 2461 ;; 2462nds32le-*-*) 2463 target_cpu_default="0" 2464 tm_defines="${tm_defines}" 2465 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file} nds32/nds32_intrinsic.h" 2466 tmake_file="nds32/t-nds32 nds32/t-mlibs" 2467 ;; 2468nds32be-*-*) 2469 target_cpu_default="0|MASK_BIG_ENDIAN" 2470 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1" 2471 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file} nds32/nds32_intrinsic.h" 2472 tmake_file="nds32/t-nds32 nds32/t-mlibs" 2473 ;; 2474nios2-*-*) 2475 tm_file="elfos.h ${tm_file}" 2476 tmake_file="${tmake_file} nios2/t-nios2" 2477 case ${target} in 2478 nios2-*-linux*) 2479 tm_file="${tm_file} gnu-user.h linux.h glibc-stdint.h nios2/linux.h " 2480 ;; 2481 nios2-*-elf*) 2482 tm_file="${tm_file} newlib-stdint.h nios2/elf.h" 2483 extra_options="${extra_options} nios2/elf.opt" 2484 ;; 2485 nios2-*-rtems*) 2486 tm_file="${tm_file} newlib-stdint.h nios2/rtems.h rtems.h" 2487 tmake_file="${tmake_file} t-rtems nios2/t-rtems" 2488 ;; 2489 esac 2490 ;; 2491nvptx-*) 2492 tm_file="${tm_file} newlib-stdint.h" 2493 use_gcc_stdint=wrap 2494 tmake_file="nvptx/t-nvptx" 2495 if test x$enable_as_accelerator = xyes; then 2496 extra_programs="${extra_programs} mkoffload\$(exeext)" 2497 tm_file="${tm_file} nvptx/offload.h" 2498 fi 2499 ;; 2500pdp11-*-*) 2501 tm_file="${tm_file} newlib-stdint.h" 2502 use_gcc_stdint=wrap 2503 ;; 2504# port not yet contributed 2505#powerpc-*-openbsd*) 2506# tmake_file="${tmake_file} rs6000/t-fprules" 2507# extra_headers= 2508# ;; 2509powerpc-*-darwin*) 2510 extra_options="${extra_options} ${cpu_type}/darwin.opt" 2511 case ${target} in 2512 *-darwin1[0-9]* | *-darwin9*) 2513 tmake_file="${tmake_file} ${cpu_type}/t-darwin32-biarch" 2514 tm_file="${tm_file} ${cpu_type}/darwin32-biarch.h" 2515 ;; 2516 *-darwin8*) 2517 tmake_file="${tmake_file} ${cpu_type}/t-darwin32-biarch" 2518 tm_file="${tm_file} ${cpu_type}/darwin32-biarch.h" 2519 tm_file="${tm_file} ${cpu_type}/darwin8.h" 2520 ;; 2521 *-darwin7*) 2522 tm_file="${tm_file} ${cpu_type}/darwin7.h" 2523 ;; 2524 *-darwin[456]*) 2525 # Earlier - ingle arch, with 32b only 2526 # OS X 10.0, the first edition is Darwin4 2527 ;; 2528 esac 2529 tmake_file="${tmake_file} t-slibgcc" 2530 extra_headers=altivec.h 2531 ;; 2532powerpc64-*-darwin*) 2533 extra_options="${extra_options} ${cpu_type}/darwin.opt" 2534 tmake_file="${tmake_file} ${cpu_type}/t-darwin64-biarch t-slibgcc" 2535 tm_file="${tm_file} ${cpu_type}/darwin64-biarch.h" 2536 extra_headers=altivec.h 2537 ;; 2538powerpc*-*-freebsd*) 2539 tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file} rs6000/sysv4.h" 2540 extra_options="${extra_options} rs6000/sysv4.opt" 2541 tmake_file="rs6000/t-fprules rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm" 2542 case ${target} in 2543 powerpc64*) 2544 tm_file="${tm_file} rs6000/default64.h rs6000/freebsd64.h" 2545 tmake_file="${tmake_file} rs6000/t-freebsd64" 2546 extra_options="${extra_options} rs6000/linux64.opt" 2547 ;; 2548 *) 2549 tm_file="${tm_file} rs6000/freebsd.h" 2550 ;; 2551 esac 2552 ;; 2553powerpc*-*-netbsd*) 2554 tm_file="${tm_file} ${nbsd_tm_file} dbxelf.h elfos.h freebsd-spec.h" 2555 case ${target} in 2556 powerpc64*) 2557 tm_file="rs6000/biarch64.h ${tm_file}" 2558 tm_file="${tm_file} rs6000/sysv4.h rs6000/default64.h rs6000/netbsd64.h" 2559 tmake_file="${tmake_file} rs6000/t-netbsd64" 2560 ;; 2561 *) 2562 tm_file="${tm_file} rs6000/sysv4.h rs6000/netbsd.h" 2563 tmake_file="${tmake_file} rs6000/t-netbsd" 2564 ;; 2565 esac 2566 extra_options="${extra_options} netbsd.opt netbsd-elf.opt" 2567 extra_options="${extra_options} rs6000/sysv4.opt rs6000/linux64.opt" 2568 if test x${enable_secureplt} != xno; then 2569 tm_file="rs6000/secureplt.h ${tm_file}" 2570 fi 2571 ;; 2572powerpc-*-eabispe*) 2573 tm_file="${tm_file} dbxelf.h elfos.h freebsd-spec.h newlib-stdint.h ${cpu_type}/sysv4.h ${cpu_type}/eabi.h ${cpu_type}/e500.h ${cpu_type}/eabispe.h" 2574 extra_options="${extra_options} ${cpu_type}/sysv4.opt" 2575 tmake_file="${cpu_type}/t-spe ${cpu_type}/t-ppccomm" 2576 use_gcc_stdint=wrap 2577 ;; 2578powerpc-*-eabisimaltivec*) 2579 tm_file="${tm_file} dbxelf.h elfos.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/eabisim.h rs6000/eabialtivec.h" 2580 extra_options="${extra_options} rs6000/sysv4.opt" 2581 tmake_file="rs6000/t-fprules rs6000/t-ppcendian rs6000/t-ppccomm" 2582 use_gcc_stdint=wrap 2583 ;; 2584powerpc-*-eabisim*) 2585 tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/eabisim.h" 2586 extra_options="${extra_options} rs6000/sysv4.opt" 2587 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm" 2588 use_gcc_stdint=wrap 2589 ;; 2590powerpc-*-elf*) 2591 tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h" 2592 extra_options="${extra_options} rs6000/sysv4.opt" 2593 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm" 2594 ;; 2595powerpc-*-eabialtivec*) 2596 tm_file="${tm_file} dbxelf.h elfos.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/eabialtivec.h" 2597 extra_options="${extra_options} rs6000/sysv4.opt" 2598 tmake_file="rs6000/t-fprules rs6000/t-ppcendian rs6000/t-ppccomm" 2599 use_gcc_stdint=wrap 2600 ;; 2601powerpc-xilinx-eabi*) 2602 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" 2603 extra_options="${extra_options} rs6000/sysv4.opt rs6000/xilinx.opt" 2604 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm rs6000/t-xilinx" 2605 use_gcc_stdint=wrap 2606 ;; 2607powerpc-*-eabi*) 2608 tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h" 2609 extra_options="${extra_options} rs6000/sysv4.opt" 2610 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm" 2611 use_gcc_stdint=wrap 2612 ;; 2613powerpc-*-rtems*spe*) 2614 tm_file="${tm_file} dbxelf.h elfos.h freebsd-spec.h newlib-stdint.h powerpcspe/sysv4.h powerpcspe/eabi.h powerpcspe/e500.h powerpcspe/rtems.h rtems.h" 2615 extra_options="${extra_options} powerpcspe/sysv4.opt" 2616 tmake_file="${tmake_file} powerpcspe/t-fprules powerpcspe/t-rtems powerpcspe/t-ppccomm" 2617 ;; 2618powerpc-*-rtems*) 2619 tm_file="rs6000/biarch64.h ${tm_file} dbxelf.h elfos.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/rtems.h rtems.h" 2620 extra_options="${extra_options} rs6000/sysv4.opt rs6000/linux64.opt" 2621 tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-rtems rs6000/t-ppccomm" 2622 ;; 2623powerpc*-*-linux*spe*) 2624 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h freebsd-spec.h powerpcspe/sysv4.h" 2625 extra_options="${extra_options} powerpcspe/sysv4.opt" 2626 tmake_file="${tmake_file} powerpcspe/t-fprules powerpcspe/t-ppccomm" 2627 extra_objs="$extra_objs powerpcspe-linux.o" 2628 maybe_biarch= 2629 tm_file="${tm_file} powerpcspe/linux.h glibc-stdint.h" 2630 tmake_file="${tmake_file} powerpcspe/t-ppcos powerpcspe/t-linux" 2631 tm_file="${tm_file} powerpcspe/linuxspe.h powerpcspe/e500.h" 2632 ;; 2633powerpc*-*-linux*) 2634 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h freebsd-spec.h rs6000/sysv4.h" 2635 extra_options="${extra_options} rs6000/sysv4.opt" 2636 tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-ppccomm" 2637 extra_objs="$extra_objs rs6000-linux.o" 2638 case ${target} in 2639 powerpc*le-*-*) 2640 tm_file="${tm_file} rs6000/sysv4le.h" ;; 2641 esac 2642 case ${target}:${with_cpu} in 2643 powerpc64*: | powerpc64*:native) cpu_is_64bit=yes ;; 2644 esac 2645 maybe_biarch=${cpu_is_64bit} 2646 case ${enable_targets} in 2647 *powerpc64*) maybe_biarch=yes ;; 2648 all) maybe_biarch=yes ;; 2649 esac 2650 case ${target} in 2651 powerpc64*-*-linux*spe* | powerpc64*-*-linux*paired*) 2652 echo "*** Configuration ${target} not supported" 1>&2 2653 exit 1 2654 ;; 2655 powerpc*-*-linux*spe* | powerpc*-*-linux*paired*) 2656 maybe_biarch= 2657 ;; 2658 esac 2659 case ${target}:${enable_targets}:${maybe_biarch} in 2660 powerpc64-* | powerpc-*:*:yes | *:*powerpc64-*:yes | *:all:yes \ 2661 | powerpc64le*:*powerpcle* | powerpc64le*:*powerpc-* \ 2662 | powerpcle-*:*powerpc64le*:yes) 2663 if test x$cpu_is_64bit = xyes; then 2664 tm_file="${tm_file} rs6000/default64.h" 2665 fi 2666 tm_file="rs6000/biarch64.h ${tm_file} rs6000/linux64.h glibc-stdint.h" 2667 tmake_file="$tmake_file rs6000/t-linux64" 2668 case ${target} in 2669 powerpc*le-*-*) 2670 tmake_file="$tmake_file rs6000/t-linux64le" 2671 case ${enable_targets} in 2672 all | *powerpc64-* | *powerpc-*) 2673 tmake_file="$tmake_file rs6000/t-linux64lebe" ;; 2674 esac ;; 2675 *) 2676 case ${enable_targets} in 2677 all | *powerpc64le-* | *powerpcle-*) 2678 tmake_file="$tmake_file rs6000/t-linux64bele" ;; 2679 esac ;; 2680 esac 2681 extra_options="${extra_options} rs6000/linux64.opt" 2682 ;; 2683 powerpc64*) 2684 tm_file="${tm_file} rs6000/default64.h rs6000/linux64.h glibc-stdint.h" 2685 extra_options="${extra_options} rs6000/linux64.opt" 2686 tmake_file="${tmake_file} rs6000/t-linux" 2687 ;; 2688 *) 2689 tm_file="${tm_file} rs6000/linux.h glibc-stdint.h" 2690 tmake_file="${tmake_file} rs6000/t-ppcos rs6000/t-linux" 2691 ;; 2692 esac 2693 case ${target} in 2694 powerpc*-*-linux*ppc476*) 2695 tm_file="${tm_file} rs6000/476.h" 2696 extra_options="${extra_options} rs6000/476.opt" ;; 2697 powerpc*-*-linux*altivec*) 2698 tm_file="${tm_file} rs6000/linuxaltivec.h" ;; 2699 powerpc*-*-linux*spe*) 2700 tm_file="${tm_file} ${cpu_type}/linuxspe.h ${cpu_type}/e500.h" ;; 2701 powerpc*-*-linux*paired*) 2702 tm_file="${tm_file} rs6000/750cl.h" ;; 2703 esac 2704 case ${target} in 2705 *-linux*-musl*) 2706 enable_secureplt=yes ;; 2707 esac 2708 if test x${enable_secureplt} = xyes; then 2709 tm_file="rs6000/secureplt.h ${tm_file}" 2710 fi 2711 ;; 2712powerpc-wrs-vxworks*spe) 2713 tm_file="${tm_file} elfos.h freebsd-spec.h powerpcspe/sysv4.h" 2714 tmake_file="${tmake_file} powerpcspe/t-fprules powerpcspe/t-ppccomm powerpcspe/t-vxworks" 2715 extra_options="${extra_options} powerpcspe/sysv4.opt" 2716 extra_headers=ppc-asm.h 2717 tm_file="${tm_file} vx-common.h vxworks.h powerpcspe/vxworks.h powerpcspe/e500.h" 2718 ;; 2719powerpc-wrs-vxworks*) 2720 tm_file="${tm_file} elfos.h freebsd-spec.h rs6000/sysv4.h" 2721 tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-ppccomm rs6000/t-vxworks" 2722 extra_options="${extra_options} rs6000/sysv4.opt" 2723 extra_headers=ppc-asm.h 2724 case ${target} in 2725 *-vxworksmils*) 2726 tm_file="${tm_file} vx-common.h vxworksae.h rs6000/vxworks.h rs6000/vxworksmils.h" 2727 tmake_file="${tmake_file} rs6000/t-vxworksmils" 2728 ;; 2729 *-vxworksae*) 2730 tm_file="${tm_file} vx-common.h vxworksae.h rs6000/vxworks.h rs6000/vxworksae.h" 2731 tmake_file="${tmake_file} rs6000/t-vxworksae" 2732 ;; 2733 *-vxworks*) 2734 tm_file="${tm_file} vx-common.h vxworks.h rs6000/vxworks.h" 2735 ;; 2736 esac 2737 ;; 2738powerpc-*-lynxos*) 2739 xm_defines=POSIX 2740 tm_file="${tm_file} dbxelf.h elfos.h rs6000/sysv4.h rs6000/lynx.h lynx.h" 2741 tmake_file="t-lynx rs6000/t-lynx" 2742 extra_options="${extra_options} rs6000/sysv4.opt lynx.opt" 2743 thread_file=lynx 2744 gnu_ld=yes 2745 gas=yes 2746 ;; 2747powerpcle-*-elf*) 2748 tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/sysv4le.h" 2749 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm" 2750 extra_options="${extra_options} rs6000/sysv4.opt" 2751 ;; 2752powerpcle-*-eabisim*) 2753 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/eabisim.h" 2754 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm" 2755 extra_options="${extra_options} rs6000/sysv4.opt" 2756 use_gcc_stdint=wrap 2757 ;; 2758powerpcle-*-eabi*) 2759 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" 2760 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm" 2761 extra_options="${extra_options} rs6000/sysv4.opt" 2762 use_gcc_stdint=wrap 2763 ;; 2764rs6000-ibm-aix4.[3456789]* | powerpc-ibm-aix4.[3456789]*) 2765 tm_file="rs6000/biarch64.h ${tm_file} rs6000/aix.h rs6000/aix43.h rs6000/xcoff.h rs6000/aix-stdint.h" 2766 tmake_file="rs6000/t-aix43 t-slibgcc" 2767 extra_options="${extra_options} rs6000/aix64.opt" 2768 use_collect2=yes 2769 thread_file='aix' 2770 use_gcc_stdint=provide 2771 extra_headers= 2772 ;; 2773rs6000-ibm-aix5.1.* | powerpc-ibm-aix5.1.*) 2774 tm_file="rs6000/biarch64.h ${tm_file} rs6000/aix.h rs6000/aix51.h rs6000/xcoff.h rs6000/aix-stdint.h" 2775 extra_options="${extra_options} rs6000/aix64.opt" 2776 tmake_file="rs6000/t-aix43 t-slibgcc" 2777 use_collect2=yes 2778 thread_file='aix' 2779 use_gcc_stdint=wrap 2780 extra_headers= 2781 ;; 2782rs6000-ibm-aix5.2.* | powerpc-ibm-aix5.2.*) 2783 tm_file="${tm_file} rs6000/aix.h rs6000/aix52.h rs6000/xcoff.h rs6000/aix-stdint.h" 2784 tmake_file="rs6000/t-aix52 t-slibgcc" 2785 extra_options="${extra_options} rs6000/aix64.opt" 2786 use_collect2=yes 2787 thread_file='aix' 2788 use_gcc_stdint=wrap 2789 extra_headers= 2790 ;; 2791rs6000-ibm-aix5.3.* | powerpc-ibm-aix5.3.*) 2792 tm_file="${tm_file} rs6000/aix.h rs6000/aix53.h rs6000/xcoff.h rs6000/aix-stdint.h" 2793 tmake_file="rs6000/t-aix52 t-slibgcc" 2794 extra_options="${extra_options} rs6000/aix64.opt" 2795 use_collect2=yes 2796 thread_file='aix' 2797 use_gcc_stdint=wrap 2798 extra_headers=altivec.h 2799 ;; 2800rs6000-ibm-aix6.* | powerpc-ibm-aix6.*) 2801 tm_file="${tm_file} rs6000/aix.h rs6000/aix61.h rs6000/xcoff.h rs6000/aix-stdint.h" 2802 tmake_file="rs6000/t-aix52 t-slibgcc" 2803 extra_options="${extra_options} rs6000/aix64.opt" 2804 use_collect2=yes 2805 thread_file='aix' 2806 use_gcc_stdint=wrap 2807 extra_headers=altivec.h 2808 default_use_cxa_atexit=yes 2809 ;; 2810rs6000-ibm-aix7.1.* | powerpc-ibm-aix7.1.*) 2811 tm_file="${tm_file} rs6000/aix.h rs6000/aix71.h rs6000/xcoff.h rs6000/aix-stdint.h" 2812 tmake_file="rs6000/t-aix52 t-slibgcc" 2813 extra_options="${extra_options} rs6000/aix64.opt" 2814 use_collect2=yes 2815 thread_file='aix' 2816 use_gcc_stdint=wrap 2817 extra_headers="altivec.h amo.h" 2818 default_use_cxa_atexit=yes 2819 ;; 2820rs6000-ibm-aix[789].* | powerpc-ibm-aix[789].*) 2821 tm_file="${tm_file} rs6000/aix.h rs6000/aix72.h rs6000/xcoff.h rs6000/aix-stdint.h" 2822 tmake_file="rs6000/t-aix52 t-slibgcc" 2823 extra_options="${extra_options} rs6000/aix64.opt" 2824 use_collect2=yes 2825 thread_file='aix' 2826 use_gcc_stdint=wrap 2827 extra_headers="altivec.h amo.h" 2828 default_use_cxa_atexit=yes 2829 ;; 2830rl78-*-elf*) 2831 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}" 2832 target_has_targetm_common=no 2833 c_target_objs="rl78-c.o" 2834 cxx_target_objs="rl78-c.o" 2835 tmake_file="${tmake_file} rl78/t-rl78" 2836 ;; 2837rx-*-elf*) 2838 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}" 2839 tmake_file="${tmake_file} rx/t-rx" 2840 ;; 2841s390-*-linux*) 2842 tm_file="s390/s390.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h s390/linux.h" 2843 c_target_objs="${c_target_objs} s390-c.o" 2844 cxx_target_objs="${cxx_target_objs} s390-c.o" 2845 if test x$enable_targets = xall; then 2846 tmake_file="${tmake_file} s390/t-linux64" 2847 fi 2848 tmake_file="${tmake_file} s390/t-s390" 2849 ;; 2850s390x-*-linux*) 2851 tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h s390/linux.h" 2852 tm_p_file="linux-protos.h s390/s390-protos.h" 2853 c_target_objs="${c_target_objs} s390-c.o" 2854 cxx_target_objs="${cxx_target_objs} s390-c.o" 2855 md_file=s390/s390.md 2856 extra_modes=s390/s390-modes.def 2857 out_file=s390/s390.c 2858 tmake_file="${tmake_file} s390/t-linux64 s390/t-s390" 2859 ;; 2860s390x-ibm-tpf*) 2861 tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h s390/tpf.h" 2862 tm_p_file=s390/s390-protos.h 2863 c_target_objs="${c_target_objs} s390-c.o" 2864 cxx_target_objs="${cxx_target_objs} s390-c.o" 2865 md_file=s390/s390.md 2866 extra_modes=s390/s390-modes.def 2867 out_file=s390/s390.c 2868 thread_file='tpf' 2869 extra_options="${extra_options} s390/tpf.opt" 2870 tmake_file="${tmake_file} s390/t-s390" 2871 ;; 2872sh-*-elf* | sh[12346l]*-*-elf* | \ 2873 sh-*-linux* | sh[2346lbe]*-*-linux* | \ 2874 sh-*-netbsdelf* | shl*-*-netbsdelf*) 2875 tmake_file="${tmake_file} sh/t-sh sh/t-elf" 2876 if test x${with_endian} = x; then 2877 case ${target} in 2878 sh[1234]*be-*-* | sh[1234]*eb-*-*) with_endian=big ;; 2879 shbe-*-* | sheb-*-*) with_endian=big,little ;; 2880 sh[1234]l* | sh[34]*-*-linux*) with_endian=little ;; 2881 shl* | sh*-*-linux* | \ 2882 sh-superh-elf) with_endian=little,big ;; 2883 sh[1234]*-*-*) with_endian=big ;; 2884 *) with_endian=big,little ;; 2885 esac 2886 fi 2887 # TM_ENDIAN_CONFIG is used by t-sh to determine multilibs. 2888 # First word : the default endian. 2889 # Second word: the secondary endian (optional). 2890 case ${with_endian} in 2891 big) TM_ENDIAN_CONFIG=mb ;; 2892 little) TM_ENDIAN_CONFIG=ml ;; 2893 big,little) TM_ENDIAN_CONFIG="mb ml" ;; 2894 little,big) TM_ENDIAN_CONFIG="ml mb" ;; 2895 *) echo "with_endian=${with_endian} not supported."; exit 1 ;; 2896 esac 2897 case ${with_endian} in 2898 little*) tm_file="sh/little.h ${tm_file}" ;; 2899 esac 2900 tm_file="${tm_file} dbxelf.h elfos.h sh/elf.h" 2901 case ${target} in 2902 sh*-*-linux*) tmake_file="${tmake_file} sh/t-linux" 2903 if test x$enable_fdpic = xyes; then 2904 tm_defines="$tm_defines FDPIC_DEFAULT=1" 2905 fi 2906 tm_file="${tm_file} gnu-user.h linux.h glibc-stdint.h sh/linux.h" ;; 2907 sh*-*-netbsd*) 2908 tm_file="${tm_file} ${nbsd_tm_file} sh/netbsd-elf.h" 2909 extra_options="${extra_options} netbsd.opt netbsd-elf.opt" 2910 2911 ;; 2912 sh*-superh-elf) if test x$with_libgloss != xno; then 2913 with_libgloss=yes 2914 tm_file="${tm_file} sh/newlib.h" 2915 fi 2916 tm_file="${tm_file} sh/embed-elf.h" 2917 tm_file="${tm_file} sh/superh.h" 2918 extra_options="${extra_options} sh/superh.opt" ;; 2919 *) if test x$with_newlib = xyes \ 2920 && test x$with_libgloss = xyes; then 2921 tm_file="${tm_file} sh/newlib.h" 2922 fi 2923 tm_file="${tm_file} sh/embed-elf.h" ;; 2924 esac 2925 case ${target} in 2926 *-*-netbsd) 2927 ;; 2928 *-*-elf*) 2929 tm_file="${tm_file} newlib-stdint.h" 2930 ;; 2931 esac 2932 # sed el/eb endian suffixes away to avoid confusion with sh[23]e 2933 case `echo ${target} | sed 's/e[lb]-/-/'` in 2934 sh4a_single_only*) sh_cpu_target=sh4a-single-only ;; 2935 sh4a_single*) sh_cpu_target=sh4a-single ;; 2936 sh4a_nofpu*) sh_cpu_target=sh4a-nofpu ;; 2937 sh4al) sh_cpu_target=sh4al ;; 2938 sh4a*) sh_cpu_target=sh4a ;; 2939 sh4_single_only*) sh_cpu_target=sh4-single-only ;; 2940 sh4_single*) sh_cpu_target=sh4-single ;; 2941 sh4_nofpu*) sh_cpu_target=sh4-nofpu ;; 2942 sh4* | sh-superh-*) sh_cpu_target=sh4 ;; 2943 sh3e*) sh_cpu_target=sh3e ;; 2944 sh*-*-netbsd* | sh3*) sh_cpu_target=sh3 ;; 2945 sh2a_single_only*) sh_cpu_target=sh2a-single-only ;; 2946 sh2a_single*) sh_cpu_target=sh2a-single ;; 2947 sh2a_nofpu*) sh_cpu_target=sh2a-nofpu ;; 2948 sh2a*) sh_cpu_target=sh2a ;; 2949 sh2e*) sh_cpu_target=sh2e ;; 2950 sh2*) sh_cpu_target=sh2 ;; 2951 *) sh_cpu_target=sh1 ;; 2952 esac 2953 # did the user say --without-fp ? 2954 if test x$with_fp = xno; then 2955 case ${sh_cpu_target} in 2956 sh4al | sh1) ;; 2957 sh4a* ) sh_cpu_target=sh4a-nofpu ;; 2958 sh4*) sh_cpu_target=sh4-nofpu ;; 2959 sh3*) sh_cpu_target=sh3 ;; 2960 sh2a*) sh_cpu_target=sh2a-nofpu ;; 2961 sh2*) sh_cpu_target=sh2 ;; 2962 *) echo --without-fp not available for $target: ignored 2963 esac 2964 tm_defines="$tm_defines STRICT_NOFPU=1" 2965 fi 2966 sh_cpu_default="`echo $with_cpu|sed s/^m/sh/|tr A-Z_ a-z-`" 2967 case $sh_cpu_default in 2968 sh2a-single-only | sh2a-single | sh2a-nofpu | sh2a | \ 2969 sh4a-single-only | sh4a-single | sh4a-nofpu | sh4a | sh4al | \ 2970 sh4-single-only | sh4-single | sh4-nofpu | sh4 | sh4-300 | \ 2971 sh3e | sh3 | sh2e | sh2 | sh1) ;; 2972 "") sh_cpu_default=${sh_cpu_target} ;; 2973 *) echo "with_cpu=$with_cpu not supported"; exit 1 ;; 2974 esac 2975 sh_multilibs=${with_multilib_list} 2976 if test "$sh_multilibs" = "default" ; then 2977 case ${target} in 2978 sh[1234]*) sh_multilibs=${sh_cpu_target} ;; 2979 sh-superh-*) sh_multilibs=m4,m4-single,m4-single-only,m4-nofpu ;; 2980 sh*-*-linux*) sh_multilibs=m1,m2,m2a,m3e,m4 ;; 2981 sh*-*-netbsd*) sh_multilibs=m3,m3e,m4 ;; 2982 *) sh_multilibs=m1,m2,m2e,m4,m4-single,m4-single-only,m2a,m2a-single ;; 2983 esac 2984 if test x$with_fp = xno; then 2985 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`" 2986 fi 2987 fi 2988 target_cpu_default=SELECT_`echo ${sh_cpu_default}|tr abcdefghijklmnopqrstuvwxyz- ABCDEFGHIJKLMNOPQRSTUVWXYZ_` 2989 tm_defines=${tm_defines}' SH_MULTILIB_CPU_DEFAULT=\"'`echo $sh_cpu_default|sed s/sh/m/`'\"' 2990 tm_defines="$tm_defines SUPPORT_`echo $sh_cpu_default | sed 's/^m/sh/' | tr abcdefghijklmnopqrstuvwxyz- ABCDEFGHIJKLMNOPQRSTUVWXYZ_`=1" 2991 sh_multilibs=`echo $sh_multilibs | sed -e 's/,/ /g' -e 's/^[Ss][Hh]/m/' -e 's/ [Ss][Hh]/ m/g' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ_ abcdefghijklmnopqrstuvwxyz-` 2992 for sh_multilib in ${sh_multilibs}; do 2993 case ${sh_multilib} in 2994 m1 | m2 | m2e | m3 | m3e | \ 2995 m4 | m4-single | m4-single-only | m4-nofpu | m4-300 |\ 2996 m4a | m4a-single | m4a-single-only | m4a-nofpu | m4al | \ 2997 m2a | m2a-single | m2a-single-only | m2a-nofpu) 2998 # TM_MULTILIB_CONFIG is used by t-sh for the non-endian multilib definition 2999 # It is passed to MULTIILIB_OPTIONS verbatim. 3000 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG}/${sh_multilib}" 3001 tm_defines="$tm_defines SUPPORT_`echo $sh_multilib | sed 's/^m/sh/' | tr abcdefghijklmnopqrstuvwxyz- ABCDEFGHIJKLMNOPQRSTUVWXYZ_`=1" 3002 ;; 3003 \!*) # TM_MULTILIB_EXCEPTIONS_CONFIG is used by t-sh 3004 # It is passed the MULTILIB_EXCEPTIONS verbatim. 3005 TM_MULTILIB_EXCEPTIONS_CONFIG="${TM_MULTILIB_EXCEPTIONS_CONFIG} `echo $sh_multilib | sed 's/^!//'`" ;; 3006 *) 3007 echo "with_multilib_list=${sh_multilib} not supported." 3008 exit 1 3009 ;; 3010 esac 3011 done 3012 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's:^/::'` 3013 if test x${enable_incomplete_targets} = xyes ; then 3014 tm_defines="$tm_defines SUPPORT_SH1=1 SUPPORT_SH2E=1 SUPPORT_SH4=1 SUPPORT_SH4_SINGLE=1 SUPPORT_SH2A=1 SUPPORT_SH2A_SINGLE=1" 3015 fi 3016 tm_file="$tm_file ./sysroot-suffix.h" 3017 tmake_file="$tmake_file t-sysroot-suffix" 3018 ;; 3019sh-*-rtems*) 3020 tmake_file="${tmake_file} sh/t-sh sh/t-rtems" 3021 tm_file="${tm_file} dbxelf.h elfos.h sh/elf.h sh/embed-elf.h sh/rtemself.h rtems.h newlib-stdint.h" 3022 ;; 3023sh-wrs-vxworks) 3024 tmake_file="$tmake_file sh/t-sh sh/t-vxworks" 3025 tm_file="${tm_file} elfos.h sh/elf.h sh/embed-elf.h vx-common.h vxworks.h sh/vxworks.h" 3026 ;; 3027sparc-*-elf*) 3028 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp-elf.h" 3029 case ${target} in 3030 *-leon-*) 3031 tmake_file="sparc/t-sparc sparc/t-leon" 3032 ;; 3033 *-leon[3-9]*) 3034 tmake_file="sparc/t-sparc sparc/t-leon3" 3035 ;; 3036 *) 3037 tmake_file="sparc/t-sparc sparc/t-elf" 3038 ;; 3039 esac 3040 ;; 3041sparc-*-rtems*) 3042 tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/sp-elf.h sparc/rtemself.h rtems.h newlib-stdint.h" 3043 tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems" 3044 ;; 3045sparc-*-linux*) 3046 tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/tso.h" 3047 extra_options="${extra_options} sparc/long-double-switch.opt" 3048 case ${target} in 3049 *-leon-*) 3050 tmake_file="${tmake_file} sparc/t-sparc sparc/t-leon" 3051 ;; 3052 *-leon[3-9]*) 3053 tmake_file="${tmake_file} sparc/t-sparc sparc/t-leon3" 3054 ;; 3055 *) 3056 tmake_file="${tmake_file} sparc/t-sparc" 3057 ;; 3058 esac 3059 if test x$enable_targets = xall; then 3060 tm_file="sparc/biarch64.h ${tm_file} sparc/linux64.h" 3061 tmake_file="${tmake_file} sparc/t-linux64" 3062 else 3063 tm_file="${tm_file} sparc/linux.h" 3064 tmake_file="${tmake_file} sparc/t-linux" 3065 fi 3066 ;; 3067sparc-*-netbsdelf*) 3068 tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h ${nbsd_tm_file} sparc/netbsd-elf.h" 3069 extra_options="${extra_options} netbsd.opt netbsd-elf.opt" 3070 extra_options="${extra_options} sparc/long-double-switch.opt" 3071 tmake_file="${tmake_file} sparc/t-sparc" 3072 ;; 3073sparc*-*-solaris2*) 3074 tm_file="sparc/biarch64.h ${tm_file} ${sol2_tm_file} sparc/tso.h" 3075 case ${target} in 3076 sparc64-*-* | sparcv9-*-*) 3077 tm_file="sparc/default64.h ${tm_file}" 3078 ;; 3079 *) 3080 test x$with_cpu != x || with_cpu=v9 3081 ;; 3082 esac 3083 tmake_file="${tmake_file} sparc/t-sparc sparc/t-sol2" 3084 ;; 3085sparc-wrs-vxworks) 3086 tm_file="${tm_file} elfos.h sparc/sysv4.h vx-common.h vxworks.h sparc/vxworks.h" 3087 tmake_file="${tmake_file} sparc/t-sparc sparc/t-vxworks" 3088 ;; 3089sparc64-*-elf*) 3090 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp64-elf.h" 3091 extra_options="${extra_options}" 3092 tmake_file="${tmake_file} sparc/t-sparc" 3093 ;; 3094sparc64-*-rtems*) 3095 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp64-elf.h sparc/rtemself.h rtems.h" 3096 extra_options="${extra_options}" 3097 tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems-64" 3098 ;; 3099sparc64-*-linux*) 3100 tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/default64.h sparc/linux64.h sparc/tso.h" 3101 extra_options="${extra_options} sparc/long-double-switch.opt" 3102 tmake_file="${tmake_file} sparc/t-sparc sparc/t-linux64" 3103 ;; 3104sparc64-*-freebsd*|ultrasparc-*-freebsd*) 3105 tm_file="${tm_file} ${fbsd_tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/freebsd.h" 3106 extra_options="${extra_options} sparc/long-double-switch.opt" 3107 case "x$with_cpu" in 3108 xultrasparc) ;; 3109 x) with_cpu=ultrasparc ;; 3110 *) echo "$with_cpu not supported for freebsd target"; exit 1 ;; 3111 esac 3112 tmake_file="${tmake_file} sparc/t-sparc" 3113 ;; 3114sparc64-*-netbsd*) 3115 tm_file="sparc/biarch64.h ${tm_file}" 3116 tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h ${nbsd_tm_file} sparc/netbsd-elf.h" 3117 tm_file="${tm_file} sparc/default64.h" 3118 extra_options="${extra_options} netbsd.opt netbsd-elf.opt" 3119 extra_options="${extra_options} sparc/long-double-switch.opt" 3120 tmake_file="${tmake_file} sparc/t-sparc sparc/t-netbsd64" 3121 with_cpu=ultrasparc 3122 ;; 3123sparc64-*-openbsd*) 3124 tm_file="sparc/openbsd1-64.h ${tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/sp64-elf.h" 3125 tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h sparc/openbsd64.h" 3126 extra_options="${extra_options} openbsd.opt" 3127 extra_options="${extra_options}" 3128 gas=yes gnu_ld=yes 3129 with_cpu=ultrasparc 3130 tmake_file="${tmake_file} sparc/t-sparc" 3131 ;; 3132spu-*-elf*) 3133 tm_file="dbxelf.h elfos.h spu/spu-elf.h spu/spu.h newlib-stdint.h" 3134 tmake_file="spu/t-spu-elf" 3135 native_system_header_dir=/include 3136 extra_headers="spu_intrinsics.h spu_internals.h vmx2spu.h spu_mfcio.h vec_types.h spu_cache.h" 3137 extra_modes=spu/spu-modes.def 3138 c_target_objs="${c_target_objs} spu-c.o" 3139 cxx_target_objs="${cxx_target_objs} spu-c.o" 3140 ;; 3141tic6x-*-elf) 3142 tm_file="elfos.h ${tm_file} c6x/elf-common.h c6x/elf.h" 3143 tm_file="${tm_file} dbxelf.h tm-dwarf2.h newlib-stdint.h" 3144 tmake_file="c6x/t-c6x c6x/t-c6x-elf" 3145 use_collect2=no 3146 ;; 3147tic6x-*-uclinux) 3148 tm_file="elfos.h ${tm_file} gnu-user.h linux.h c6x/elf-common.h c6x/uclinux-elf.h" 3149 tm_file="${tm_file} dbxelf.h tm-dwarf2.h glibc-stdint.h" 3150 tm_file="${tm_file} ./sysroot-suffix.h" 3151 tmake_file="t-sysroot-suffix t-slibgcc" 3152 tmake_file="${tmake_file} c6x/t-c6x c6x/t-c6x-elf c6x/t-c6x-uclinux" 3153 use_collect2=no 3154 ;; 3155tilegx*-*-linux*) 3156 tm_file="elfos.h gnu-user.h linux.h glibc-stdint.h tilegx/linux.h ${tm_file}" 3157 tmake_file="${tmake_file} tilegx/t-tilegx" 3158 extra_objs="${extra_objs} mul-tables.o" 3159 c_target_objs="${c_target_objs} tilegx-c.o" 3160 cxx_target_objs="${cxx_target_objs} tilegx-c.o" 3161 extra_headers="feedback.h" 3162 case $target in 3163 tilegxbe-*) 3164 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1" 3165 ;; 3166 esac 3167 ;; 3168tilepro*-*-linux*) 3169 tm_file="elfos.h gnu-user.h linux.h glibc-stdint.h tilepro/linux.h ${tm_file}" 3170 tmake_file="${tmake_file} tilepro/t-tilepro" 3171 extra_objs="${extra_objs} mul-tables.o" 3172 c_target_objs="${c_target_objs} tilepro-c.o" 3173 cxx_target_objs="${cxx_target_objs} tilepro-c.o" 3174 extra_headers="feedback.h" 3175 ;; 3176v850-*-rtems*) 3177 target_cpu_default="TARGET_CPU_generic" 3178 tm_file="dbxelf.h elfos.h v850/v850.h" 3179 tm_file="${tm_file} rtems.h v850/rtems.h newlib-stdint.h" 3180 tmake_file="${tmake_file} v850/t-v850" 3181 tmake_file="${tmake_file} v850/t-rtems" 3182 use_collect2=no 3183 c_target_objs="v850-c.o" 3184 cxx_target_objs="v850-c.o" 3185 ;; 3186v850*-*-*) 3187 case ${target} in 3188 v850e3v5-*-*) 3189 target_cpu_default="TARGET_CPU_v850e3v5" 3190 ;; 3191 v850e2v3-*-*) 3192 target_cpu_default="TARGET_CPU_v850e2v3" 3193 ;; 3194 v850e2-*-*) 3195 target_cpu_default="TARGET_CPU_v850e2" 3196 ;; 3197 v850e1-*-* | v850es-*-*) 3198 target_cpu_default="TARGET_CPU_v850e1" 3199 ;; 3200 v850e-*-*) 3201 target_cpu_default="TARGET_CPU_v850e" 3202 ;; 3203 v850-*-*) 3204 target_cpu_default="TARGET_CPU_generic" 3205 ;; 3206 esac 3207 tm_file="dbxelf.h elfos.h newlib-stdint.h v850/v850.h" 3208 if test x$stabs = xyes 3209 then 3210 tm_file="${tm_file} dbx.h" 3211 fi 3212 use_collect2=no 3213 c_target_objs="v850-c.o" 3214 cxx_target_objs="v850-c.o" 3215 use_gcc_stdint=wrap 3216 ;; 3217vax-*-linux*) 3218 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h vax/elf.h vax/linux.h" 3219 extra_options="${extra_options} vax/elf.opt" 3220 ;; 3221vax-*-netbsdelf*) 3222 tm_file="${tm_file} elfos.h ${nbsd_tm_file} vax/elf.h vax/netbsd-elf.h" 3223 extra_options="${extra_options} netbsd.opt netbsd-elf.opt vax/elf.opt" 3224 tm_defines="${tm_defines} CHAR_FAST8=1 SHORT_FAST16=1" 3225 ;; 3226vax-*-openbsd*) 3227 tm_file="vax/vax.h vax/openbsd1.h openbsd.h openbsd-stdint.h openbsd-libpthread.h vax/openbsd.h" 3228 extra_options="${extra_options} openbsd.opt" 3229 use_collect2=yes 3230 ;; 3231visium-*-elf*) 3232 tm_file="dbxelf.h elfos.h ${tm_file} visium/elf.h newlib-stdint.h" 3233 tmake_file="visium/t-visium visium/t-crtstuff" 3234 ;; 3235xstormy16-*-elf) 3236 # For historical reasons, the target files omit the 'x'. 3237 tm_file="dbxelf.h elfos.h newlib-stdint.h stormy16/stormy16.h" 3238 tm_p_file=stormy16/stormy16-protos.h 3239 md_file=stormy16/stormy16.md 3240 out_file=stormy16/stormy16.c 3241 extra_options=stormy16/stormy16.opt 3242 tmake_file="stormy16/t-stormy16" 3243 ;; 3244xtensa*-*-elf*) 3245 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h xtensa/elf.h" 3246 extra_options="${extra_options} xtensa/elf.opt" 3247 ;; 3248xtensa*-*-linux*) 3249 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h xtensa/linux.h" 3250 tmake_file="${tmake_file} xtensa/t-xtensa" 3251 ;; 3252xtensa*-*-uclinux*) 3253 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h xtensa/uclinux.h" 3254 tmake_file="${tmake_file} xtensa/t-xtensa" 3255 extra_options="${extra_options} xtensa/uclinux.opt" 3256 ;; 3257am33_2.0-*-linux*) 3258 tm_file="mn10300/mn10300.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h mn10300/linux.h" 3259 gas=yes gnu_ld=yes 3260 use_collect2=no 3261 ;; 3262m32c-*-rtems*) 3263 tm_file="dbxelf.h elfos.h ${tm_file} m32c/rtems.h rtems.h newlib-stdint.h" 3264 c_target_objs="m32c-pragma.o" 3265 cxx_target_objs="m32c-pragma.o" 3266 ;; 3267m32c-*-elf*) 3268 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}" 3269 c_target_objs="m32c-pragma.o" 3270 cxx_target_objs="m32c-pragma.o" 3271 ;; 3272*) 3273 echo "*** Configuration ${target} not supported" 1>&2 3274 exit 1 3275 ;; 3276esac 3277 3278case ${target} in 3279i[34567]86-*-linux* | x86_64-*-linux*) 3280 tmake_file="${tmake_file} i386/t-pmm_malloc i386/t-i386" 3281 ;; 3282i[34567]86-*-* | x86_64-*-*) 3283 tmake_file="${tmake_file} i386/t-gmm_malloc i386/t-i386" 3284 ;; 3285powerpc*-*-* | rs6000-*-*) 3286 tm_file="${tm_file} ${cpu_type}/option-defaults.h" 3287esac 3288 3289# non-glibc systems 3290case ${target} in 3291*-linux-musl*) 3292 tmake_file="${tmake_file} t-musl" 3293 ;; 3294*-linux-uclibc*) 3295 tmake_file="${tmake_file} t-uclibc" 3296 ;; 3297esac 3298 3299# Assume the existence of indirect function support and allow the use of the 3300# resolver attribute. 3301case ${target} in 3302*-*-linux*android*|*-*-linux*uclibc*|*-*-linux*musl*) 3303 ;; 3304*-*-linux*) 3305 case ${target} in 3306 aarch64*-* | arm*-* | i[34567]86-* | powerpc*-* | s390*-* | sparc*-* | x86_64-*) 3307 default_gnu_indirect_function=yes 3308 ;; 3309 esac 3310 ;; 3311esac 3312 3313# Build mkoffload tool 3314case ${target} in 3315*-intelmic-* | *-intelmicemul-*) 3316 tmake_file="${tmake_file} i386/t-intelmic" 3317 tm_file="${tm_file} i386/intelmic-offload.h" 3318 ;; 3319esac 3320 3321if [ "$target_has_targetcm" = "no" ]; then 3322 c_target_objs="$c_target_objs default-c.o" 3323 cxx_target_objs="$cxx_target_objs default-c.o" 3324fi 3325 3326if [ "$common_out_file" = "" ]; then 3327 if [ "$target_has_targetm_common" = "yes" ]; then 3328 common_out_file="$cpu_type/$cpu_type-common.c" 3329 else 3330 common_out_file="default-common.c" 3331 fi 3332fi 3333 3334# Support for --with-cpu and related options (and a few unrelated options, 3335# too). 3336case ${with_cpu} in 3337 yes | no) 3338 echo "--with-cpu must be passed a value" 1>&2 3339 exit 1 3340 ;; 3341esac 3342 3343# Set arch and cpu from ${target} and ${target_noncanonical}. Set cpu 3344# to generic if there is no processor scheduler model for the target. 3345arch= 3346cpu= 3347arch_without_sse2=no 3348arch_without_64bit=no 3349case ${target} in 3350 i386-*-freebsd*) 3351 if test $fbsd_major -ge 6; then 3352 arch=i486 3353 else 3354 arch=i386 3355 fi 3356 cpu=generic 3357 arch_without_sse2=yes 3358 arch_without_64bit=yes 3359 ;; 3360 i386-*-netbsd*) 3361 arch=i486 3362 cpu=generic 3363 arch_without_sse2=yes 3364 arch_without_64bit=yes 3365 ;; 3366 i386-*-*) 3367 arch=i386 3368 cpu=i386 3369 arch_without_sse2=yes 3370 arch_without_64bit=yes 3371 ;; 3372 i486-*-*) 3373 arch=i486 3374 cpu=i486 3375 arch_without_sse2=yes 3376 arch_without_64bit=yes 3377 ;; 3378 i586-*-*) 3379 arch_without_sse2=yes 3380 arch_without_64bit=yes 3381 case ${target_noncanonical} in 3382 k6_2-*) 3383 arch=k6-2 3384 cpu=k6-2 3385 ;; 3386 k6_3-*) 3387 arch=k6-3 3388 cpu=k6-3 3389 ;; 3390 k6-*) 3391 arch=k6 3392 cpu=k6 3393 ;; 3394 pentium_mmx-*|winchip_c6-*|winchip2-*|c3-*) 3395 arch=pentium-mmx 3396 cpu=pentium-mmx 3397 ;; 3398 *) 3399 arch=pentium 3400 cpu=pentium 3401 ;; 3402 esac 3403 ;; 3404 i686-*-* | i786-*-*) 3405 case ${target_noncanonical} in 3406 znver1-*) 3407 arch=znver1 3408 cpu=znver1 3409 ;; 3410 bdver4-*) 3411 arch=bdver4 3412 cpu=bdver4 3413 ;; 3414 bdver3-*) 3415 arch=bdver3 3416 cpu=bdver3 3417 ;; 3418 bdver2-*) 3419 arch=bdver2 3420 cpu=bdver2 3421 ;; 3422 bdver1-*) 3423 arch=bdver1 3424 cpu=bdver1 3425 ;; 3426 btver1-*) 3427 arch=btver1 3428 cpu=btver1 3429 ;; 3430 btver2-*) 3431 arch=btver2 3432 cpu=btver2 3433 ;; 3434 amdfam10-*|barcelona-*) 3435 arch=amdfam10 3436 cpu=amdfam10 3437 ;; 3438 k8_sse3-*|opteron_sse3-*|athlon64_sse3-*) 3439 arch=k8-sse3 3440 cpu=k8-sse3 3441 ;; 3442 k8-*|opteron-*|athlon64-*|athlon_fx-*) 3443 arch=k8 3444 cpu=k8 3445 ;; 3446 athlon_xp-*|athlon_mp-*|athlon_4-*) 3447 arch=athlon-4 3448 cpu=athlon-4 3449 arch_without_sse2=yes 3450 arch_without_64bit=yes 3451 ;; 3452 athlon_tbird-*|athlon-*) 3453 arch=athlon 3454 cpu=athlon 3455 arch_without_sse2=yes 3456 ;; 3457 geode-*) 3458 arch=geode 3459 cpu=geode 3460 arch_without_sse2=yes 3461 ;; 3462 pentium2-*) 3463 arch=pentium2 3464 cpu=pentium2 3465 arch_without_sse2=yes 3466 ;; 3467 pentium3-*|pentium3m-*) 3468 arch=pentium3 3469 cpu=pentium3 3470 arch_without_sse2=yes 3471 ;; 3472 pentium4-*|pentium4m-*) 3473 arch=pentium4 3474 cpu=pentium4 3475 ;; 3476 prescott-*) 3477 arch=prescott 3478 cpu=prescott 3479 ;; 3480 nocona-*) 3481 arch=nocona 3482 cpu=nocona 3483 ;; 3484 atom-*) 3485 arch=atom 3486 cpu=atom 3487 ;; 3488 slm-*) 3489 arch=slm 3490 cpu=slm 3491 ;; 3492 core2-*) 3493 arch=core2 3494 cpu=core2 3495 ;; 3496 corei7-*) 3497 arch=corei7 3498 cpu=corei7 3499 ;; 3500 corei7_avx-*) 3501 arch=corei7-avx 3502 cpu=corei7-avx 3503 ;; 3504 pentium_m-*) 3505 arch=pentium-m 3506 cpu=pentium-m 3507 ;; 3508 pentiumpro-*) 3509 arch=pentiumpro 3510 cpu=pentiumpro 3511 arch_without_sse2=yes 3512 ;; 3513 *) 3514 arch=pentiumpro 3515 cpu=generic 3516 arch_without_sse2=yes 3517 arch_without_64bit=yes 3518 ;; 3519 esac 3520 ;; 3521 x86_64-*-*) 3522 case ${target_noncanonical} in 3523 znver1-*) 3524 arch=znver1 3525 cpu=znver1 3526 ;; 3527 bdver4-*) 3528 arch=bdver4 3529 cpu=bdver4 3530 ;; 3531 bdver3-*) 3532 arch=bdver3 3533 cpu=bdver3 3534 ;; 3535 bdver2-*) 3536 arch=bdver2 3537 cpu=bdver2 3538 ;; 3539 bdver1-*) 3540 arch=bdver1 3541 cpu=bdver1 3542 ;; 3543 btver1-*) 3544 arch=btver1 3545 cpu=btver1 3546 ;; 3547 btver2-*) 3548 arch=btver2 3549 cpu=btver2 3550 ;; 3551 amdfam10-*|barcelona-*) 3552 arch=amdfam10 3553 cpu=amdfam10 3554 ;; 3555 k8_sse3-*|opteron_sse3-*|athlon64_sse3-*) 3556 arch=k8-sse3 3557 cpu=k8-sse3 3558 ;; 3559 k8-*|opteron-*|athlon_64-*) 3560 arch=k8 3561 cpu=k8 3562 ;; 3563 nocona-*) 3564 arch=nocona 3565 cpu=nocona 3566 ;; 3567 atom-*) 3568 arch=atom 3569 cpu=atom 3570 ;; 3571 slm-*) 3572 arch=slm 3573 cpu=slm 3574 ;; 3575 core2-*) 3576 arch=core2 3577 cpu=core2 3578 ;; 3579 corei7-*) 3580 arch=corei7 3581 cpu=corei7 3582 ;; 3583 *) 3584 arch=x86-64 3585 cpu=generic 3586 ;; 3587 esac 3588 ;; 3589esac 3590 3591# If there is no $with_cpu option, try to infer one from ${target}. 3592# This block sets nothing except for with_cpu. 3593if test x$with_cpu = x ; then 3594 case ${target} in 3595 i[34567]86-*-elfiamcu) 3596 with_cpu=lakemont 3597 ;; 3598 i[34567]86-*-*|x86_64-*-*) 3599 with_cpu=$cpu 3600 ;; 3601 alphaev6[78]*-*-*) 3602 with_cpu=ev67 3603 ;; 3604 alphaev6*-*-*) 3605 with_cpu=ev6 3606 ;; 3607 alphapca56*-*-*) 3608 with_cpu=pca56 3609 ;; 3610 alphaev56*-*-*) 3611 with_cpu=ev56 3612 ;; 3613 alphaev5*-*-*) 3614 with_cpu=ev5 3615 ;; 3616 frv-*-*linux* | frv400-*-*linux*) 3617 with_cpu=fr400 3618 ;; 3619 frv550-*-*linux*) 3620 with_cpu=fr550 3621 ;; 3622 m5200-*-*|m5407-*-*) 3623 with_cpu=${default_cf_cpu} 3624 ;; 3625 m68k*-*-*) 3626 case "$with_arch" in 3627 "cf") 3628 with_cpu=${default_cf_cpu} 3629 ;; 3630 "" | "m68k") 3631 with_cpu=m${default_m68k_cpu} 3632 ;; 3633 esac 3634 ;; 3635 powerpc*-*-*spe*) 3636 # For SPE, start with 8540, then upgrade to 8548 if 3637 # --enable-e500-double was requested explicitly or if we were 3638 # configured for e500v2. 3639 with_cpu=8540 3640 if test x$enable_e500_double = xyes; then 3641 with_cpu=8548 3642 fi 3643 case ${target_noncanonical} in 3644 e500v2*) 3645 with_cpu=8548 3646 ;; 3647 esac 3648 ;; 3649 sparc*-*-*) 3650 case ${target} in 3651 *-leon-*) 3652 with_cpu=leon 3653 ;; 3654 *-leon[3-9]*) 3655 with_cpu=leon3 3656 ;; 3657 *-leon[3-9]v7*) 3658 with_cpu=leon3v7 3659 ;; 3660 *) 3661 with_cpu="`echo ${target} | sed 's/-.*$//'`" 3662 ;; 3663 esac 3664 ;; 3665 visium-*-*) 3666 with_cpu=gr5 3667 ;; 3668 esac 3669 3670 # Avoid overriding --with-cpu-32 and --with-cpu-64 values. 3671 case ${target} in 3672 i[34567]86-*-*|x86_64-*-*) 3673 if test x$with_cpu_32 != x || test x$with_cpu_64 != x; then 3674 if test x$with_cpu_32 = x; then 3675 with_cpu_32=$with_cpu 3676 fi 3677 if test x$with_cpu_64 = x; then 3678 with_cpu_64=$with_cpu 3679 fi 3680 with_cpu= 3681 fi 3682 ;; 3683 esac 3684fi 3685 3686# Support for --with-arch and related options (and a few unrelated options, 3687# too). 3688case ${with_arch} in 3689 yes | no) 3690 echo "--with-arch must be passed a value" 1>&2 3691 exit 1 3692 ;; 3693esac 3694 3695# If there is no $with_arch option, try to infer one from ${target}. 3696# This block sets nothing except for with_arch. 3697if test x$with_arch = x ; then 3698 case ${target} in 3699 i[34567]86-*-darwin*|x86_64-*-darwin*) 3700 # Default arch is set via TARGET_SUBTARGET32_ISA_DEFAULT 3701 # and TARGET_SUBTARGET64_ISA_DEFAULT in config/i386/darwin.h. 3702 ;; 3703 i[34567]86-*-elfiamcu) 3704 with_arch=lakemont 3705 ;; 3706 i[34567]86-*-*) 3707 # --with-fpmath sets the default ISA to SSE2, which is the same 3708 # ISA supported by Pentium 4. 3709 if test x$with_fpmath = x || test $arch_without_sse2 = no; then 3710 with_arch=$arch 3711 else 3712 with_arch=pentium4 3713 fi 3714 ;; 3715 x86_64-*-*) 3716 with_arch=$arch 3717 ;; 3718 mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*) 3719 with_arch=r5900 3720 ;; 3721 mips*-*-vxworks) 3722 with_arch=mips2 3723 ;; 3724 esac 3725 3726 # Avoid overriding --with-arch-32 and --with-arch-64 values. 3727 case ${target} in 3728 i[34567]86-*-darwin*|x86_64-*-darwin*) 3729 # Default arch is set via TARGET_SUBTARGET32_ISA_DEFAULT 3730 # and TARGET_SUBTARGET64_ISA_DEFAULT in config/i386/darwin.h. 3731 ;; 3732 i[34567]86-*-*|x86_64-*-*) 3733 if test x$with_arch_32 != x || test x$with_arch_64 != x; then 3734 if test x$with_arch_32 = x; then 3735 with_arch_32=$with_arch 3736 fi 3737 if test x$with_arch_64 = x; then 3738 if test $arch_without_64bit = yes; then 3739 # Set the default 64bit arch to x86-64 if the default arch 3740 # doesn't support 64bit. 3741 with_arch_64=x86-64 3742 else 3743 with_arch_64=$with_arch 3744 fi 3745 fi 3746 with_arch= 3747 elif test $arch_without_64bit$need_64bit_isa = yesyes; then 3748 # Set the default 64bit arch to x86-64 if the default arch 3749 # doesn't support 64bit and we need 64bit ISA. 3750 with_arch_32=$with_arch 3751 with_arch_64=x86-64 3752 with_arch= 3753 fi 3754 ;; 3755 esac 3756fi 3757 3758# Infer a default setting for --with-float. 3759if test x$with_float = x; then 3760 case ${target} in 3761 mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*) 3762 # The R5900 doesn't support 64-bit float. 32-bit float doesn't 3763 # comply with IEEE 754. 3764 with_float=soft 3765 ;; 3766 esac 3767fi 3768 3769# Infer a default setting for --with-fpu. 3770if test x$with_fpu = x; then 3771 case ${target} in 3772 mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*) 3773 # The R5900 FPU only supports single precision. 3774 with_fpu=single 3775 ;; 3776 esac 3777fi 3778 3779# Support --with-fpmath. 3780if test x$with_fpmath != x; then 3781 case ${target} in 3782 i[34567]86-*-* | x86_64-*-*) 3783 case ${with_fpmath} in 3784 avx) 3785 tm_file="${tm_file} i386/avxmath.h" 3786 ;; 3787 sse) 3788 tm_file="${tm_file} i386/ssemath.h" 3789 ;; 3790 *) 3791 echo "Invalid --with-fpmath=$with_fpmath" 1>&2 3792 exit 1 3793 ;; 3794 esac 3795 ;; 3796 *) 3797 echo "--with-fpmath isn't supported for $target." 1>&2 3798 exit 1 3799 ;; 3800 esac 3801fi 3802 3803# Similarly for --with-schedule. 3804if test x$with_schedule = x; then 3805 case ${target} in 3806 hppa1*) 3807 # Override default PA8000 scheduling model. 3808 with_schedule=7100LC 3809 ;; 3810 esac 3811fi 3812 3813# Infer a default setting for --with-llsc. 3814if test x$with_llsc = x; then 3815 case ${target} in 3816 mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*) 3817 # The R5900 doesn't support LL(D) and SC(D). 3818 with_llsc=no 3819 ;; 3820 mips*-*-linux*) 3821 # The kernel emulates LL and SC where necessary. 3822 with_llsc=yes 3823 ;; 3824 esac 3825fi 3826 3827# Validate and mark as valid any --with options supported 3828# by this target. In order to use a particular --with option 3829# you must list it in supported_defaults; validating the value 3830# is optional. This case statement should set nothing besides 3831# supported_defaults. 3832 3833supported_defaults= 3834case "${target}" in 3835 aarch64*-*-*) 3836 supported_defaults="abi cpu arch" 3837 for which in cpu arch; do 3838 3839 eval "val=\$with_$which" 3840 base_val=`echo $val | sed -e 's/\+.*//'` 3841 ext_val=`echo $val | sed -e 's/[a-z0-9.-]\+//'` 3842 3843 if [ $which = arch ]; then 3844 def=aarch64-arches.def 3845 pattern=AARCH64_ARCH 3846 else 3847 def=aarch64-cores.def 3848 pattern=AARCH64_CORE 3849 fi 3850 3851 ext_mask=AARCH64_CPU_DEFAULT_FLAGS 3852 3853 # Find the base CPU or ARCH id in aarch64-cores.def or 3854 # aarch64-arches.def 3855 if [ x"$base_val" = x ] \ 3856 || grep "^$pattern(\"$base_val\"," \ 3857 ${srcdir}/config/aarch64/$def \ 3858 > /dev/null; then 3859 3860 if [ $which = arch ]; then 3861 base_id=`grep "^$pattern(\"$base_val\"," \ 3862 ${srcdir}/config/aarch64/$def | \ 3863 sed -e 's/^[^,]*,[ ]*//' | \ 3864 sed -e 's/,.*$//'` 3865 # Extract the architecture flags from aarch64-arches.def 3866 ext_mask=`grep "^$pattern(\"$base_val\"," \ 3867 ${srcdir}/config/aarch64/$def | \ 3868 sed -e 's/)$//' | \ 3869 sed -e 's/^.*,//'` 3870 else 3871 base_id=`grep "^$pattern(\"$base_val\"," \ 3872 ${srcdir}/config/aarch64/$def | \ 3873 sed -e 's/^[^,]*,[ ]*//' | \ 3874 sed -e 's/,.*$//'` 3875 fi 3876 3877 while [ x"$ext_val" != x ] 3878 do 3879 ext_val=`echo $ext_val | sed -e 's/\+//'` 3880 ext=`echo $ext_val | sed -e 's/\+.*//'` 3881 base_ext=`echo $ext | sed -e 's/^no//'` 3882 3883 if [ x"$base_ext" = x ] \ 3884 || grep "^AARCH64_OPT_EXTENSION(\"$base_ext\"," \ 3885 ${srcdir}/config/aarch64/aarch64-option-extensions.def \ 3886 > /dev/null; then 3887 3888 ext_canon=`grep "^AARCH64_OPT_EXTENSION(\"$base_ext\"," \ 3889 ${srcdir}/config/aarch64/aarch64-option-extensions.def | \ 3890 sed -e 's/^[^,]*,[ ]*//' | \ 3891 sed -e 's/,.*$//'` 3892 ext_on=`grep "^AARCH64_OPT_EXTENSION(\"$base_ext\"," \ 3893 ${srcdir}/config/aarch64/aarch64-option-extensions.def | \ 3894 sed -e 's/^[^,]*,[ ]*[^,]*,[ ]*//' | \ 3895 sed -e 's/,.*$//' | \ 3896 sed -e 's/).*$//'` 3897 ext_off=`grep "^AARCH64_OPT_EXTENSION(\"$base_ext\"," \ 3898 ${srcdir}/config/aarch64/aarch64-option-extensions.def | \ 3899 sed -e 's/^[^,]*,[ ]*[^,]*,[ ]*[^,]*,[ ]*//' | \ 3900 sed -e 's/,.*$//' | \ 3901 sed -e 's/).*$//'` 3902 3903 3904 if [ $ext = $base_ext ]; then 3905 # Adding extension 3906 ext_mask="("$ext_mask") | ("$ext_on" | "$ext_canon")" 3907 else 3908 # Removing extension 3909 ext_mask="("$ext_mask") & ~("$ext_off" | "$ext_canon")" 3910 fi 3911 3912 true 3913 else 3914 echo "Unknown extension used in --with-$which=$val" 1>&2 3915 exit 1 3916 fi 3917 ext_val=`echo $ext_val | sed -e 's/[a-z0-9]\+//'` 3918 done 3919 3920 ext_mask="(("$ext_mask") << 6)" 3921 if [ x"$base_id" != x ]; then 3922 target_cpu_cname="TARGET_CPU_$base_id | $ext_mask" 3923 fi 3924 true 3925 else 3926 echo "Unknown $which used in --with-$which=$val" 1>&2 3927 exit 1 3928 fi 3929 done 3930 ;; 3931 3932 alpha*-*-*) 3933 supported_defaults="cpu tune" 3934 for which in cpu tune; do 3935 eval "val=\$with_$which" 3936 case "$val" in 3937 "" \ 3938 | ev4 | ev45 | 21064 | ev5 | 21164 | ev56 | 21164a \ 3939 | pca56 | 21164PC | 21164pc | ev6 | 21264 | ev67 \ 3940 | 21264a) 3941 ;; 3942 *) 3943 echo "Unknown CPU used in --with-$which=$val" 1>&2 3944 exit 1 3945 ;; 3946 esac 3947 done 3948 ;; 3949 3950 arc*-*-*) 3951 supported_defaults="cpu" 3952 3953 if [ x"$with_cpu" = x ] \ 3954 || grep "^ARC_CPU ($with_cpu," \ 3955 ${srcdir}/config/arc/arc-cpus.def \ 3956 > /dev/null; then 3957 # Ok 3958 true 3959 else 3960 echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2 3961 exit 1 3962 fi 3963 ;; 3964 3965 arm*-*-*) 3966 supported_defaults="arch cpu float tune fpu abi mode tls" 3967 for which in cpu tune arch; do 3968 # See if it matches a supported value 3969 eval "val=\$with_$which" 3970 if [ x"$val" != x ]; then 3971 cpu=`awk -f ${srcdir}/config/arm/parsecpu.awk \ 3972 -v cmd="chk$which $val" \ 3973 ${srcdir}/config/arm/arm-cpus.in` 3974 if [ "$cpu" = "error" ]; then 3975 echo "Unknown target in --with-$which=$val" 1>&2 3976 exit 1 3977 else 3978 new_val=$cpu 3979 eval "target_${which}_cname=$new_val" 3980 echo "For $val real value is $new_val" 3981 fi 3982 fi 3983 done 3984 3985 case "$with_float" in 3986 "" \ 3987 | soft | hard | softfp) 3988 # OK 3989 ;; 3990 *) 3991 echo "Unknown floating point type used in --with-float=$with_float" 1>&2 3992 exit 1 3993 ;; 3994 esac 3995 3996 # see if --with-fpu matches any of the supported FPUs 3997 if [ x"$with_fpu" != x ] ; then 3998 fpu=`awk -f ${srcdir}/config/arm/parsecpu.awk \ 3999 -v cmd="chkfpu $with_fpu" \ 4000 ${srcdir}/config/arm/arm-cpus.in` 4001 if [ "$fpu" = "error"] 4002 then 4003 echo "Unknown target in --with-$which=$val" 1>&2 4004 exit 1 4005 fi 4006 fi 4007 4008 case "$with_abi" in 4009 "" \ 4010 | apcs-gnu | atpcs | aapcs | iwmmxt | aapcs-linux ) 4011 #OK 4012 ;; 4013 *) 4014 echo "Unknown ABI used in --with-abi=$with_abi" 4015 exit 1 4016 ;; 4017 esac 4018 4019 case "$with_mode" in 4020 "" \ 4021 | arm | thumb ) 4022 #OK 4023 ;; 4024 *) 4025 echo "Unknown mode used in --with-mode=$with_mode" 4026 exit 1 4027 ;; 4028 esac 4029 4030 case "$with_tls" in 4031 "" \ 4032 | gnu | gnu2) 4033 # OK 4034 ;; 4035 *) 4036 echo "Unknown TLS method used in --with-tls=$with_tls" 1>&2 4037 exit 1 4038 ;; 4039 esac 4040 4041 if test "x$with_arch" != x && test "x$with_cpu" != x; then 4042 echo "Switch \"--with-arch\" may not be used with switch \"--with-cpu\"" 1>&2 4043 exit 1 4044 fi 4045 4046 if test "x$with_cpu" != x && test "x$with_tune" != x; then 4047 echo "Switch \"--with-tune\" may not be used with switch \"--with-cpu\"" 1>&2 4048 exit 1 4049 fi 4050 4051 # Add extra multilibs 4052 if test "x$with_multilib_list" != x; then 4053 arm_multilibs=`echo $with_multilib_list | sed -e 's/,/ /g'` 4054 if test "x${arm_multilibs}" != xdefault ; then 4055 for arm_multilib in ${arm_multilibs}; do 4056 case ${arm_multilib} in 4057 aprofile|rmprofile) 4058 tmake_profile_file="arm/t-multilib" 4059 ;; 4060 *) 4061 echo "Error: --with-multilib-list=${with_multilib_list} not supported." 1>&2 4062 exit 1 4063 ;; 4064 esac 4065 done 4066 fi 4067 4068 if test "x${tmake_profile_file}" != x ; then 4069 # arm/t-aprofile and arm/t-rmprofile are only 4070 # designed to work without any with-cpu, 4071 # with-arch, with-mode, with-fpu or with-float 4072 # options. 4073 if test "x$with_arch" != x \ 4074 || test "x$with_cpu" != x \ 4075 || test "x$with_float" != x \ 4076 || test "x$with_fpu" != x \ 4077 || test "x$with_mode" != x ; then 4078 echo "Error: You cannot use any of --with-arch/cpu/fpu/float/mode with --with-multilib-list=${with_multilib_list}" 1>&2 4079 exit 1 4080 fi 4081 # But pass the default value for float-abi 4082 # through to the multilib selector 4083 with_float="soft" 4084 tmake_file="${tmake_file} ${tmake_profile_file}" 4085 TM_MULTILIB_CONFIG="$with_multilib_list" 4086 fi 4087 fi 4088 target_cpu_cname=${target_cpu_cname:-arm6} 4089 with_cpu=${with_cpu:-$target_cpu_cname} 4090 ;; 4091 4092 fr*-*-*linux*) 4093 supported_defaults=cpu 4094 case "$with_cpu" in 4095 fr400) ;; 4096 fr550) ;; 4097 *) 4098 echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2 4099 exit 1 4100 ;; 4101 esac 4102 ;; 4103 4104 fido-*-* | m68k*-*-* | m5200-*-* | m5407-*-*) 4105 supported_defaults="arch cpu" 4106 case "$with_arch" in 4107 "" | "m68k"| "cf") 4108 m68k_arch_family="$with_arch" 4109 ;; 4110 *) 4111 echo "Invalid --with-arch=$with_arch" 1>&2 4112 exit 1 4113 ;; 4114 esac 4115 4116 # We always have a $with_cpu setting here. 4117 case "$with_cpu" in 4118 "m68000" | "m68010" | "m68020" | "m68030" | "m68040" | "m68060") 4119 m68k_cpu_ident=$with_cpu 4120 ;; 4121 "m68020-40") 4122 m68k_cpu_ident=m68020 4123 tm_defines="$tm_defines M68K_DEFAULT_TUNE=u68020_40" 4124 ;; 4125 "m68020-60") 4126 m68k_cpu_ident=m68020 4127 tm_defines="$tm_defines M68K_DEFAULT_TUNE=u68020_60" 4128 ;; 4129 *) 4130 # We need the C identifier rather than the string. 4131 m68k_cpu_ident=`awk -v arg="\"$with_cpu\"" \ 4132 'BEGIN { FS="[ \t]*[,()][ \t]*" }; \ 4133 $1 == "M68K_DEVICE" && $2 == arg { print $3 }' \ 4134 ${srcdir}/config/m68k/m68k-devices.def` 4135 if [ x"$m68k_cpu_ident" = x ] ; then 4136 echo "Unknown CPU used in --with-cpu=$with_cpu" 1>&2 4137 exit 1 4138 fi 4139 with_cpu="mcpu=$with_cpu" 4140 ;; 4141 esac 4142 ;; 4143 4144 hppa*-*-*) 4145 supported_defaults="arch schedule" 4146 4147 case "$with_arch" in 4148 "" | 1.0 | 1.1 | 2.0) 4149 # OK 4150 ;; 4151 *) 4152 echo "Unknown architecture used in --with-arch=$with_arch" 1>&2 4153 exit 1 4154 ;; 4155 esac 4156 4157 case "$with_schedule" in 4158 "" | 700 | 7100 | 7100LC | 7200 | 7300 | 8000) 4159 # OK 4160 ;; 4161 *) 4162 echo "Unknown processor used in --with-schedule=$with_schedule." 1>&2 4163 exit 1 4164 ;; 4165 esac 4166 ;; 4167 4168 i[34567]86-*-* | x86_64-*-*) 4169 supported_defaults="abi arch arch_32 arch_64 cpu cpu_32 cpu_64 tune tune_32 tune_64" 4170 for which in arch arch_32 arch_64 cpu cpu_32 cpu_64 tune tune_32 tune_64; do 4171 eval "val=\$with_$which" 4172 case " $x86_archs " in 4173 *" ${val} "*) 4174 case "${target}" in 4175 x86_64-*-*) 4176 case "x$which" in 4177 *_32) 4178 ;; 4179 *) 4180 echo "CPU given in --with-$which=$val doesn't support 64bit mode." 1>&2 4181 exit 1 4182 ;; 4183 esac 4184 ;; 4185 esac 4186 # OK 4187 ;; 4188 *) 4189 if test x${val} != x; then 4190 case " $x86_64_archs " in 4191 *" ${val} "*) 4192 # OK 4193 ;; 4194 *) 4195 # Allow $x86_cpus --with-cpu=/--with-tune= 4196 case "x$which" in 4197 xcpu*|xtune*) 4198 case " $x86_cpus " in 4199 *" ${val} "*) 4200 # OK 4201 ;; 4202 *) 4203 echo "Unknown CPU given in --with-$which=$val." 1>&2 4204 exit 1 4205 ;; 4206 esac 4207 ;; 4208 *) 4209 echo "Unknown CPU given in --with-$which=$val." 1>&2 4210 exit 1 4211 ;; 4212 esac 4213 ;; 4214 esac 4215 fi 4216 ;; 4217 esac 4218 done 4219 ;; 4220 4221 riscv*-*-*) 4222 supported_defaults="abi arch tune" 4223 4224 case "${target}" in 4225 riscv32*) xlen=32 ;; 4226 riscv64*) xlen=64 ;; 4227 *) echo "Unsupported RISC-V target ${target}" 1>&2; exit 1 ;; 4228 esac 4229 4230 # Infer arch from --with-arch, --target, and --with-abi. 4231 case "${with_arch}" in 4232 rv32i* | rv32g* | rv64i* | rv64g*) 4233 # OK. 4234 ;; 4235 "") 4236 # Infer XLEN, but otherwise assume GC. 4237 case "${with_abi}" in 4238 ilp32 | ilp32f | ilp32d) with_arch="rv32gc" ;; 4239 lp64 | lp64f | lp64d) with_arch="rv64gc" ;; 4240 *) with_arch="rv${xlen}gc" ;; 4241 esac 4242 ;; 4243 *) 4244 echo "--with-arch=${with_arch} is not supported. The argument must begin with rv32i, rv32g, rv64i, or rv64g." 1>&2 4245 exit 1 4246 ;; 4247 esac 4248 4249 # Make sure --with-abi is valid. If it was not specified, 4250 # pick a default based on the ISA, preferring soft-float 4251 # unless the D extension is present. 4252 case "${with_abi}" in 4253 ilp32 | ilp32f | ilp32d | lp64 | lp64f | lp64d) 4254 ;; 4255 "") 4256 case "${with_arch}" in 4257 rv32*d* | rv32g*) with_abi=ilp32d ;; 4258 rv32*) with_abi=ilp32 ;; 4259 rv64*d* | rv64g*) with_abi=lp64d ;; 4260 rv64*) with_abi=lp64 ;; 4261 esac 4262 ;; 4263 *) 4264 echo "--with-abi=${with_abi} is not supported" 1>&2 4265 exit 1 4266 ;; 4267 esac 4268 4269 # Make sure ABI and ISA are compatible. 4270 case "${with_abi},${with_arch}" in 4271 ilp32,rv32* \ 4272 | ilp32f,rv32*f* | ilp32f,rv32g* \ 4273 | ilp32d,rv32*d* | ilp32d,rv32g* \ 4274 | lp64,rv64* \ 4275 | lp64f,rv64*f* | lp64f,rv64g* \ 4276 | lp64d,rv64*d* | lp64d,rv64g*) 4277 ;; 4278 *) 4279 echo "--with-abi=${with_abi} is not supported for ISA ${with_arch}" 1>&2 4280 exit 1 4281 ;; 4282 esac 4283 ;; 4284 4285 mips*-*-*) 4286 supported_defaults="abi arch arch_32 arch_64 float fpu nan fp_32 odd_spreg_32 tune tune_32 tune_64 divide llsc mips-plt synci lxc1-sxc1 madd4" 4287 4288 case ${with_float} in 4289 "" | soft | hard) 4290 # OK 4291 ;; 4292 *) 4293 echo "Unknown floating point type used in --with-float=$with_float" 1>&2 4294 exit 1 4295 ;; 4296 esac 4297 4298 case ${with_fpu} in 4299 "" | single | double) 4300 # OK 4301 ;; 4302 *) 4303 echo "Unknown fpu type used in --with-fpu=$with_fpu" 1>&2 4304 exit 1 4305 ;; 4306 esac 4307 4308 case ${with_nan} in 4309 "" | 2008 | legacy) 4310 # OK 4311 ;; 4312 *) 4313 echo "Unknown NaN encoding used in --with-nan=$with_nan" 1>&2 4314 exit 1 4315 ;; 4316 esac 4317 4318 case ${with_fp_32} in 4319 "" | 32 | xx | 64) 4320 # OK 4321 ;; 4322 *) 4323 echo "Unknown FP mode used in --with-fp-32=$with_fp_32" 1>&2 4324 exit 1 4325 ;; 4326 esac 4327 4328 case ${with_odd_spreg_32} in 4329 yes) 4330 with_odd_spreg_32="odd-spreg" 4331 ;; 4332 no) 4333 with_odd_spreg_32="no-odd-spreg" 4334 ;; 4335 "") 4336 # OK 4337 ;; 4338 *) 4339 echo "Unknown odd-spreg-32 type used in --with-odd-spreg-32=$with_odd_spreg_32" 1>&2 4340 exit 1 4341 ;; 4342 esac 4343 4344 case ${with_abi} in 4345 "" | 32 | o64 | n32 | 64 | eabi) 4346 # OK 4347 ;; 4348 *) 4349 echo "Unknown ABI used in --with-abi=$with_abi" 1>&2 4350 exit 1 4351 ;; 4352 esac 4353 4354 case ${with_divide} in 4355 "" | breaks | traps) 4356 # OK 4357 ;; 4358 *) 4359 echo "Unknown division check type use in --with-divide=$with_divide" 1>&2 4360 exit 1 4361 ;; 4362 esac 4363 4364 case ${with_llsc} in 4365 yes) 4366 with_llsc=llsc 4367 ;; 4368 no) 4369 with_llsc="no-llsc" 4370 ;; 4371 "") 4372 # OK 4373 ;; 4374 *) 4375 echo "Unknown llsc type used in --with-llsc" 1>&2 4376 exit 1 4377 ;; 4378 esac 4379 4380 case ${with_mips_plt} in 4381 yes) 4382 with_mips_plt=plt 4383 ;; 4384 no) 4385 with_mips_plt=no-plt 4386 ;; 4387 "") 4388 ;; 4389 *) 4390 echo "Unknown --with-mips-plt argument: $with_mips_plt" 1>&2 4391 exit 1 4392 ;; 4393 esac 4394 4395 case ${with_synci} in 4396 yes) 4397 with_synci=synci 4398 ;; 4399 no) 4400 with_synci=no-synci 4401 ;; 4402 "") 4403 ;; 4404 *) 4405 echo "Unknown synci type used in --with-synci" 1>&2 4406 exit 1 4407 ;; 4408 esac 4409 4410 case ${with_lxc1_sxc1} in 4411 yes) 4412 with_lxc1_sxc1=lxc1-sxc1 4413 ;; 4414 no) 4415 with_lxc1_sxc1=no-lxc1-sxc1 4416 ;; 4417 "") 4418 ;; 4419 *) 4420 echo "Unknown lxc1-sxc1 type used in --with-lxc1-sxc1" 1>&2 4421 exit 1 4422 ;; 4423 esac 4424 4425 case ${with_madd4} in 4426 yes) 4427 with_madd4=madd4 4428 ;; 4429 no) 4430 with_madd4=no-madd4 4431 ;; 4432 "") 4433 ;; 4434 *) 4435 echo "Unknown madd4 type used in --with-madd4" 1>&2 4436 exit 1 4437 ;; 4438 esac 4439 ;; 4440 4441 nds32*-*-*) 4442 supported_defaults="arch cpu nds32_lib float fpu_config" 4443 4444 # process --with-arch 4445 case "${with_arch}" in 4446 "" | v3 ) 4447 tm_defines="${tm_defines} TARGET_ARCH_DEFAULT=0" 4448 ;; 4449 v2 | v2j | v3m) 4450 # OK 4451 tm_defines="${tm_defines} TARGET_ARCH_DEFAULT=0" 4452 ;; 4453 v3f) 4454 tm_defines="${tm_defines} TARGET_ARCH_DEFAULT=1" 4455 ;; 4456 v3s) 4457 tm_defines="${tm_defines} TARGET_ARCH_DEFAULT=2" 4458 4459 ;; 4460 *) 4461 echo "Cannot accept --with-arch=$with_arch, available values are: v2 v2j v3 v3m v3f v3s" 1>&2 4462 exit 1 4463 ;; 4464 esac 4465 4466 case "${with_cpu}" in 4467 "") 4468 with_cpu=n9 4469 ;; 4470 n6 | n7 | n8 | e8 | s8 | n9) 4471 # OK 4472 ;; 4473 *) 4474 echo "Cannot accept --with-cpu=$with_cpu, available values are: n6 n7 n8 e8 s8 n9" 1>&2 4475 exit 1 4476 ;; 4477 esac 4478 4479 # process --with-nds32-lib 4480 case "${with_nds32_lib}" in 4481 "") 4482 # the default library is newlib 4483 with_nds32_lib=newlib 4484 ;; 4485 newlib) 4486 # OK 4487 ;; 4488 mculib) 4489 # OK 4490 ;; 4491 *) 4492 echo "Cannot accept --with-nds32-lib=$with_nds32_lib, available values are: newlib mculib" 1>&2 4493 exit 1 4494 ;; 4495 esac 4496 4497 # process --with-float 4498 case "${with_float}" in 4499 "" | soft | hard) 4500 # OK 4501 ;; 4502 *) 4503 echo "Cannot accept --with-float=$with_float, available values are: soft hard" 1>&2 4504 exit 1 4505 ;; 4506 esac 4507 4508 # process --with-config-fpu 4509 case "${with_config_fpu}" in 4510 "" | 0 | 1 | 2 | 3) 4511 # OK 4512 ;; 4513 *) 4514 echo "Cannot accept --with-config-fpu=$with_config_fpu, available values from 0 to 7" 1>&2 4515 exit 1 4516 ;; 4517 esac 4518 4519 4520 ;; 4521 nios2*-*-*) 4522 supported_defaults="arch" 4523 case "$with_arch" in 4524 "" | r1 | r2) 4525 # OK 4526 ;; 4527 *) 4528 echo "Unknown arch used in --with-arch=$with_arch" 1>&2 4529 exit 1 4530 ;; 4531 esac 4532 ;; 4533 4534 powerpc*-*-* | rs6000-*-*) 4535 supported_defaults="abi cpu cpu_32 cpu_64 float tune tune_32 tune_64 advance_toolchain" 4536 4537 for which in cpu cpu_32 cpu_64 tune tune_32 tune_64; do 4538 eval "val=\$with_$which" 4539 case ${val} in 4540 default32 | default64) 4541 case $which in 4542 cpu | tune) 4543 ;; 4544 *) 4545 echo "$val only valid for --with-cpu and --with-tune." 1>&2 4546 exit 1 4547 ;; 4548 esac 4549 with_which="with_$which" 4550 eval $with_which= 4551 ;; 4552 405cr) 4553 tm_defines="${tm_defines} CONFIG_PPC405CR" 4554 eval "with_$which=405" 4555 ;; 4556 "" | common | native \ 4557 | power[3456789] | power5+ | power6x \ 4558 | powerpc | powerpc64 | powerpc64le \ 4559 | rs64 \ 4560 | 401 | 403 | 405 | 405fp | 440 | 440fp | 464 | 464fp \ 4561 | 476 | 476fp | 505 | 601 | 602 | 603 | 603e | ec603e \ 4562 | 604 | 604e | 620 | 630 | 740 | 750 | 7400 | 7450 \ 4563 | a2 | e300c[23] | 854[08] | e500mc | e500mc64 | e5500 | e6500 \ 4564 | titan | 801 | 821 | 823 | 860 | 970 | G3 | G4 | G5 | cell) 4565 # OK 4566 ;; 4567 *) 4568 echo "Unknown cpu used in --with-$which=$val." 1>&2 4569 exit 1 4570 ;; 4571 esac 4572 done 4573 4574 case "$with_abi" in 4575 "" | elfv1 | elfv2 ) 4576 #OK 4577 ;; 4578 *) 4579 echo "Unknown ABI used in --with-abi=$with_abi" 4580 exit 1 4581 ;; 4582 esac 4583 4584 if test "x$with_advance_toolchain" != x; then 4585 if test -d "/opt/$with_advance_toolchain/." -a \ 4586 -d "/opt/$with_advance_toolchain/bin/." -a \ 4587 -d "/opt/$with_advance_toolchain/include/."; then 4588 4589 tm_file="$tm_file ./advance-toolchain.h" 4590 (at="/opt/$with_advance_toolchain" 4591 echo "/* Use Advance Toolchain $at */" 4592 echo 4593 echo "#undef LINK_OS_EXTRA_SPEC32" 4594 echo "#define LINK_OS_EXTRA_SPEC32" \ 4595 "\"%(link_os_new_dtags)" \ 4596 "-rpath $prefix/lib -rpath $at/lib\"" 4597 echo 4598 echo "#undef LINK_OS_EXTRA_SPEC64" 4599 echo "#define LINK_OS_EXTRA_SPEC64" \ 4600 "\"%(link_os_new_dtags)" \ 4601 "-rpath $prefix/lib64 -rpath $at/lib64\"" 4602 echo 4603 echo "#undef LINK_OS_NEW_DTAGS_SPEC" 4604 echo "#define LINK_OS_NEW_DTAGS_SPEC" \ 4605 "\"--enable-new-dtags\"" 4606 echo 4607 echo "#undef DYNAMIC_LINKER_PREFIX" 4608 echo "#define DYNAMIC_LINKER_PREFIX \"$at\"" 4609 echo 4610 echo "#undef MD_EXEC_PREFIX" 4611 echo "#define MD_EXEC_PREFIX \"$at/bin/\"" 4612 echo 4613 echo "#undef MD_STARTFILE_PREFIX" 4614 echo "#define MD_STARTFILE_PREFIX \"$prefix/lib/\"" 4615 echo 4616 echo "#undef MD_STARTFILE_PREFIX_1" 4617 echo "#define MD_STARTFILE_PREFIX_1 \"$at/lib/\"") \ 4618 > advance-toolchain.h 4619 else 4620 echo "Unknown advance-toolchain $with_advance_toolchain" 4621 exit 1 4622 fi 4623 fi 4624 4625 # Set up the default long double format if the user changed it. 4626 if test x$with_long_double_format = xieee; then 4627 tm_defines="${tm_defines} TARGET_IEEEQUAD_DEFAULT=1" 4628 4629 elif test x$with_long_double_format = xibm; then 4630 tm_defines="${tm_defines} TARGET_IEEEQUAD_DEFAULT=0" 4631 fi 4632 ;; 4633 4634 s390*-*-*) 4635 supported_defaults="arch mode tune" 4636 4637 for which in arch tune; do 4638 eval "val=\$with_$which" 4639 case ${val} in 4640 "" | native | g5 | g6 | z900 | z990 | z9-109 | z9-ec | z10 | z196 | zEC12 | z13 | z14 | arch3 | arch5 | arch6 | arch7 | arch8 | arch9 | arch10 | arch11 | arch12) 4641 # OK 4642 ;; 4643 *) 4644 echo "Unknown cpu used in --with-$which=$val." 1>&2 4645 exit 1 4646 ;; 4647 esac 4648 done 4649 4650 case ${with_mode} in 4651 "" | esa | zarch) 4652 # OK 4653 ;; 4654 *) 4655 echo "Unknown architecture mode used in --with-mode=$with_mode." 1>&2 4656 exit 1 4657 ;; 4658 esac 4659 ;; 4660 4661 sh[123456ble]*-*-* | sh-*-*) 4662 supported_defaults="cpu" 4663 case "`echo $with_cpu | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ_ abcdefghijklmnopqrstuvwxyz- | sed s/sh/m/`" in 4664 "" | m1 | m2 | m2e | m3 | m3e | m4 | m4-single | m4-single-only | m4-nofpu ) 4665 # OK 4666 ;; 4667 m2a | m2a-single | m2a-single-only | m2a-nofpu) 4668 ;; 4669 m4a | m4a-single | m4a-single-only | m4a-nofpu | m4al) 4670 ;; 4671 *) 4672 echo "Unknown CPU used in --with-cpu=$with_cpu, known values:" 1>&2 4673 echo "m1 m2 m2e m3 m3e m4 m4-single m4-single-only m4-nofpu" 1>&2 4674 echo "m4a m4a-single m4a-single-only m4a-nofpu m4al" 1>&2 4675 echo "m2a m2a-single m2a-single-only m2a-nofpu" 1>&2 4676 exit 1 4677 ;; 4678 esac 4679 ;; 4680 sparc*-*-*) 4681 supported_defaults="cpu cpu_32 cpu_64 float tune tune_32 tune_64" 4682 4683 for which in cpu cpu_32 cpu_64 tune tune_32 tune_64; do 4684 eval "val=\$with_$which" 4685 case ${val} in 4686 "" | sparc | sparcv9 | sparc64 \ 4687 | v7 | cypress \ 4688 | v8 | supersparc | hypersparc | leon | leon3 | leon3v7 \ 4689 | sparclite | f930 | f934 | sparclite86x \ 4690 | sparclet | tsc701 \ 4691 | v9 | ultrasparc | ultrasparc3 | niagara | niagara2 \ 4692 | niagara3 | niagara4 | niagara7 | m8) 4693 # OK 4694 ;; 4695 *) 4696 echo "Unknown cpu used in --with-$which=$val" 1>&2 4697 exit 1 4698 ;; 4699 esac 4700 done 4701 4702 case ${with_float} in 4703 "" | soft | hard) 4704 # OK 4705 ;; 4706 *) 4707 echo "Unknown floating point type used in --with-float=$with_float" 1>&2 4708 exit 1 4709 ;; 4710 esac 4711 ;; 4712 4713 spu-*-*) 4714 supported_defaults="arch tune" 4715 4716 for which in arch tune; do 4717 eval "val=\$with_$which" 4718 case ${val} in 4719 "" | cell | celledp) 4720 # OK 4721 ;; 4722 *) 4723 echo "Unknown cpu used in --with-$which=$val." 1>&2 4724 exit 1 4725 ;; 4726 esac 4727 done 4728 ;; 4729 4730 tic6x-*-*) 4731 supported_defaults="arch" 4732 4733 case ${with_arch} in 4734 "" | c62x | c64x | c64x+ | c67x | c67x+ | c674x) 4735 # OK 4736 ;; 4737 *) 4738 echo "Unknown arch used in --with-arch=$with_arch." 1>&2 4739 exit 1 4740 ;; 4741 esac 4742 ;; 4743 4744 v850*-*-*) 4745 supported_defaults=cpu 4746 case ${with_cpu} in 4747 "" | v850e | v850e1 | v850e2 | v850es | v850e2v3 | v850e3v5) 4748 # OK 4749 ;; 4750 *) 4751 echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2 4752 exit 1 4753 ;; 4754 esac 4755 ;; 4756 visium-*-*) 4757 supported_defaults="cpu" 4758 case $with_cpu in 4759 "" | gr5 | gr6) 4760 ;; 4761 *) echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2 4762 exit 1 4763 ;; 4764 esac 4765 ;; 4766esac 4767 4768# Set some miscellaneous flags for particular targets. 4769target_cpu_default2= 4770case ${target} in 4771 aarch64*-*-*) 4772 if test x"$target_cpu_cname" != x 4773 then 4774 target_cpu_default2=$target_cpu_cname 4775 fi 4776 ;; 4777 4778 arm*-*-*) 4779 if test x$with_cpu = x 4780 then 4781 echo "Don't know the target cpu" 1>&2 4782 exit 1 4783 else 4784 target_cpu_default2="\\\"$with_cpu\\\"" 4785 fi 4786 ;; 4787 4788 hppa*-*-*) 4789 if test x$gas = xyes 4790 then 4791 target_cpu_default2="MASK_GAS" 4792 fi 4793 ;; 4794 4795 fido*-*-* | m68k*-*-*) 4796 target_cpu_default2=$m68k_cpu_ident 4797 tmake_file="m68k/t-opts $tmake_file" 4798 if [ x"$m68k_arch_family" != x ]; then 4799 tmake_file="m68k/t-$m68k_arch_family $tmake_file" 4800 fi 4801 ;; 4802 4803 i[34567]86-*-darwin* | x86_64-*-darwin*) 4804 ;; 4805 i[34567]86-*-linux* | x86_64-*-linux*) 4806 extra_objs="${extra_objs} cet.o" 4807 tmake_file="$tmake_file i386/t-linux i386/t-cet" 4808 ;; 4809 i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu) 4810 tmake_file="$tmake_file i386/t-kfreebsd" 4811 ;; 4812 i[34567]86-*-gnu*) 4813 tmake_file="$tmake_file i386/t-gnu" 4814 ;; 4815 i[34567]86-*-msdosdjgpp*) 4816 tmake_file="${tmake_file} i386/t-djgpp" 4817 ;; 4818 i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*) 4819 ;; 4820 i[34567]86-*-cygwin* | x86_64-*-cygwin*) 4821 ;; 4822 i[34567]86-*-mingw* | x86_64-*-mingw*) 4823 ;; 4824 i[34567]86-*-dragonfly* | x86_64-*-dragonfly*) 4825 ;; 4826 i[34567]86-*-freebsd*) 4827 ;; 4828 x86_64-*-freebsd*) 4829 tmake_file="${tmake_file} i386/t-freebsd64" 4830 ;; 4831 ia64*-*-linux*) 4832 ;; 4833 4834 mips*-*-*) 4835 if test x$gnu_ld = xyes 4836 then 4837 target_cpu_default2="MASK_SPLIT_ADDRESSES" 4838 fi 4839 case ${target} in 4840 mips*el-*-*) 4841 tm_defines="TARGET_ENDIAN_DEFAULT=0 $tm_defines" 4842 ;; 4843 esac 4844 if test x$with_arch != x; then 4845 default_mips_arch=$with_arch 4846 fi 4847 if test x$with_abi != x; then 4848 default_mips_abi=$with_abi 4849 fi 4850 case ${default_mips_arch} in 4851 mips1) tm_defines="$tm_defines MIPS_ISA_DEFAULT=1" ;; 4852 mips2) tm_defines="$tm_defines MIPS_ISA_DEFAULT=2" ;; 4853 mips3) tm_defines="$tm_defines MIPS_ISA_DEFAULT=3" ;; 4854 mips4) tm_defines="$tm_defines MIPS_ISA_DEFAULT=4" ;; 4855 mips32) tm_defines="$tm_defines MIPS_ISA_DEFAULT=32" ;; 4856 mips32r2) tm_defines="$tm_defines MIPS_ISA_DEFAULT=33" ;; 4857 mips32r6) tm_defines="$tm_defines MIPS_ISA_DEFAULT=37" ;; 4858 mips64) tm_defines="$tm_defines MIPS_ISA_DEFAULT=64" ;; 4859 mips64r2) tm_defines="$tm_defines MIPS_ISA_DEFAULT=65" ;; 4860 mips64r6) tm_defines="$tm_defines MIPS_ISA_DEFAULT=69" ;; 4861 esac 4862 case ${default_mips_abi} in 4863 32) tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_32" ;; 4864 o64) tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_O64" ;; 4865 n32) tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_N32" ;; 4866 64) tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_64" ;; 4867 eabi) tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_EABI" ;; 4868 esac 4869 tmake_file="mips/t-mips $tmake_file" 4870 ;; 4871 4872 powerpc*-*-* | rs6000-*-*) 4873 # FIXME: The PowerPC port uses the value set at compile time, 4874 # although it's only cosmetic. 4875 if test "x$with_cpu" != x 4876 then 4877 target_cpu_default2="\\\"$with_cpu\\\"" 4878 fi 4879 out_file="${cpu_type}/${cpu_type}.c" 4880 c_target_objs="${c_target_objs} ${cpu_type}-c.o" 4881 cxx_target_objs="${cxx_target_objs} ${cpu_type}-c.o" 4882 tmake_file="${cpu_type}/t-${cpu_type} ${tmake_file}" 4883 ;; 4884 4885 sh[123456ble]*-*-* | sh-*-*) 4886 c_target_objs="${c_target_objs} sh-c.o" 4887 cxx_target_objs="${cxx_target_objs} sh-c.o" 4888 ;; 4889 4890 sparc*-*-*) 4891 # Some standard aliases. 4892 case x$with_cpu in 4893 xsparc) 4894 with_cpu=v7 4895 ;; 4896 xsparcv9 | xsparc64) 4897 with_cpu=v9 4898 ;; 4899 esac 4900 4901 if test x$with_tune = x ; then 4902 case ${target} in 4903 *-leon-*) 4904 with_tune=leon 4905 ;; 4906 *-leon[3-9]*) 4907 with_tune=leon3 4908 ;; 4909 esac 4910 fi 4911 4912 # The SPARC port checks this value at compile-time. 4913 target_cpu_default2="TARGET_CPU_$with_cpu" 4914 ;; 4915 4916 v850*-*-*) 4917 case "x$with_cpu" in 4918 x) 4919 ;; 4920 xv850e | xv850e1 | xv850e2 | xv850e2v3 | xv850e3v5) 4921 target_cpu_default2="TARGET_CPU_$with_cpu" 4922 ;; 4923 xv850es) 4924 target_cpu_default2="TARGET_CPU_v850e1" 4925 ;; 4926 esac 4927 ;; 4928 visium-*-*) 4929 target_cpu_default2="TARGET_CPU_$with_cpu" 4930 ;; 4931esac 4932 4933t= 4934all_defaults="abi cpu cpu_32 cpu_64 arch arch_32 arch_64 tune tune_32 tune_64 schedule float mode fpu nan fp_32 odd_spreg_32 divide llsc mips-plt synci tls lxc1-sxc1 madd4" 4935for option in $all_defaults 4936do 4937 eval "val=\$with_"`echo $option | sed s/-/_/g` 4938 if test -n "$val"; then 4939 case " $supported_defaults " in 4940 *" $option "*) 4941 ;; 4942 *) 4943 echo "This target does not support --with-$option." 2>&1 4944 echo "Valid --with options are: $supported_defaults" 2>&1 4945 exit 1 4946 ;; 4947 esac 4948 4949 if test "x$t" = x 4950 then 4951 t="{ \"$option\", \"$val\" }" 4952 else 4953 t="${t}, { \"$option\", \"$val\" }" 4954 fi 4955 fi 4956done 4957 4958if test "x$t" = x 4959then 4960 configure_default_options="{ { NULL, NULL} }" 4961else 4962 configure_default_options="{ ${t} }" 4963fi 4964 4965if test "$target_cpu_default2" != "" 4966then 4967 if test "$target_cpu_default" != "" 4968 then 4969 target_cpu_default="(${target_cpu_default}|${target_cpu_default2})" 4970 else 4971 target_cpu_default=$target_cpu_default2 4972 fi 4973fi 4974 4975case ${target} in 4976i[34567]86-*-* | x86_64-*-*) 4977 if test x$enable_as_accelerator = xyes; then 4978 extra_programs="mkoffload\$(exeext)" 4979 fi 4980 ;; 4981esac 4982