Mercurial > hg > CbC > CbC_gcc
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 |