comparison gcc/config.gcc @ 132:d34655255c78

update gcc-8.2
author mir3636
date Thu, 25 Oct 2018 10:21:07 +0900
parents 84e7813d76e9
children 1830386684a0
comparison
equal deleted inserted replaced
130:e108057fa461 132:d34655255c78
1 # GCC target-specific configuration file. 1 # GCC target-specific configuration file.
2 # Copyright (C) 1997-2017 Free Software Foundation, Inc. 2 # Copyright (C) 1997-2018 Free Software Foundation, Inc.
3 3
4 #This file is part of GCC. 4 #This file is part of GCC.
5 5
6 #GCC is free software; you can redistribute it and/or modify it under 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 7 #the terms of the GNU General Public License as published by the Free
234 xm_file= 234 xm_file=
235 md_file= 235 md_file=
236 236
237 # Obsolete configurations. 237 # Obsolete configurations.
238 case ${target} in 238 case ${target} in
239 nothing \ 239 *-*-solaris2.10* \
240 | powerpc*-*-*spe* \
241 | tile*-*-* \
240 ) 242 )
241 if test "x$enable_obsolete" != xyes; then 243 if test "x$enable_obsolete" != xyes; then
242 echo "*** Configuration ${target} is obsolete." >&2 244 echo "*** Configuration ${target} is obsolete." >&2
243 echo "*** Specify --enable-obsolete to build it anyway." >&2 245 echo "*** Specify --enable-obsolete to build it anyway." >&2
244 echo "*** Support will be REMOVED in the next major release of GCC," >&2 246 echo "*** Support will be REMOVED in the next major release of GCC," >&2
265 | m68k-*-uclinuxoldabi* \ 267 | m68k-*-uclinuxoldabi* \
266 | mips64orion*-*-rtems* \ 268 | mips64orion*-*-rtems* \
267 | pdp11-*-bsd \ 269 | pdp11-*-bsd \
268 | sparc-hal-solaris2* \ 270 | sparc-hal-solaris2* \
269 | thumb-*-* \ 271 | thumb-*-* \
270 | *-*-freebsd[12] | *-*-freebsd[12].* \ 272 | *-*-freebsd[12] | *-*-freebsd[1234].* \
271 | *-*-freebsd*aout* \ 273 | *-*-freebsd*aout* \
272 | *-*-linux*aout* \ 274 | *-*-linux*aout* \
273 | *-*-linux*coff* \ 275 | *-*-linux*coff* \
274 | *-*-linux*libc1* \ 276 | *-*-linux*libc1* \
275 | *-*-linux*oldld* \ 277 | *-*-linux*oldld* \
301 aarch64*-*-*) 303 aarch64*-*-*)
302 cpu_type=aarch64 304 cpu_type=aarch64
303 extra_headers="arm_fp16.h arm_neon.h arm_acle.h" 305 extra_headers="arm_fp16.h arm_neon.h arm_acle.h"
304 c_target_objs="aarch64-c.o" 306 c_target_objs="aarch64-c.o"
305 cxx_target_objs="aarch64-c.o" 307 cxx_target_objs="aarch64-c.o"
306 extra_objs="aarch64-builtins.o aarch-common.o cortex-a57-fma-steering.o" 308 extra_objs="aarch64-builtins.o aarch-common.o cortex-a57-fma-steering.o aarch64-speculation.o falkor-tag-collision-avoidance.o"
307 target_gtfiles="\$(srcdir)/config/aarch64/aarch64-builtins.c" 309 target_gtfiles="\$(srcdir)/config/aarch64/aarch64-builtins.c"
308 target_has_targetm_common=yes 310 target_has_targetm_common=yes
309 ;; 311 ;;
310 alpha*-*-*) 312 alpha*-*-*)
311 cpu_type=alpha 313 cpu_type=alpha
376 xsavesintrin.h avx512dqintrin.h avx512bwintrin.h 378 xsavesintrin.h avx512dqintrin.h avx512bwintrin.h
377 avx512vlintrin.h avx512vlbwintrin.h avx512vldqintrin.h 379 avx512vlintrin.h avx512vlbwintrin.h avx512vldqintrin.h
378 avx512ifmaintrin.h avx512ifmavlintrin.h avx512vbmiintrin.h 380 avx512ifmaintrin.h avx512ifmavlintrin.h avx512vbmiintrin.h
379 avx512vbmivlintrin.h avx5124fmapsintrin.h avx5124vnniwintrin.h 381 avx512vbmivlintrin.h avx5124fmapsintrin.h avx5124vnniwintrin.h
380 avx512vpopcntdqintrin.h clwbintrin.h mwaitxintrin.h 382 avx512vpopcntdqintrin.h clwbintrin.h mwaitxintrin.h
381 clzerointrin.h pkuintrin.h sgxintrin.h cetintrin.h" 383 clzerointrin.h pkuintrin.h sgxintrin.h cetintrin.h
384 gfniintrin.h cet.h avx512vbmi2intrin.h
385 avx512vbmi2vlintrin.h avx512vnniintrin.h
386 avx512vnnivlintrin.h vaesintrin.h vpclmulqdqintrin.h
387 avx512vpopcntdqvlintrin.h avx512bitalgintrin.h
388 pconfigintrin.h wbnoinvdintrin.h movdirintrin.h
389 waitpkgintrin.h cldemoteintrin.h"
382 ;; 390 ;;
383 x86_64-*-*) 391 x86_64-*-*)
384 cpu_type=i386 392 cpu_type=i386
385 c_target_objs="i386-c.o" 393 c_target_objs="i386-c.o"
386 cxx_target_objs="i386-c.o" 394 cxx_target_objs="i386-c.o"
389 extra_headers="cpuid.h mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h 397 extra_headers="cpuid.h mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h
390 pmmintrin.h tmmintrin.h ammintrin.h smmintrin.h 398 pmmintrin.h tmmintrin.h ammintrin.h smmintrin.h
391 nmmintrin.h bmmintrin.h fma4intrin.h wmmintrin.h 399 nmmintrin.h bmmintrin.h fma4intrin.h wmmintrin.h
392 immintrin.h x86intrin.h avxintrin.h xopintrin.h 400 immintrin.h x86intrin.h avxintrin.h xopintrin.h
393 ia32intrin.h cross-stdarg.h lwpintrin.h popcntintrin.h 401 ia32intrin.h cross-stdarg.h lwpintrin.h popcntintrin.h
394 lzcntintrin.h bmiintrin.h tbmintrin.h bmi2intrin.h 402 lzcntintrin.h bmiintrin.h bmi2intrin.h tbmintrin.h
395 avx2intrin.h avx512fintrin.h fmaintrin.h f16cintrin.h 403 avx2intrin.h avx512fintrin.h fmaintrin.h f16cintrin.h
396 rtmintrin.h xtestintrin.h rdseedintrin.h prfchwintrin.h 404 rtmintrin.h xtestintrin.h rdseedintrin.h prfchwintrin.h
397 adxintrin.h fxsrintrin.h xsaveintrin.h xsaveoptintrin.h 405 adxintrin.h fxsrintrin.h xsaveintrin.h xsaveoptintrin.h
398 avx512cdintrin.h avx512erintrin.h avx512pfintrin.h 406 avx512cdintrin.h avx512erintrin.h avx512pfintrin.h
399 shaintrin.h clflushoptintrin.h xsavecintrin.h 407 shaintrin.h clflushoptintrin.h xsavecintrin.h
400 xsavesintrin.h avx512dqintrin.h avx512bwintrin.h 408 xsavesintrin.h avx512dqintrin.h avx512bwintrin.h
401 avx512vlintrin.h avx512vlbwintrin.h avx512vldqintrin.h 409 avx512vlintrin.h avx512vlbwintrin.h avx512vldqintrin.h
402 avx512ifmaintrin.h avx512ifmavlintrin.h avx512vbmiintrin.h 410 avx512ifmaintrin.h avx512ifmavlintrin.h avx512vbmiintrin.h
403 avx512vbmivlintrin.h avx5124fmapsintrin.h avx5124vnniwintrin.h 411 avx512vbmivlintrin.h avx5124fmapsintrin.h avx5124vnniwintrin.h
404 avx512vpopcntdqintrin.h clwbintrin.h mwaitxintrin.h 412 avx512vpopcntdqintrin.h clwbintrin.h mwaitxintrin.h
405 clzerointrin.h pkuintrin.h sgxintrin.h cetintrin.h" 413 clzerointrin.h pkuintrin.h sgxintrin.h cetintrin.h
414 gfniintrin.h cet.h avx512vbmi2intrin.h
415 avx512vbmi2vlintrin.h avx512vnniintrin.h
416 avx512vnnivlintrin.h vaesintrin.h vpclmulqdqintrin.h
417 avx512vpopcntdqvlintrin.h avx512bitalgintrin.h
418 pconfigintrin.h wbnoinvdintrin.h movdirintrin.h
419 waitpkgintrin.h cldemoteintrin.h"
406 ;; 420 ;;
407 ia64-*-*) 421 ia64-*-*)
408 extra_headers=ia64intrin.h 422 extra_headers=ia64intrin.h
409 extra_options="${extra_options} g.opt fused-madd.opt" 423 extra_options="${extra_options} g.opt fused-madd.opt"
410 ;; 424 ;;
432 extra_objs="frame-header-opt.o" 446 extra_objs="frame-header-opt.o"
433 extra_options="${extra_options} g.opt fused-madd.opt mips/mips-tables.opt" 447 extra_options="${extra_options} g.opt fused-madd.opt mips/mips-tables.opt"
434 ;; 448 ;;
435 nds32*) 449 nds32*)
436 cpu_type=nds32 450 cpu_type=nds32
437 extra_headers="nds32_intrinsic.h" 451 extra_headers="nds32_intrinsic.h nds32_isr.h nds32_init.inc"
438 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" 452 case ${target} in
453 nds32*-*-linux*)
454 extra_options="${extra_options} nds32/nds32-linux.opt"
455 ;;
456 nds32*-*-elf*)
457 extra_options="${extra_options} nds32/nds32-elf.opt"
458 ;;
459 *)
460 ;;
461 esac
462 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"
439 ;; 463 ;;
440 nios2-*-*) 464 nios2-*-*)
441 cpu_type=nios2 465 cpu_type=nios2
442 extra_options="${extra_options} g.opt" 466 extra_options="${extra_options} g.opt"
443 ;; 467 ;;
457 powerpc*-*-*) 481 powerpc*-*-*)
458 cpu_type=rs6000 482 cpu_type=rs6000
459 extra_objs="rs6000-string.o rs6000-p8swap.o" 483 extra_objs="rs6000-string.o rs6000-p8swap.o"
460 extra_headers="ppc-asm.h altivec.h htmintrin.h htmxlintrin.h" 484 extra_headers="ppc-asm.h altivec.h htmintrin.h htmxlintrin.h"
461 extra_headers="${extra_headers} bmi2intrin.h bmiintrin.h" 485 extra_headers="${extra_headers} bmi2intrin.h bmiintrin.h"
462 extra_headers="${extra_headers} xmmintrin.h mm_malloc.h" 486 extra_headers="${extra_headers} xmmintrin.h mm_malloc.h emmintrin.h"
463 extra_headers="${extra_headers} mmintrin.h x86intrin.h" 487 extra_headers="${extra_headers} mmintrin.h x86intrin.h"
488 extra_headers="${extra_headers} pmmintrin.h"
464 extra_headers="${extra_headers} ppu_intrinsics.h spu2vmx.h vec_types.h si2vmx.h" 489 extra_headers="${extra_headers} ppu_intrinsics.h spu2vmx.h vec_types.h si2vmx.h"
465 extra_headers="${extra_headers} paired.h"
466 extra_headers="${extra_headers} amo.h" 490 extra_headers="${extra_headers} amo.h"
467 case x$with_cpu in 491 case x$with_cpu in
468 xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[3456789]|xpower6x|xrs64a|xcell|xa2|xe500mc64|xe5500|xe6500) 492 xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[3456789]|xpower6x|xrs64a|xcell|xa2|xe500mc64|xe5500|xe6500)
469 cpu_is_64bit=yes 493 cpu_is_64bit=yes
470 ;; 494 ;;
564 tm_defines="${tm_defines} USE_IX86_CLD=1" 588 tm_defines="${tm_defines} USE_IX86_CLD=1"
565 fi 589 fi
566 if test "x$enable_frame_pointer" = xyes; then 590 if test "x$enable_frame_pointer" = xyes; then
567 tm_defines="${tm_defines} USE_IX86_FRAME_POINTER=1" 591 tm_defines="${tm_defines} USE_IX86_FRAME_POINTER=1"
568 fi 592 fi
569 tm_file="vxworks-dummy.h ${tm_file}"
570 ;; 593 ;;
571 x86_64-*-*) 594 x86_64-*-*)
572 case ${with_abi} in 595 case ${with_abi} in
573 "") 596 "")
574 if test "x$with_multilib_list" = xmx32; then 597 if test "x$with_multilib_list" = xmx32; then
591 tm_defines="${tm_defines} USE_IX86_CLD=1" 614 tm_defines="${tm_defines} USE_IX86_CLD=1"
592 fi 615 fi
593 if test "x$enable_frame_pointer" = xyes; then 616 if test "x$enable_frame_pointer" = xyes; then
594 tm_defines="${tm_defines} USE_IX86_FRAME_POINTER=1" 617 tm_defines="${tm_defines} USE_IX86_FRAME_POINTER=1"
595 fi 618 fi
596 tm_file="vxworks-dummy.h ${tm_file}"
597 ;; 619 ;;
598 arm*-*-*) 620 arm*-*-*)
599 tm_p_file="arm/arm-flags.h ${tm_p_file} arm/aarch-common-protos.h" 621 tm_p_file="arm/arm-flags.h ${tm_p_file} arm/aarch-common-protos.h"
600 tm_file="vxworks-dummy.h ${tm_file}"
601 ;;
602 mips*-*-* | sh*-*-* | sparc*-*-*)
603 tm_file="vxworks-dummy.h ${tm_file}"
604 ;; 622 ;;
605 esac 623 esac
606 624
607 # On a.out targets, we need to use collect2. 625 # On a.out targets, we need to use collect2.
608 case ${target} in 626 case ${target} in
625 # MUST be separated by exactly one space. 643 # MUST be separated by exactly one space.
626 x86_64_archs="amdfam10 athlon64 athlon64-sse3 barcelona bdver1 bdver2 \ 644 x86_64_archs="amdfam10 athlon64 athlon64-sse3 barcelona bdver1 bdver2 \
627 bdver3 bdver4 znver1 btver1 btver2 k8 k8-sse3 opteron opteron-sse3 nocona \ 645 bdver3 bdver4 znver1 btver1 btver2 k8 k8-sse3 opteron opteron-sse3 nocona \
628 core2 corei7 corei7-avx core-avx-i core-avx2 atom slm nehalem westmere \ 646 core2 corei7 corei7-avx core-avx-i core-avx2 atom slm nehalem westmere \
629 sandybridge ivybridge haswell broadwell bonnell silvermont knl knm \ 647 sandybridge ivybridge haswell broadwell bonnell silvermont knl knm \
630 skylake-avx512 x86-64 native" 648 skylake-avx512 cannonlake icelake-client icelake-server skylake goldmont \
649 goldmont-plus tremont x86-64 native"
631 650
632 # Additional x86 processors supported by --with-cpu=. Each processor 651 # Additional x86 processors supported by --with-cpu=. Each processor
633 # MUST be separated by exactly one space. 652 # MUST be separated by exactly one space.
634 x86_cpus="generic intel" 653 x86_cpus="generic intel"
635 654
856 # Solaris 2 specific ones. 875 # Solaris 2 specific ones.
857 sol2_tm_file_head="dbxelf.h elfos.h ${cpu_type}/sysv4.h" 876 sol2_tm_file_head="dbxelf.h elfos.h ${cpu_type}/sysv4.h"
858 sol2_tm_file_tail="${cpu_type}/sol2.h sol2.h" 877 sol2_tm_file_tail="${cpu_type}/sol2.h sol2.h"
859 sol2_tm_file="${sol2_tm_file_head} ${sol2_tm_file_tail}" 878 sol2_tm_file="${sol2_tm_file_head} ${sol2_tm_file_tail}"
860 case ${target} in 879 case ${target} in
861 *-*-solaris2.1[2-9]*) 880 *-*-solaris2.1[1-9]*)
862 # __cxa_atexit was introduced in Solaris 12. 881 # __cxa_atexit was introduced in Solaris 11.4.
863 default_use_cxa_atexit=yes 882 default_use_cxa_atexit=yes
864 ;; 883 ;;
865 esac 884 esac
866 use_gcc_stdint=wrap 885 use_gcc_stdint=wrap
867 if test x$gnu_ld = xyes; then 886 if test x$gnu_ld = xyes; then
916 case $target in 935 case $target in
917 *-*-vxworks7*) 936 *-*-vxworks7*)
918 tm_defines="$tm_defines TARGET_VXWORKS7=1" 937 tm_defines="$tm_defines TARGET_VXWORKS7=1"
919 ;; 938 ;;
920 esac 939 esac
940 case $target in
941 *64-*-vxworks*)
942 tm_defines="$tm_defines TARGET_VXWORKS64=1"
943 ;;
944 esac
921 ;; 945 ;;
922 *-*-elf|arc*-*-elf*) 946 *-*-elf|arc*-*-elf*)
923 # Assume that newlib is being used and so __cxa_atexit is provided. 947 # Assume that newlib is being used and so __cxa_atexit is provided.
924 default_use_cxa_atexit=yes 948 default_use_cxa_atexit=yes
925 use_gcc_stdint=wrap 949 use_gcc_stdint=wrap
971 ;; 995 ;;
972 aarch64*-*-linux*) 996 aarch64*-*-linux*)
973 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h" 997 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h"
974 tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-linux.h" 998 tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-linux.h"
975 tmake_file="${tmake_file} aarch64/t-aarch64 aarch64/t-aarch64-linux" 999 tmake_file="${tmake_file} aarch64/t-aarch64 aarch64/t-aarch64-linux"
1000 tm_defines="${tm_defines} TARGET_DEFAULT_ASYNC_UNWIND_TABLES=1"
976 case $target in 1001 case $target in
977 aarch64_be-*) 1002 aarch64_be-*)
978 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1" 1003 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
979 ;; 1004 ;;
980 esac 1005 esac
1000 alpha*-*-linux*) 1025 alpha*-*-linux*)
1001 tm_file="elfos.h ${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h glibc-stdint.h" 1026 tm_file="elfos.h ${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h glibc-stdint.h"
1002 tmake_file="${tmake_file} alpha/t-linux alpha/t-alpha" 1027 tmake_file="${tmake_file} alpha/t-linux alpha/t-alpha"
1003 extra_options="${extra_options} alpha/elf.opt" 1028 extra_options="${extra_options} alpha/elf.opt"
1004 ;; 1029 ;;
1005 alpha*-*-freebsd*)
1006 tm_file="elfos.h ${tm_file} ${fbsd_tm_file} alpha/elf.h alpha/freebsd.h"
1007 tmake_file="${tmake_file} alpha/t-alpha"
1008 extra_options="${extra_options} alpha/elf.opt"
1009 ;;
1010 alpha*-*-netbsd*) 1030 alpha*-*-netbsd*)
1011 tm_file="elfos.h ${tm_file} ${nbsd_tm_file} alpha/elf.h alpha/netbsd.h" 1031 tm_file="elfos.h ${tm_file} ${nbsd_tm_file} alpha/elf.h alpha/netbsd.h"
1012 tmake_file="${tmake_file} alpha/t-alpha" 1032 tmake_file="${tmake_file} alpha/t-alpha"
1013 extra_options="${extra_options} netbsd.opt netbsd-elf.opt \ 1033 extra_options="${extra_options} netbsd.opt netbsd-elf.opt \
1014 alpha/elf.opt" 1034 alpha/elf.opt"
1045 big*) tm_file="arc/big.h ${tm_file}" 1065 big*) tm_file="arc/big.h ${tm_file}"
1046 esac 1066 esac
1047 ;; 1067 ;;
1048 arc*-*-linux*) 1068 arc*-*-linux*)
1049 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}" 1069 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}"
1050 tmake_file="${tmake_file} arc/t-arc" 1070 tmake_file="${tmake_file} arc/t-multilib-linux arc/t-arc"
1051 extra_gcc_objs="driver-arc.o" 1071 extra_gcc_objs="driver-arc.o"
1052 if test "x$with_cpu" != x; then 1072 if test "x$with_cpu" != x; then
1053 tm_defines="${tm_defines} TARGET_CPU_BUILD=PROCESSOR_$with_cpu" 1073 tm_defines="${tm_defines} TARGET_CPU_BUILD=PROCESSOR_$with_cpu"
1054 fi 1074 fi
1055 if test x${with_endian} = x; then 1075 if test x${with_endian} = x; then
1112 ;; 1132 ;;
1113 arm*-*-netbsdelf*) 1133 arm*-*-netbsdelf*)
1114 tm_file="dbxelf.h elfos.h ${nbsd_tm_file} arm/elf.h arm/aout.h ${tm_file} arm/netbsd-elf.h" 1134 tm_file="dbxelf.h elfos.h ${nbsd_tm_file} arm/elf.h arm/aout.h ${tm_file} arm/netbsd-elf.h"
1115 extra_options="${extra_options} netbsd.opt netbsd-elf.opt" 1135 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
1116 tmake_file="${tmake_file} arm/t-arm" 1136 tmake_file="${tmake_file} arm/t-arm"
1117 target_cpu_cname="arm6" 1137 target_cpu_cname="strongarm"
1118 ;; 1138 ;;
1119 arm*-*-linux-*) # ARM GNU/Linux with ELF 1139 arm*-*-linux-*) # ARM GNU/Linux with ELF
1120 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" 1140 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"
1121 extra_options="${extra_options} linux-android.opt" 1141 extra_options="${extra_options} linux-android.opt"
1122 case $target in 1142 case $target in
1123 arm*b-*-linux*) 1143 arm*b-*-linux*)
1124 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1" 1144 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
1125 ;; 1145 ;;
1126 esac 1146 esac
1127 tmake_file="${tmake_file} arm/t-arm arm/t-arm-elf arm/t-bpabi arm/t-linux-eabi" 1147 tmake_file="${tmake_file} arm/t-arm arm/t-arm-elf arm/t-bpabi arm/t-linux-eabi"
1128 tm_file="$tm_file arm/bpabi.h arm/linux-eabi.h arm/aout.h vxworks-dummy.h arm/arm.h" 1148 tm_file="$tm_file arm/bpabi.h arm/linux-eabi.h arm/aout.h arm/arm.h"
1129 target_cpu_cname="arm10tdmi" 1149 # Generation of floating-point instructions requires at least ARMv5te.
1150 if [ "$with_float" = "hard" -o "$with_float" = "softfp" ] ; then
1151 target_cpu_cname="arm10e"
1152 else
1153 target_cpu_cname="arm10tdmi"
1154 fi
1130 # Define multilib configuration for arm-linux-androideabi. 1155 # Define multilib configuration for arm-linux-androideabi.
1131 case ${target} in 1156 case ${target} in
1132 *-androideabi) 1157 *-androideabi)
1133 tmake_file="$tmake_file arm/t-linux-androideabi" 1158 tmake_file="$tmake_file arm/t-linux-androideabi"
1134 ;; 1159 ;;
1138 with_tls=${with_tls:-gnu} 1163 with_tls=${with_tls:-gnu}
1139 ;; 1164 ;;
1140 arm*-*-uclinux*eabi*) # ARM ucLinux 1165 arm*-*-uclinux*eabi*) # ARM ucLinux
1141 tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/linux-gas.h arm/uclinux-elf.h glibc-stdint.h" 1166 tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/linux-gas.h arm/uclinux-elf.h glibc-stdint.h"
1142 tmake_file="${tmake_file} arm/t-arm arm/t-arm-elf arm/t-bpabi" 1167 tmake_file="${tmake_file} arm/t-arm arm/t-arm-elf arm/t-bpabi"
1143 tm_file="$tm_file arm/bpabi.h arm/uclinux-eabi.h arm/aout.h vxworks-dummy.h arm/arm.h" 1168 tm_file="$tm_file arm/bpabi.h arm/uclinux-eabi.h arm/aout.h arm/arm.h"
1144 target_cpu_cname="arm7tdmi" 1169 target_cpu_cname="arm7tdmi"
1145 # The EABI requires the use of __cxa_atexit. 1170 # The EABI requires the use of __cxa_atexit.
1146 default_use_cxa_atexit=yes 1171 default_use_cxa_atexit=yes
1147 ;; 1172 ;;
1148 arm*-*-phoenix*) 1173 arm*-*-phoenix*)
1182 # provides its own implementation of the BPABI functions. 1207 # provides its own implementation of the BPABI functions.
1183 tmake_file="${tmake_file} arm/t-symbian" 1208 tmake_file="${tmake_file} arm/t-symbian"
1184 target_cpu_cname="arm10tdmi" 1209 target_cpu_cname="arm10tdmi"
1185 ;; 1210 ;;
1186 esac 1211 esac
1187 tm_file="${tm_file} arm/aout.h vxworks-dummy.h arm/arm.h" 1212 tm_file="${tm_file} arm/aout.h arm/arm.h"
1188 ;; 1213 ;;
1189 avr-*-*) 1214 avr-*-*)
1190 tm_file="elfos.h avr/elf.h avr/avr-arch.h avr/avr.h avr/specs.h dbxelf.h avr/avr-stdint.h" 1215 tm_file="elfos.h avr/elf.h avr/avr-arch.h avr/avr.h avr/specs.h dbxelf.h avr/avr-stdint.h"
1191 if test x${with_avrlibc} != xno; then 1216 if test x${with_avrlibc} != xno; then
1192 tm_file="${tm_file} ${cpu_type}/avrlibc.h" 1217 tm_file="${tm_file} ${cpu_type}/avrlibc.h"
1252 crisv32-*-*) 1277 crisv32-*-*)
1253 target_cpu_default=32 1278 target_cpu_default=32
1254 ;; 1279 ;;
1255 esac 1280 esac
1256 ;; 1281 ;;
1257 epiphany-*-elf ) 1282 csky-*-*)
1258 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}" 1283 if test x${with_endian} != x; then
1259 tmake_file="epiphany/t-epiphany" 1284 case ${with_endian} in
1285 big|little) ;;
1286 *)
1287 echo "with_endian=${with_endian} not supported."
1288 exit 1
1289 ;;
1290 esac
1291 fi
1292 if test x${with_float} != x; then
1293 case ${with_float} in
1294 soft | hard) ;;
1295 *) echo
1296 "Unknown floating point type used in --with-float=$with_float"
1297 exit 1
1298 ;;
1299 esac
1300 fi
1301 tm_file="csky/csky.h"
1302 md_file="csky/csky.md"
1303 out_file="csky/csky.c"
1304 tm_p_file="${tm_p_file} csky/csky-protos.h"
1305 extra_options="${extra_options} csky/csky_tables.opt"
1306
1307 if test x${enable_tpf_debug} = xyes; then
1308 tm_defines="${tm_defines} ENABLE_TPF_DEBUG"
1309 fi
1310
1311 case ${target} in
1312 csky-*-elf*)
1313 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file} csky/csky-elf.h"
1314 tmake_file="csky/t-csky csky/t-csky-elf"
1315 default_use_cxa_atexit=no
1316 ;;
1317 csky-*-linux*)
1318 tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ${tm_file} csky/csky-linux-elf.h"
1319 tmake_file="${tmake_file} csky/t-csky csky/t-csky-linux"
1320
1321 if test "x${enable_multilib}" = xyes ; then
1322 tm_file="$tm_file ./sysroot-suffix.h"
1323 tmake_file="${tmake_file} csky/t-sysroot-suffix"
1324 fi
1325
1326 case ${target} in
1327 csky-*-linux-gnu*)
1328 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_GLIBC"
1329 ;;
1330 csky-*-linux-uclibc*)
1331 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC"
1332 default_use_cxa_atexit=no
1333 ;;
1334 *)
1335 echo "Unknown target $target"
1336 exit 1
1337 ;;
1338 esac
1339 ;;
1340 *)
1341 echo "Unknown target $target"
1342 exit 1
1343 ;;
1344 esac
1345 ;;
1346 epiphany-*-elf | epiphany-*-rtems*)
1347 tm_file="${tm_file} dbxelf.h elfos.h"
1348 tmake_file="${tmake_file} epiphany/t-epiphany"
1349 case ${target} in
1350 epiphany-*-rtems*)
1351 tm_file="${tm_file} rtems.h epiphany/rtems.h newlib-stdint.h"
1352 ;;
1353 *)
1354 tm_file="${tm_file} newlib-stdint.h"
1355 ;;
1356 esac
1260 extra_options="${extra_options} fused-madd.opt" 1357 extra_options="${extra_options} fused-madd.opt"
1261 extra_objs="$extra_objs mode-switch-use.o resolve-sw-modes.o" 1358 extra_objs="${extra_objs} mode-switch-use.o resolve-sw-modes.o"
1262 tm_defines="${tm_defines} EPIPHANY_STACK_OFFSET=${with_stack_offset:-8}" 1359 tm_defines="${tm_defines} EPIPHANY_STACK_OFFSET=${with_stack_offset:-8}"
1263 extra_headers="epiphany_intrinsics.h" 1360 extra_headers="epiphany_intrinsics.h"
1264 ;; 1361 ;;
1265 fr30-*-elf) 1362 fr30-*-elf)
1266 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}" 1363 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1316 glibc-stdint.h pa/pa-linux.h pa/pa64-regs.h pa/pa-64.h \ 1413 glibc-stdint.h pa/pa-linux.h pa/pa64-regs.h pa/pa-64.h \
1317 pa/pa64-linux.h" 1414 pa/pa64-linux.h"
1318 gas=yes gnu_ld=yes 1415 gas=yes gnu_ld=yes
1319 ;; 1416 ;;
1320 hppa*-*-linux*) 1417 hppa*-*-linux*)
1321 target_cpu_default="MASK_PA_11|MASK_NO_SPACE_REGS" 1418 target_cpu_default="MASK_PA_11|MASK_NO_SPACE_REGS|MASK_CALLER_COPIES"
1322 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h pa/pa-linux.h \ 1419 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h pa/pa-linux.h \
1323 pa/pa32-regs.h pa/pa32-linux.h" 1420 pa/pa32-regs.h pa/pa32-linux.h"
1324 tmake_file="${tmake_file} pa/t-linux" 1421 tmake_file="${tmake_file} pa/t-linux"
1325 ;; 1422 ;;
1326 hppa*-*-openbsd*) 1423 hppa*-*-openbsd*)
1470 ;; 1567 ;;
1471 x86_64-*-elf*) 1568 x86_64-*-elf*)
1472 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/x86-64.h" 1569 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/x86-64.h"
1473 ;; 1570 ;;
1474 x86_64-*-rtems*) 1571 x86_64-*-rtems*)
1475 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" 1572 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"
1476 ;; 1573 ;;
1477 i[34567]86-*-rdos*) 1574 i[34567]86-*-rdos*)
1478 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/rdos.h" 1575 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/rdos.h"
1479 ;; 1576 ;;
1480 x86_64-*-rdos*) 1577 x86_64-*-rdos*)
2046 # automatically detect that GAS supports it, yet we require it. 2143 # automatically detect that GAS supports it, yet we require it.
2047 gcc_cv_initfini_array=yes 2144 gcc_cv_initfini_array=yes
2048 ;; 2145 ;;
2049 riscv*-*-elf* | riscv*-*-rtems*) 2146 riscv*-*-elf* | riscv*-*-rtems*)
2050 tm_file="elfos.h newlib-stdint.h ${tm_file} riscv/elf.h" 2147 tm_file="elfos.h newlib-stdint.h ${tm_file} riscv/elf.h"
2051 case "x${enable_multilib}" in 2148 case ${target} in
2052 xno) ;; 2149 *-*-rtems*)
2053 xyes) tmake_file="${tmake_file} riscv/t-elf-multilib" ;; 2150 tm_file="${tm_file} rtems.h riscv/rtems.h"
2054 *) echo "Unknown value for enable_multilib"; exit 1 2151 tmake_file="${tmake_file} riscv/t-rtems"
2152 ;;
2153 *)
2154 case "x${enable_multilib}" in
2155 xno) ;;
2156 xyes) tmake_file="${tmake_file} riscv/t-elf-multilib" ;;
2157 *) echo "Unknown value for enable_multilib"; exit 1
2158 esac
2055 esac 2159 esac
2056 tmake_file="${tmake_file} riscv/t-riscv" 2160 tmake_file="${tmake_file} riscv/t-riscv"
2057 gnu_ld=yes 2161 gnu_ld=yes
2058 gas=yes 2162 gas=yes
2059 # Force .init_array support. The configure script cannot always 2163 # Force .init_array support. The configure script cannot always
2060 # automatically detect that GAS supports it, yet we require it. 2164 # automatically detect that GAS supports it, yet we require it.
2061 gcc_cv_initfini_array=yes 2165 gcc_cv_initfini_array=yes
2062 case ${target} in 2166 ;;
2063 riscv*-*-rtems*) 2167 riscv*-*-freebsd*)
2064 tm_file="${tm_file} rtems.h riscv/rtems.h" 2168 tm_file="${tm_file} elfos.h ${fbsd_tm_file} riscv/freebsd.h"
2065 ;; 2169 tmake_file="${tmake_file} riscv/t-riscv"
2066 esac 2170 gnu_ld=yes
2171 gas=yes
2172 # Force .init_array support. The configure script cannot always
2173 # automatically detect that GAS supports it, yet we require it.
2174 gcc_cv_initfini_array=yes
2067 ;; 2175 ;;
2068 mips*-*-netbsd*) # NetBSD/mips, either endian. 2176 mips*-*-netbsd*) # NetBSD/mips, either endian.
2069 target_cpu_default="MASK_ABICALLS" 2177 target_cpu_default="MASK_ABICALLS"
2070 tm_file="elfos.h ${tm_file} mips/elf.h ${nbsd_tm_file} mips/netbsd.h" 2178 tm_file="elfos.h ${tm_file} mips/elf.h ${nbsd_tm_file} mips/netbsd.h"
2071 extra_options="${extra_options} netbsd.opt netbsd-elf.opt" 2179 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
2297 c_target_objs="msp430-c.o" 2405 c_target_objs="msp430-c.o"
2298 cxx_target_objs="msp430-c.o" 2406 cxx_target_objs="msp430-c.o"
2299 tmake_file="${tmake_file} msp430/t-msp430" 2407 tmake_file="${tmake_file} msp430/t-msp430"
2300 extra_gcc_objs="driver-msp430.o" 2408 extra_gcc_objs="driver-msp430.o"
2301 ;; 2409 ;;
2302 nds32le-*-*) 2410 nds32*-*-*)
2303 target_cpu_default="0" 2411 target_cpu_default="0"
2304 tm_defines="${tm_defines}" 2412 tm_defines="${tm_defines}"
2305 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}" 2413 case ${target} in
2306 tmake_file="nds32/t-nds32 nds32/t-mlibs" 2414 nds32le*-*-*)
2307 ;; 2415 ;;
2308 nds32be-*-*) 2416 nds32be-*-*)
2309 target_cpu_default="0|MASK_BIG_ENDIAN" 2417 target_cpu_default="${target_cpu_default}|MASK_BIG_ENDIAN"
2310 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1" 2418 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
2311 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}" 2419 ;;
2312 tmake_file="nds32/t-nds32 nds32/t-mlibs" 2420 esac
2421 case ${target} in
2422 nds32*-*-elf*)
2423 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file} nds32/elf.h nds32/nds32_intrinsic.h"
2424 tmake_file="nds32/t-nds32 nds32/t-elf"
2425 ;;
2426 nds32*-*-linux*)
2427 tm_file="dbxelf.h elfos.h ${tm_file} gnu-user.h linux.h glibc-stdint.h nds32/linux.h nds32/nds32_intrinsic.h"
2428 tmake_file="${tmake_file} nds32/t-nds32 nds32/t-linux"
2429 ;;
2430 esac
2431
2432 # Handle --enable-default-relax setting.
2433 if test x${enable_default_relax} = xyes; then
2434 tm_defines="${tm_defines} TARGET_DEFAULT_RELAX=1"
2435 fi
2436 # Handle --with-ext-dsp
2437 if test x${with_ext_dsp} = xyes; then
2438 tm_defines="${tm_defines} TARGET_DEFAULT_EXT_DSP=1"
2439 fi
2313 ;; 2440 ;;
2314 nios2-*-*) 2441 nios2-*-*)
2315 tm_file="elfos.h ${tm_file}" 2442 tm_file="elfos.h ${tm_file}"
2316 tmake_file="${tmake_file} nios2/t-nios2" 2443 tmake_file="${tmake_file} nios2/t-nios2"
2317 case ${target} in 2444 case ${target} in
2328 ;; 2455 ;;
2329 esac 2456 esac
2330 ;; 2457 ;;
2331 nvptx-*) 2458 nvptx-*)
2332 tm_file="${tm_file} newlib-stdint.h" 2459 tm_file="${tm_file} newlib-stdint.h"
2460 use_gcc_stdint=wrap
2333 tmake_file="nvptx/t-nvptx" 2461 tmake_file="nvptx/t-nvptx"
2334 if test x$enable_as_accelerator = xyes; then 2462 if test x$enable_as_accelerator = xyes; then
2335 extra_programs="${extra_programs} mkoffload\$(exeext)" 2463 extra_programs="${extra_programs} mkoffload\$(exeext)"
2336 tm_file="${tm_file} nvptx/offload.h" 2464 tm_file="${tm_file} nvptx/offload.h"
2337 fi 2465 fi
2415 tm_file="${tm_file} dbxelf.h elfos.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/eabialtivec.h" 2543 tm_file="${tm_file} dbxelf.h elfos.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/eabialtivec.h"
2416 extra_options="${extra_options} rs6000/sysv4.opt" 2544 extra_options="${extra_options} rs6000/sysv4.opt"
2417 tmake_file="rs6000/t-fprules rs6000/t-ppcendian rs6000/t-ppccomm" 2545 tmake_file="rs6000/t-fprules rs6000/t-ppcendian rs6000/t-ppccomm"
2418 use_gcc_stdint=wrap 2546 use_gcc_stdint=wrap
2419 ;; 2547 ;;
2420 powerpc-xilinx-eabi*)
2421 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"
2422 extra_options="${extra_options} rs6000/sysv4.opt rs6000/xilinx.opt"
2423 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm rs6000/t-xilinx"
2424 use_gcc_stdint=wrap
2425 ;;
2426 powerpc-*-eabi*) 2548 powerpc-*-eabi*)
2427 tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h" 2549 tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h"
2428 extra_options="${extra_options} rs6000/sysv4.opt" 2550 extra_options="${extra_options} rs6000/sysv4.opt"
2429 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm" 2551 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2430 use_gcc_stdint=wrap 2552 use_gcc_stdint=wrap
2465 case ${enable_targets} in 2587 case ${enable_targets} in
2466 *powerpc64*) maybe_biarch=yes ;; 2588 *powerpc64*) maybe_biarch=yes ;;
2467 all) maybe_biarch=yes ;; 2589 all) maybe_biarch=yes ;;
2468 esac 2590 esac
2469 case ${target} in 2591 case ${target} in
2470 powerpc64*-*-linux*spe* | powerpc64*-*-linux*paired*) 2592 powerpc64*-*-linux*spe* | powerpc*-*-linux*paired*)
2471 echo "*** Configuration ${target} not supported" 1>&2 2593 echo "*** Configuration ${target} not supported" 1>&2
2472 exit 1 2594 exit 1
2473 ;; 2595 ;;
2474 powerpc*-*-linux*spe* | powerpc*-*-linux*paired*) 2596 powerpc*-*-linux*spe*)
2475 maybe_biarch= 2597 maybe_biarch=
2476 ;; 2598 ;;
2477 esac 2599 esac
2478 case ${target}:${enable_targets}:${maybe_biarch} in 2600 case ${target}:${enable_targets}:${maybe_biarch} in
2479 powerpc64-* | powerpc-*:*:yes | *:*powerpc64-*:yes | *:all:yes \ 2601 powerpc64-* | powerpc-*:*:yes | *:*powerpc64-*:yes | *:all:yes \
2515 extra_options="${extra_options} rs6000/476.opt" ;; 2637 extra_options="${extra_options} rs6000/476.opt" ;;
2516 powerpc*-*-linux*altivec*) 2638 powerpc*-*-linux*altivec*)
2517 tm_file="${tm_file} rs6000/linuxaltivec.h" ;; 2639 tm_file="${tm_file} rs6000/linuxaltivec.h" ;;
2518 powerpc*-*-linux*spe*) 2640 powerpc*-*-linux*spe*)
2519 tm_file="${tm_file} ${cpu_type}/linuxspe.h ${cpu_type}/e500.h" ;; 2641 tm_file="${tm_file} ${cpu_type}/linuxspe.h ${cpu_type}/e500.h" ;;
2520 powerpc*-*-linux*paired*)
2521 tm_file="${tm_file} rs6000/750cl.h" ;;
2522 esac 2642 esac
2523 case ${target} in 2643 case ${target} in
2524 *-linux*-musl*) 2644 *-linux*-musl*)
2525 enable_secureplt=yes ;; 2645 enable_secureplt=yes ;;
2526 esac 2646 esac
2578 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" 2698 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"
2579 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm" 2699 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2580 extra_options="${extra_options} rs6000/sysv4.opt" 2700 extra_options="${extra_options} rs6000/sysv4.opt"
2581 use_gcc_stdint=wrap 2701 use_gcc_stdint=wrap
2582 ;; 2702 ;;
2583 rs6000-ibm-aix4.[3456789]* | powerpc-ibm-aix4.[3456789]*)
2584 tm_file="rs6000/biarch64.h ${tm_file} rs6000/aix.h rs6000/aix43.h rs6000/xcoff.h rs6000/aix-stdint.h"
2585 tmake_file="rs6000/t-aix43 t-slibgcc"
2586 extra_options="${extra_options} rs6000/aix64.opt"
2587 use_collect2=yes
2588 thread_file='aix'
2589 use_gcc_stdint=provide
2590 extra_headers=
2591 ;;
2592 rs6000-ibm-aix5.1.* | powerpc-ibm-aix5.1.*)
2593 tm_file="rs6000/biarch64.h ${tm_file} rs6000/aix.h rs6000/aix51.h rs6000/xcoff.h rs6000/aix-stdint.h"
2594 extra_options="${extra_options} rs6000/aix64.opt"
2595 tmake_file="rs6000/t-aix43 t-slibgcc"
2596 use_collect2=yes
2597 thread_file='aix'
2598 use_gcc_stdint=wrap
2599 extra_headers=
2600 ;;
2601 rs6000-ibm-aix5.2.* | powerpc-ibm-aix5.2.*)
2602 tm_file="${tm_file} rs6000/aix.h rs6000/aix52.h rs6000/xcoff.h rs6000/aix-stdint.h"
2603 tmake_file="rs6000/t-aix52 t-slibgcc"
2604 extra_options="${extra_options} rs6000/aix64.opt"
2605 use_collect2=yes
2606 thread_file='aix'
2607 use_gcc_stdint=wrap
2608 extra_headers=
2609 ;;
2610 rs6000-ibm-aix5.3.* | powerpc-ibm-aix5.3.*)
2611 tm_file="${tm_file} rs6000/aix.h rs6000/aix53.h rs6000/xcoff.h rs6000/aix-stdint.h"
2612 tmake_file="rs6000/t-aix52 t-slibgcc"
2613 extra_options="${extra_options} rs6000/aix64.opt"
2614 use_collect2=yes
2615 thread_file='aix'
2616 use_gcc_stdint=wrap
2617 extra_headers=altivec.h
2618 ;;
2619 rs6000-ibm-aix6.* | powerpc-ibm-aix6.*) 2703 rs6000-ibm-aix6.* | powerpc-ibm-aix6.*)
2620 tm_file="${tm_file} rs6000/aix.h rs6000/aix61.h rs6000/xcoff.h rs6000/aix-stdint.h" 2704 tm_file="${tm_file} rs6000/aix.h rs6000/aix61.h rs6000/xcoff.h rs6000/aix-stdint.h"
2621 tmake_file="rs6000/t-aix52 t-slibgcc" 2705 tmake_file="rs6000/t-aix52 t-slibgcc"
2622 extra_options="${extra_options} rs6000/aix64.opt" 2706 extra_options="${extra_options} rs6000/aix64.opt"
2623 use_collect2=yes 2707 use_collect2=yes
2624 thread_file='aix' 2708 thread_file='aix'
2625 use_gcc_stdint=wrap 2709 use_gcc_stdint=wrap
2626 extra_headers=altivec.h 2710 extra_headers=altivec.h
2627 default_use_cxa_atexit=yes 2711 default_use_cxa_atexit=yes
2628 ;; 2712 ;;
2713 rs6000-ibm-aix7.1.* | powerpc-ibm-aix7.1.*)
2714 tm_file="${tm_file} rs6000/aix.h rs6000/aix71.h rs6000/xcoff.h rs6000/aix-stdint.h"
2715 tmake_file="rs6000/t-aix52 t-slibgcc"
2716 extra_options="${extra_options} rs6000/aix64.opt"
2717 use_collect2=yes
2718 thread_file='aix'
2719 use_gcc_stdint=wrap
2720 extra_headers="altivec.h amo.h"
2721 default_use_cxa_atexit=yes
2722 ;;
2629 rs6000-ibm-aix[789].* | powerpc-ibm-aix[789].*) 2723 rs6000-ibm-aix[789].* | powerpc-ibm-aix[789].*)
2630 tm_file="${tm_file} rs6000/aix.h rs6000/aix71.h rs6000/xcoff.h rs6000/aix-stdint.h" 2724 tm_file="${tm_file} rs6000/aix.h rs6000/aix72.h rs6000/xcoff.h rs6000/aix-stdint.h"
2631 tmake_file="rs6000/t-aix52 t-slibgcc" 2725 tmake_file="rs6000/t-aix52 t-slibgcc"
2632 extra_options="${extra_options} rs6000/aix64.opt" 2726 extra_options="${extra_options} rs6000/aix64.opt"
2633 use_collect2=yes 2727 use_collect2=yes
2634 thread_file='aix' 2728 thread_file='aix'
2635 use_gcc_stdint=wrap 2729 use_gcc_stdint=wrap
3764 echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2 3858 echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2
3765 exit 1 3859 exit 1
3766 fi 3860 fi
3767 ;; 3861 ;;
3768 3862
3863 csky-*-*)
3864 supported_defaults="cpu endian float"
3865 ;;
3866
3769 arm*-*-*) 3867 arm*-*-*)
3770 supported_defaults="arch cpu float tune fpu abi mode tls" 3868 supported_defaults="arch cpu float tune fpu abi mode tls"
3771 for which in cpu tune arch; do 3869 for which in cpu tune arch; do
3772 # See if it matches a supported value 3870 # See if it matches a supported value
3773 eval "val=\$with_$which" 3871 eval "val=\$with_$which"
3887 with_float="soft" 3985 with_float="soft"
3888 tmake_file="${tmake_file} ${tmake_profile_file}" 3986 tmake_file="${tmake_file} ${tmake_profile_file}"
3889 TM_MULTILIB_CONFIG="$with_multilib_list" 3987 TM_MULTILIB_CONFIG="$with_multilib_list"
3890 fi 3988 fi
3891 fi 3989 fi
3892 target_cpu_cname=${target_cpu_cname:-arm6} 3990 target_cpu_cname=${target_cpu_cname:-arm7tdmi}
3893 with_cpu=${with_cpu:-$target_cpu_cname} 3991 with_cpu=${with_cpu:-$target_cpu_cname}
3894 ;; 3992 ;;
3895 3993
3896 fr*-*-*linux*) 3994 fr*-*-*linux*)
3897 supported_defaults=cpu 3995 supported_defaults=cpu
4024 4122
4025 riscv*-*-*) 4123 riscv*-*-*)
4026 supported_defaults="abi arch tune" 4124 supported_defaults="abi arch tune"
4027 4125
4028 case "${target}" in 4126 case "${target}" in
4029 riscv32*) xlen=32 ;; 4127 riscv-* | riscv32*) xlen=32 ;;
4030 riscv64*) xlen=64 ;; 4128 riscv64*) xlen=64 ;;
4031 *) echo "Unsupported RISC-V target ${target}" 1>&2; exit 1 ;; 4129 *) echo "Unsupported RISC-V target ${target}" 1>&2; exit 1 ;;
4032 esac 4130 esac
4033 4131
4034 # Infer arch from --with-arch, --target, and --with-abi. 4132 # Infer arch from --with-arch, --target, and --with-abi.
4035 case "${with_arch}" in 4133 case "${with_arch}" in
4036 rv32i* | rv32g* | rv64i* | rv64g*) 4134 rv32e* | rv32i* | rv32g* | rv64i* | rv64g*)
4037 # OK. 4135 # OK.
4038 ;; 4136 ;;
4039 "") 4137 "")
4040 # Infer XLEN, but otherwise assume GC. 4138 # Infer XLEN, but otherwise assume GC.
4041 case "${with_abi}" in 4139 case "${with_abi}" in
4140 ilp32e) with_arch="rv32e" ;;
4042 ilp32 | ilp32f | ilp32d) with_arch="rv32gc" ;; 4141 ilp32 | ilp32f | ilp32d) with_arch="rv32gc" ;;
4043 lp64 | lp64f | lp64d) with_arch="rv64gc" ;; 4142 lp64 | lp64f | lp64d) with_arch="rv64gc" ;;
4044 *) with_arch="rv${xlen}gc" ;; 4143 *) with_arch="rv${xlen}gc" ;;
4045 esac 4144 esac
4046 ;; 4145 ;;
4047 *) 4146 *)
4048 echo "--with-arch=${with_arch} is not supported. The argument must begin with rv32i, rv32g, rv64i, or rv64g." 1>&2 4147 echo "--with-arch=${with_arch} is not supported. The argument must begin with rv32e, rv32i, rv32g, rv64i, or rv64g." 1>&2
4049 exit 1 4148 exit 1
4050 ;; 4149 ;;
4051 esac 4150 esac
4052 4151
4053 # Make sure --with-abi is valid. If it was not specified, 4152 # Make sure --with-abi is valid. If it was not specified,
4054 # pick a default based on the ISA, preferring soft-float 4153 # pick a default based on the ISA, preferring soft-float
4055 # unless the D extension is present. 4154 # unless the D extension is present.
4056 case "${with_abi}" in 4155 case "${with_abi}" in
4057 ilp32 | ilp32f | ilp32d | lp64 | lp64f | lp64d) 4156 ilp32 | ilp32e | ilp32f | ilp32d | lp64 | lp64f | lp64d)
4058 ;; 4157 ;;
4059 "") 4158 "")
4060 case "${with_arch}" in 4159 case "${with_arch}" in
4061 rv32*d* | rv32g*) with_abi=ilp32d ;; 4160 rv32*d* | rv32g*) with_abi=ilp32d ;;
4161 rv32e*) with_abi=ilp32e ;;
4062 rv32*) with_abi=ilp32 ;; 4162 rv32*) with_abi=ilp32 ;;
4063 rv64*d* | rv64g*) with_abi=lp64d ;; 4163 rv64*d* | rv64g*) with_abi=lp64d ;;
4064 rv64*) with_abi=lp64 ;; 4164 rv64*) with_abi=lp64 ;;
4065 esac 4165 esac
4066 ;; 4166 ;;
4070 ;; 4170 ;;
4071 esac 4171 esac
4072 4172
4073 # Make sure ABI and ISA are compatible. 4173 # Make sure ABI and ISA are compatible.
4074 case "${with_abi},${with_arch}" in 4174 case "${with_abi},${with_arch}" in
4075 ilp32,rv32* \ 4175 ilp32,rv32* | ilp32e,rv32e* \
4076 | ilp32f,rv32*f* | ilp32f,rv32g* \ 4176 | ilp32f,rv32*f* | ilp32f,rv32g* \
4077 | ilp32d,rv32*d* | ilp32d,rv32g* \ 4177 | ilp32d,rv32*d* | ilp32d,rv32g* \
4078 | lp64,rv64* \ 4178 | lp64,rv64* \
4079 | lp64f,rv64*f* | lp64f,rv64g* \ 4179 | lp64f,rv64*f* | lp64f,rv64g* \
4080 | lp64d,rv64*d* | lp64d,rv64g*) 4180 | lp64d,rv64*d* | lp64d,rv64g*)
4082 *) 4182 *)
4083 echo "--with-abi=${with_abi} is not supported for ISA ${with_arch}" 1>&2 4183 echo "--with-abi=${with_abi} is not supported for ISA ${with_arch}" 1>&2
4084 exit 1 4184 exit 1
4085 ;; 4185 ;;
4086 esac 4186 esac
4187
4188 # Handle --with-multilib-list.
4189 if test "x${with_multilib_list}" != xdefault; then
4190 tm_file="${tm_file} riscv/withmultilib.h"
4191 tmake_file="${tmake_file} riscv/t-withmultilib"
4192
4193 case ${with_multilib_list} in
4194 ilp32 | ilp32f | ilp32d \
4195 | lp64 | lp64f | lp64d )
4196 TM_MULTILIB_CONFIG="${with_arch},${with_multilib_list}"
4197 ;;
4198 *)
4199 echo "--with-multilib-list=${with_multilib_list} not supported."
4200 exit 1
4201 esac
4202
4203 # Define macros to select the default multilib.
4204 case ${with_arch} in
4205 rv32gc)
4206 tm_defines="${tm_defines} TARGET_MLIB_ARCH=1"
4207 ;;
4208 rv64gc)
4209 tm_defines="${tm_defines} TARGET_MLIB_ARCH=2"
4210 ;;
4211 *)
4212 echo "unsupported --with-arch for --with-multilib-list"
4213 exit 1
4214 esac
4215 case ${with_abi} in
4216 ilp32)
4217 tm_defines="${tm_defines} TARGET_MLIB_ABI=1"
4218 ;;
4219 ilp32f)
4220 tm_defines="${tm_defines} TARGET_MLIB_ABI=2"
4221 ;;
4222 ilp32d)
4223 tm_defines="${tm_defines} TARGET_MLIB_ABI=3"
4224 ;;
4225 lp64)
4226 tm_defines="${tm_defines} TARGET_MLIB_ABI=4"
4227 ;;
4228 lp64f)
4229 tm_defines="${tm_defines} TARGET_MLIB_ABI=5"
4230 ;;
4231 lp64d)
4232 tm_defines="${tm_defines} TARGET_MLIB_ABI=6"
4233 ;;
4234 *)
4235 echo "unsupported --with-abi for --with-multilib"
4236 exit 1
4237 esac
4238 fi
4087 ;; 4239 ;;
4088 4240
4089 mips*-*-*) 4241 mips*-*-*)
4090 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" 4242 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"
4091 4243
4241 ;; 4393 ;;
4242 esac 4394 esac
4243 ;; 4395 ;;
4244 4396
4245 nds32*-*-*) 4397 nds32*-*-*)
4246 supported_defaults="arch nds32_lib" 4398 supported_defaults="arch cpu nds32_lib float fpu_config"
4247 4399
4248 # process --with-arch 4400 # process --with-arch
4249 case "${with_arch}" in 4401 case "${with_arch}" in
4250 "" | v2 | v3 | v3m) 4402 "" | v3 )
4403 tm_defines="${tm_defines} TARGET_ARCH_DEFAULT=0"
4404 ;;
4405 v2 | v2j | v3m)
4251 # OK 4406 # OK
4407 tm_defines="${tm_defines} TARGET_ARCH_DEFAULT=0"
4408 ;;
4409 v3f)
4410 tm_defines="${tm_defines} TARGET_ARCH_DEFAULT=1"
4411 ;;
4412 v3s)
4413 tm_defines="${tm_defines} TARGET_ARCH_DEFAULT=2"
4414
4252 ;; 4415 ;;
4253 *) 4416 *)
4254 echo "Cannot accept --with-arch=$with_arch, available values are: v2 v3 v3m" 1>&2 4417 echo "Cannot accept --with-arch=$with_arch, available values are: v2 v2j v3 v3m v3f v3s" 1>&2
4418 exit 1
4419 ;;
4420 esac
4421
4422 case "${with_cpu}" in
4423 "")
4424 with_cpu=n9
4425 ;;
4426 n6 | n7 |n8 | e8 | s8 | n9 | n10 | d10 | n12 | n13 | n15)
4427 # OK
4428 ;;
4429 *)
4430 echo "Cannot accept --with-cpu=$with_cpu, available values are: n6 n7 n8 e8 s8 n9 n10 d10 n12 n13 n15" 1>&2
4255 exit 1 4431 exit 1
4256 ;; 4432 ;;
4257 esac 4433 esac
4258 4434
4259 # process --with-nds32-lib 4435 # process --with-nds32-lib
4260 case "${with_nds32_lib}" in 4436 case "${with_nds32_lib}" in
4261 "") 4437 "")
4262 # the default library is newlib 4438 # the default library is newlib
4263 with_nds32_lib=newlib 4439 with_nds32_lib=newlib
4440 tm_defines="${tm_defines} TARGET_DEFAULT_CTOR_DTOR=1"
4264 ;; 4441 ;;
4265 newlib) 4442 newlib)
4266 # OK 4443 # OK
4444 tm_defines="${tm_defines} TARGET_DEFAULT_CTOR_DTOR=1"
4267 ;; 4445 ;;
4268 mculib) 4446 mculib)
4269 # OK 4447 # OK
4448 # for the arch=v3f or arch=v3s under mculib toolchain,
4449 # we would like to set -fno-math-errno as default
4450 case "${with_arch}" in
4451 v3f | v3s)
4452 tm_defines="${tm_defines} TARGET_DEFAULT_NO_MATH_ERRNO=1"
4453 ;;
4454 esac
4455 ;;
4456 glibc)
4457 # OK
4458 tm_defines="${tm_defines} TARGET_DEFAULT_TLSDESC_TRAMPOLINE=0"
4459 ;;
4460 uclibc)
4270 ;; 4461 ;;
4271 *) 4462 *)
4272 echo "Cannot accept --with-nds32-lib=$with_nds32_lib, available values are: newlib mculib" 1>&2 4463 echo "Cannot accept --with-nds32-lib=$with_nds32_lib, available values are: newlib mculib glibc uclibc" 1>&2
4273 exit 1 4464 exit 1
4274 ;; 4465 ;;
4275 esac 4466 esac
4276 ;; 4467
4277 4468 # process --with-float
4469 case "${with_float}" in
4470 "" | soft | hard)
4471 # OK
4472 ;;
4473 *)
4474 echo "Cannot accept --with-float=$with_float, available values are: soft hard" 1>&2
4475 exit 1
4476 ;;
4477 esac
4478
4479 # process --with-config-fpu
4480 case "${with_config_fpu}" in
4481 "" | 0 | 1 | 2 | 3)
4482 # OK
4483 ;;
4484 *)
4485 echo "Cannot accept --with-config-fpu=$with_config_fpu, available values from 0 to 7" 1>&2
4486 exit 1
4487 ;;
4488 esac
4489
4490
4491 ;;
4278 nios2*-*-*) 4492 nios2*-*-*)
4279 supported_defaults="arch" 4493 supported_defaults="arch"
4280 case "$with_arch" in 4494 case "$with_arch" in
4281 "" | r1 | r2) 4495 "" | r1 | r2)
4282 # OK 4496 # OK
4375 else 4589 else
4376 echo "Unknown advance-toolchain $with_advance_toolchain" 4590 echo "Unknown advance-toolchain $with_advance_toolchain"
4377 exit 1 4591 exit 1
4378 fi 4592 fi
4379 fi 4593 fi
4594
4595 # Set up the default long double format if the user changed it.
4596 if test x$with_long_double_format = xieee; then
4597 tm_defines="${tm_defines} TARGET_IEEEQUAD_DEFAULT=1"
4598
4599 elif test x$with_long_double_format = xibm; then
4600 tm_defines="${tm_defines} TARGET_IEEEQUAD_DEFAULT=0"
4601 fi
4380 ;; 4602 ;;
4381 4603
4382 s390*-*-*) 4604 s390*-*-*)
4383 supported_defaults="arch mode tune" 4605 supported_defaults="arch mode tune"
4384 4606
4385 for which in arch tune; do 4607 for which in arch tune; do
4386 eval "val=\$with_$which" 4608 eval "val=\$with_$which"
4387 case ${val} in 4609 case ${val} in
4388 "" | native | g5 | g6 | z900 | z990 | z9-109 | z9-ec | z10 | z196 | zEC12 | z13 | z14 | arch3 | arch5 | arch6 | arch7 | arch8 | arch9 | arch10 | arch11 | arch12) 4610 "" | native | z900 | z990 | z9-109 | z9-ec | z10 | z196 | zEC12 | z13 | z14 | arch5 | arch6 | arch7 | arch8 | arch9 | arch10 | arch11 | arch12)
4389 # OK 4611 # OK
4390 ;; 4612 ;;
4391 *) 4613 *)
4392 echo "Unknown cpu used in --with-$which=$val." 1>&2 4614 echo "Unknown cpu used in --with-$which=$val." 1>&2
4393 exit 1 4615 exit 1
4511 ;; 4733 ;;
4512 esac 4734 esac
4513 ;; 4735 ;;
4514 esac 4736 esac
4515 4737
4738 # Targets for which there is at least one VxWorks port should include
4739 # vxworks-dummy.h to allow safe references to various TARGET_VXWORKS kinds
4740 # of markers from other files in the port, including the vxworks*.h files to
4741 # distinguish VxWorks variants such as VxWorks 7 or 64).
4742
4743 case ${target} in
4744 arm*-*-* | i[34567]86-*-* | mips*-*-* | powerpc*-*-* | sh*-*-* \
4745 | sparc*-*-* | x86_64-*-*)
4746 tm_file="vxworks-dummy.h ${tm_file}"
4747 ;;
4748 esac
4749
4516 # Set some miscellaneous flags for particular targets. 4750 # Set some miscellaneous flags for particular targets.
4517 target_cpu_default2= 4751 target_cpu_default2=
4518 case ${target} in 4752 case ${target} in
4519 aarch64*-*-*) 4753 aarch64*-*-*)
4520 if test x"$target_cpu_cname" != x 4754 if test x"$target_cpu_cname" != x