diff options
Diffstat (limited to 'gcc/config.gcc')
-rw-r--r-- | gcc/config.gcc | 301 |
1 files changed, 163 insertions, 138 deletions
diff --git a/gcc/config.gcc b/gcc/config.gcc index 3ec7582..d9d6ec3 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -1,3 +1,4 @@ +# SPDX-License-Identifier: GPL-3.0-or-later # GCC target-specific configuration file. # Copyright (C) 1997-2021 Free Software Foundation, Inc. @@ -248,6 +249,7 @@ md_file= # Obsolete configurations. case ${target} in tile*-*-* \ + | cr16-*-* \ ) if test "x$enable_obsolete" != xyes; then echo "*** Configuration ${target} is obsolete." >&2 @@ -275,6 +277,8 @@ case ${target} in | crisv32-*-* \ | i[34567]86-go32-* \ | i[34567]86-*-go32* \ + | m32r-*-linux* \ + | m32rle-*-linux* \ | m68k-*-uclinuxoldabi* \ | mips64orion*-*-rtems* \ | pdp11-*-bsd \ @@ -379,7 +383,7 @@ fido-*-*) extra_headers=math-68881.h extra_options="${extra_options} m68k/m68k-tables.opt" ;; -i[34567]86-*-*) +i[34567]86-*-* | x86_64-*-*) cpu_type=i386 c_target_objs="i386-c.o" cxx_target_objs="i386-c.o" @@ -414,44 +418,8 @@ i[34567]86-*-*) avx512vp2intersectintrin.h avx512vp2intersectvlintrin.h tsxldtrkintrin.h amxtileintrin.h amxint8intrin.h amxbf16intrin.h x86gprintrin.h uintrintrin.h - hresetintrin.h keylockerintrin.h avxvnniintrin.h" - ;; -x86_64-*-*) - cpu_type=i386 - c_target_objs="i386-c.o" - cxx_target_objs="i386-c.o" - d_target_objs="i386-d.o" - extra_options="${extra_options} fused-madd.opt" - extra_objs="x86-tune-sched.o x86-tune-sched-bd.o x86-tune-sched-atom.o x86-tune-sched-core.o i386-options.o i386-builtins.o i386-expand.o i386-features.o" - target_gtfiles="\$(srcdir)/config/i386/i386-builtins.c \$(srcdir)/config/i386/i386-expand.c \$(srcdir)/config/i386/i386-options.c" - extra_headers="cpuid.h mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h - pmmintrin.h tmmintrin.h ammintrin.h smmintrin.h - nmmintrin.h bmmintrin.h fma4intrin.h wmmintrin.h - immintrin.h x86intrin.h avxintrin.h xopintrin.h - ia32intrin.h cross-stdarg.h lwpintrin.h popcntintrin.h - lzcntintrin.h bmiintrin.h bmi2intrin.h tbmintrin.h - avx2intrin.h avx512fintrin.h fmaintrin.h f16cintrin.h - rtmintrin.h xtestintrin.h rdseedintrin.h prfchwintrin.h - adxintrin.h fxsrintrin.h xsaveintrin.h xsaveoptintrin.h - avx512cdintrin.h avx512erintrin.h avx512pfintrin.h - shaintrin.h clflushoptintrin.h xsavecintrin.h - xsavesintrin.h avx512dqintrin.h avx512bwintrin.h - avx512vlintrin.h avx512vlbwintrin.h avx512vldqintrin.h - avx512ifmaintrin.h avx512ifmavlintrin.h avx512vbmiintrin.h - avx512vbmivlintrin.h avx5124fmapsintrin.h avx5124vnniwintrin.h - avx512vpopcntdqintrin.h clwbintrin.h mwaitxintrin.h - clzerointrin.h pkuintrin.h sgxintrin.h cetintrin.h - gfniintrin.h cet.h avx512vbmi2intrin.h - avx512vbmi2vlintrin.h avx512vnniintrin.h - avx512vnnivlintrin.h vaesintrin.h vpclmulqdqintrin.h - avx512vpopcntdqvlintrin.h avx512bitalgintrin.h - pconfigintrin.h wbnoinvdintrin.h movdirintrin.h - waitpkgintrin.h cldemoteintrin.h avx512bf16vlintrin.h - avx512bf16intrin.h enqcmdintrin.h serializeintrin.h - avx512vp2intersectintrin.h avx512vp2intersectvlintrin.h - tsxldtrkintrin.h amxtileintrin.h amxint8intrin.h - amxbf16intrin.h x86gprintrin.h uintrintrin.h - hresetintrin.h keylockerintrin.h avxvnniintrin.h" + hresetintrin.h keylockerintrin.h avxvnniintrin.h + mwaitintrin.h avx512fp16intrin.h avx512fp16vlintrin.h" ;; ia64-*-*) extra_headers=ia64intrin.h @@ -503,6 +471,8 @@ nios2-*-*) ;; nvptx-*-*) cpu_type=nvptx + c_target_objs="nvptx-c.o" + cxx_target_objs="nvptx-c.o" ;; or1k*-*-*) cpu_type=or1k @@ -511,6 +481,7 @@ powerpc*-*-*) cpu_type=rs6000 extra_objs="rs6000-string.o rs6000-p8swap.o rs6000-logue.o" extra_objs="${extra_objs} rs6000-call.o rs6000-pcrel-opt.o" + extra_objs="${extra_objs} rs6000-builtins.o" extra_headers="ppc-asm.h altivec.h htmintrin.h htmxlintrin.h" extra_headers="${extra_headers} bmi2intrin.h bmiintrin.h" extra_headers="${extra_headers} xmmintrin.h mm_malloc.h emmintrin.h" @@ -526,6 +497,7 @@ powerpc*-*-*) extra_options="${extra_options} g.opt fused-madd.opt rs6000/rs6000-tables.opt" target_gtfiles="$target_gtfiles \$(srcdir)/config/rs6000/rs6000-logue.c \$(srcdir)/config/rs6000/rs6000-call.c" target_gtfiles="$target_gtfiles \$(srcdir)/config/rs6000/rs6000-pcrel-opt.c" + target_gtfiles="$target_gtfiles ./rs6000-builtins.h" ;; pru-*-*) cpu_type=pru @@ -626,6 +598,8 @@ i[34567]86-*-*) exit 1 fi ;; +x86_64-*-darwin*) + ;; x86_64-*-*) case ${with_abi} in "") @@ -677,7 +651,7 @@ opteron-sse3 nocona core2 corei7 corei7-avx core-avx-i core-avx2 atom \ slm nehalem westmere sandybridge ivybridge haswell broadwell bonnell \ silvermont knl knm skylake-avx512 cannonlake icelake-client icelake-server \ skylake goldmont goldmont-plus tremont cascadelake tigerlake cooperlake \ -sapphirerapids alderlake eden-x2 nano nano-1000 nano-2000 nano-3000 \ +sapphirerapids alderlake rocketlake eden-x2 nano nano-1000 nano-2000 nano-3000 \ nano-x2 eden-x4 nano-x4 x86-64 x86-64-v2 x86-64-v3 x86-64-v4 native" # Additional x86 processors supported by --with-cpu=. Each processor @@ -733,7 +707,7 @@ case ${target} in tm_file="${tm_file} ${cpu_type}/darwin.h" tm_p_file="${tm_p_file} darwin-protos.h" target_gtfiles="$target_gtfiles \$(srcdir)/config/darwin.c" - extra_options="${extra_options} darwin.opt" + extra_options="${extra_options} rpath.opt darwin.opt" c_target_objs="${c_target_objs} darwin-c.o" cxx_target_objs="${cxx_target_objs} darwin-c.o" d_target_objs="${d_target_objs} darwin-d.o" @@ -884,6 +858,14 @@ case ${target} in tmake_file="${tmake_file} t-glibc" target_has_targetcm=yes target_has_targetdm=yes + case $target in + *-*-*uclibc* | *-*-uclinuxfdpiceabi) + ;; + *) + # Linux targets always support .init_array. + gcc_cv_initfini_array=yes + ;; + esac ;; *-*-netbsd*) tm_p_file="${tm_p_file} netbsd-protos.h" @@ -917,6 +899,8 @@ case ${target} in default_use_cxa_atexit=yes ;; esac + d_target_objs="${d_target_objs} openbsd-d.o" + target_has_targetdm=yes ;; *-*-phoenix*) gas=yes @@ -1544,6 +1528,9 @@ bpf-*-*) use_collect2=no extra_headers="bpf-helpers.h" use_gcc_stdint=provide + extra_headers="coreout.h" + extra_objs="coreout.o" + target_gtfiles="$target_gtfiles \$(srcdir)/config/bpf/coreout.c" ;; cr16-*-elf) tm_file="elfos.h ${tm_file} newlib-stdint.h" @@ -1551,7 +1538,7 @@ cr16-*-elf) use_collect2=no ;; cris-*-elf | cris-*-none) - tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}" + tm_file="elfos.h newlib-stdint.h ${tm_file}" tmake_file="cris/t-cris cris/t-elfmulti" gas=yes extra_options="${extra_options} cris/elf.opt" @@ -1597,11 +1584,6 @@ csky-*-*) tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ${tm_file} csky/csky-linux-elf.h" tmake_file="${tmake_file} csky/t-csky csky/t-csky-linux" - if test "x${enable_multilib}" = xyes ; then - tm_file="$tm_file ./sysroot-suffix.h" - tmake_file="${tmake_file} csky/t-sysroot-suffix" - fi - case ${target} in csky-*-linux-gnu*) tm_defines="$tm_defines DEFAULT_LIBC=LIBC_GLIBC" @@ -1705,11 +1687,11 @@ moxie-*-moxiebox*) ;; h8300-*-elf*) tmake_file="h8300/t-h8300" - tm_file="h8300/h8300.h dbxelf.h elfos.h newlib-stdint.h h8300/elf.h" + tm_file="h8300/h8300.h elfos.h newlib-stdint.h h8300/elf.h" ;; h8300-*-linux*) tmake_file="${tmake_file} h8300/t-h8300 h8300/t-linux" - tm_file="h8300/h8300.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h h8300/linux.h" + tm_file="h8300/h8300.h elfos.h gnu-user.h linux.h glibc-stdint.h h8300/linux.h" ;; hppa*64*-*-linux*) target_cpu_default="MASK_PA_11|MASK_PA_20" @@ -1868,7 +1850,7 @@ hppa[12]*-*-hpux11*) dwarf2=no fi ;; -i[34567]86-*-darwin1[89]*) +i[34567]86-*-darwin1[89]* | i[34567]86-*-darwin2[0-9]*) echo "Error: 32bit target is not supported after Darwin17" 1>&2 ;; i[34567]86-*-darwin*) @@ -1876,17 +1858,19 @@ i[34567]86-*-darwin*) # Baseline choice for a machine that allows m64 support. with_cpu=${with_cpu:-core2} tmake_file="${tmake_file} ${cpu_type}/t-darwin32-biarch t-slibgcc" - tm_file="${tm_file} ${cpu_type}/darwin32-biarch.h" + tm_file="${cpu_type}/darwin32-biarch.h ${tm_file} " ;; x86_64-*-darwin1[89]* | x86_64-*-darwin2[01]*) # Only 64b from now + tm_defines="${tm_defines} TARGET_64BIT_DEFAULT=(OPTION_MASK_ISA_64BIT|OPTION_MASK_ABI_64)" + tm_defines="${tm_defines} TARGET_BI_ARCH=0" with_cpu=${with_cpu:-core2} tmake_file="${tmake_file} t-slibgcc" ;; x86_64-*-darwin*) with_cpu=${with_cpu:-core2} tmake_file="${tmake_file} ${cpu_type}/t-darwin64-biarch t-slibgcc" - tm_file="${tm_file} ${cpu_type}/darwin64-biarch.h" + tm_file="${cpu_type}/darwin64-biarch.h ${tm_file} " ;; i[34567]86-*-elfiamcu) tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/iamcu.h" @@ -2121,6 +2105,8 @@ i[34567]86-*-cygwin*) extra_objs="${extra_objs} winnt.o winnt-stubs.o" c_target_objs="${c_target_objs} msformat-c.o" cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o" + d_target_objs="${d_target_objs} winnt-d.o" + target_has_targetdm="yes" if test x$enable_threads = xyes; then thread_file='posix' fi @@ -2137,6 +2123,8 @@ x86_64-*-cygwin*) extra_objs="${extra_objs} winnt.o winnt-stubs.o" c_target_objs="${c_target_objs} msformat-c.o" cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o" + d_target_objs="${d_target_objs} winnt-d.o" + target_has_targetdm="yes" if test x$enable_threads = xyes; then thread_file='posix' fi @@ -2149,7 +2137,9 @@ i[34567]86-*-mingw* | x86_64-*-mingw*) xm_file=i386/xm-mingw32.h c_target_objs="${c_target_objs} winnt-c.o" cxx_target_objs="${cxx_target_objs} winnt-c.o" + d_target_objs="${d_target_objs} winnt-d.o" target_has_targetcm="yes" + target_has_targetdm="yes" case ${target} in x86_64-*-* | *-w64-*) need_64bit_isa=yes @@ -2309,26 +2299,10 @@ lm32-*-uclinux*) tmake_file="${tmake_file} lm32/t-lm32" ;; m32r-*-elf*) - tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}" + tm_file="elfos.h newlib-stdint.h ${tm_file}" ;; m32rle-*-elf*) - tm_file="dbxelf.h elfos.h newlib-stdint.h m32r/little.h ${tm_file}" - ;; -m32r-*-linux*) - tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ${tm_file} m32r/linux.h" - tmake_file="${tmake_file} m32r/t-linux t-slibgcc" - gnu_ld=yes - if test x$enable_threads = xyes; then - thread_file='posix' - fi - ;; -m32rle-*-linux*) - tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h m32r/little.h ${tm_file} m32r/linux.h" - tmake_file="${tmake_file} m32r/t-linux t-slibgcc" - gnu_ld=yes - if test x$enable_threads = xyes; then - thread_file='posix' - fi + tm_file="elfos.h newlib-stdint.h m32r/little.h ${tm_file}" ;; m68k-*-elf* | fido-*-elf*) case ${target} in @@ -2468,6 +2442,11 @@ riscv*-*-linux*) tmake_file="${tmake_file} riscv/t-riscv riscv/t-linux" gnu_ld=yes gas=yes + case $target in + riscv32be-*|riscv64be-*) + tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1" + ;; + esac # Force .init_array support. The configure script cannot always # automatically detect that GAS supports it, yet we require it. gcc_cv_initfini_array=yes @@ -2491,6 +2470,11 @@ riscv*-*-elf* | riscv*-*-rtems*) tmake_file="${tmake_file} riscv/t-riscv" gnu_ld=yes gas=yes + case $target in + riscv32be-*|riscv64be-*) + tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1" + ;; + esac # Force .init_array support. The configure script cannot always # automatically detect that GAS supports it, yet we require it. gcc_cv_initfini_array=yes @@ -2500,6 +2484,11 @@ riscv*-*-freebsd*) tmake_file="${tmake_file} riscv/t-riscv" gnu_ld=yes gas=yes + case $target in + riscv32be-*|riscv64be-*) + tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1" + ;; + esac # Force .init_array support. The configure script cannot always # automatically detect that GAS supports it, yet we require it. gcc_cv_initfini_array=yes @@ -2513,7 +2502,7 @@ mips*-img-linux*) tm_file="dbxelf.h elfos.h gnu-user.h linux.h linux-android.h glibc-stdint.h ${tm_file} mips/gnu-user.h mips/linux.h mips/linux-common.h mips/mti-linux.h" extra_options="${extra_options} linux-android.opt" tmake_file="${tmake_file} mips/t-img-linux" - tm_defines="${tm_defines} MIPS_ISA_DEFAULT=37 MIPS_ABI_DEFAULT=ABI_32" + tm_defines="${tm_defines} MIPS_ISA_DEFAULT=MIPS_ISA_MIPS32R6 MIPS_ABI_DEFAULT=ABI_32" with_arch_32="mips32r6" with_arch_64="mips64r6" gnu_ld=yes @@ -2523,7 +2512,7 @@ mips*-mti-linux*) tm_file="dbxelf.h elfos.h gnu-user.h linux.h linux-android.h glibc-stdint.h ${tm_file} mips/gnu-user.h mips/linux.h mips/linux-common.h mips/mti-linux.h" extra_options="${extra_options} linux-android.opt" tmake_file="${tmake_file} mips/t-mti-linux" - tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33 MIPS_ABI_DEFAULT=ABI_32" + tm_defines="${tm_defines} MIPS_ISA_DEFAULT=MIPS_ISA_MIPS32R2 MIPS_ABI_DEFAULT=ABI_32" with_arch_32="mips32r2" with_arch_64="mips64r2" gnu_ld=yes @@ -2554,16 +2543,30 @@ mips*-*-linux*) # Linux MIPS, either endian. target_cpu_default=MASK_SOFT_FLOAT_ABI enable_mips_multilibs="yes" ;; + mipsisa64r6*-*-linux-gnuabi64) + default_mips_abi=64 + default_mips_arch=mips64r6 + enable_mips_multilibs="yes" + ;; mipsisa64r6*-*-linux*) default_mips_abi=n32 default_mips_arch=mips64r6 enable_mips_multilibs="yes" ;; + mipsisa64r2*-*-linux-gnuabi64) + default_mips_abi=64 + default_mips_arch=mips64r2 + enable_mips_multilibs="yes" + ;; mipsisa64r2*-*-linux*) default_mips_abi=n32 default_mips_arch=mips64r2 enable_mips_multilibs="yes" ;; + mips64*-*-linux-gnuabi64 | mipsisa64*-*-linux-gnuabi64) + default_mips_abi=64 + enable_mips_multilibs="yes" + ;; mips64*-*-linux* | mipsisa64*-*-linux*) default_mips_abi=n32 enable_mips_multilibs="yes" @@ -2579,14 +2582,14 @@ mips*-*-linux*) # Linux MIPS, either endian. mips*-mti-elf*) tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/n32-elf.h mips/sde.h mips/mti-elf.h" tmake_file="mips/t-mti-elf" - tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33 MIPS_ABI_DEFAULT=ABI_32" + tm_defines="${tm_defines} MIPS_ISA_DEFAULT=MIPS_ISA_MIPS32R2 MIPS_ABI_DEFAULT=ABI_32" with_arch_32="mips32r2" with_arch_64="mips64r2" ;; mips*-img-elf*) tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/n32-elf.h mips/sde.h mips/mti-elf.h" tmake_file="mips/t-img-elf" - tm_defines="${tm_defines} MIPS_ISA_DEFAULT=37 MIPS_ABI_DEFAULT=ABI_32" + tm_defines="${tm_defines} MIPS_ISA_DEFAULT=MIPS_ISA_MIPS32R6 MIPS_ABI_DEFAULT=ABI_32" with_arch_32="mips32r6" with_arch_64="mips64r6" ;; @@ -2611,22 +2614,22 @@ mips*-sde-elf*) esac case ${target} in mipsisa32r6*) - tm_defines="MIPS_ISA_DEFAULT=37 MIPS_ABI_DEFAULT=ABI_32" + tm_defines="MIPS_ISA_DEFAULT=MIPS_ISA_MIPS32R6 MIPS_ABI_DEFAULT=ABI_32" ;; mipsisa32r2*) - tm_defines="MIPS_ISA_DEFAULT=33 MIPS_ABI_DEFAULT=ABI_32" + tm_defines="MIPS_ISA_DEFAULT=MIPS_ISA_MIPS32R2 MIPS_ABI_DEFAULT=ABI_32" ;; mipsisa32*) - tm_defines="MIPS_ISA_DEFAULT=32 MIPS_ABI_DEFAULT=ABI_32" + tm_defines="MIPS_ISA_DEFAULT=MIPS_ISA_MIPS32 MIPS_ABI_DEFAULT=ABI_32" ;; mipsisa64r6*) - tm_defines="MIPS_ISA_DEFAULT=69 MIPS_ABI_DEFAULT=ABI_N32" + tm_defines="MIPS_ISA_DEFAULT=MIPS_ISA_MIPS64R6 MIPS_ABI_DEFAULT=ABI_N32" ;; mipsisa64r2*) - tm_defines="MIPS_ISA_DEFAULT=65 MIPS_ABI_DEFAULT=ABI_N32" + tm_defines="MIPS_ISA_DEFAULT=MIPS_ISA_MIPS64R2 MIPS_ABI_DEFAULT=ABI_N32" ;; mipsisa64*) - tm_defines="MIPS_ISA_DEFAULT=64 MIPS_ABI_DEFAULT=ABI_N32" + tm_defines="MIPS_ISA_DEFAULT=MIPS_ISA_MIPS64 MIPS_ABI_DEFAULT=ABI_N32" ;; esac ;; @@ -2640,22 +2643,22 @@ mipsisa64r6-*-elf* | mipsisa64r6el-*-elf*) tmake_file="mips/t-isa3264" case ${target} in mipsisa32r6*) - tm_defines="${tm_defines} MIPS_ISA_DEFAULT=37" + tm_defines="${tm_defines} MIPS_ISA_DEFAULT=MIPS_ISA_MIPS32R6" ;; mipsisa32r2*) - tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33" + tm_defines="${tm_defines} MIPS_ISA_DEFAULT=MIPS_ISA_MIPS32R2" ;; mipsisa32*) - tm_defines="${tm_defines} MIPS_ISA_DEFAULT=32" + tm_defines="${tm_defines} MIPS_ISA_DEFAULT=MIPS_ISA_MIPS32" ;; mipsisa64r6*) - tm_defines="${tm_defines} MIPS_ISA_DEFAULT=69" + tm_defines="${tm_defines} MIPS_ISA_DEFAULT=MIPS_ISA_MIPS64R6" ;; mipsisa64r2*) - tm_defines="${tm_defines} MIPS_ISA_DEFAULT=65" + tm_defines="${tm_defines} MIPS_ISA_DEFAULT=MIPS_ISA_MIPS64R2" ;; mipsisa64*) - tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64" + tm_defines="${tm_defines} MIPS_ISA_DEFAULT=MIPS_ISA_MIPS64" ;; esac case ${target} in @@ -2675,12 +2678,12 @@ mipsisa64r6-*-elf* | mipsisa64r6el-*-elf*) mipsisa64sr71k-*-elf*) tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h" tmake_file=mips/t-sr71k - tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64 MIPS_CPU_STRING_DEFAULT=\\\"sr71000\\\" MIPS_ABI_DEFAULT=ABI_EABI" + tm_defines="${tm_defines} MIPS_ISA_DEFAULT=MIPS_ISA_MIPS64 MIPS_CPU_STRING_DEFAULT=\\\"sr71000\\\" MIPS_ABI_DEFAULT=ABI_EABI" ;; mipsisa64sb1-*-elf* | mipsisa64sb1el-*-elf*) tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h" tmake_file="mips/t-elf mips/t-sb1" - tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64 MIPS_CPU_STRING_DEFAULT=\\\"sb1\\\" MIPS_ABI_DEFAULT=ABI_O64" + tm_defines="${tm_defines} MIPS_ISA_DEFAULT=MIPS_ISA_MIPS64 MIPS_CPU_STRING_DEFAULT=\\\"sb1\\\" MIPS_ABI_DEFAULT=ABI_O64" ;; mips-*-elf* | mipsel-*-elf* | mipsr5900-*-elf* | mipsr5900el-*-elf*) tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h" @@ -2689,12 +2692,12 @@ mips-*-elf* | mipsel-*-elf* | mipsr5900-*-elf* | mipsr5900el-*-elf*) mips64r5900-*-elf* | mips64r5900el-*-elf*) tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/n32-elf.h" tmake_file="mips/t-elf" - tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_N32" + tm_defines="${tm_defines} MIPS_ISA_DEFAULT=MIPS_ISA_MIPS3 MIPS_ABI_DEFAULT=ABI_N32" ;; mips64-*-elf* | mips64el-*-elf*) tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h" tmake_file="mips/t-elf" - tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64" + tm_defines="${tm_defines} MIPS_ISA_DEFAULT=MIPS_ISA_MIPS3 MIPS_ABI_DEFAULT=ABI_O64" ;; mips64vr-*-elf* | mips64vrel-*-elf*) tm_file="elfos.h newlib-stdint.h ${tm_file} mips/vr.h mips/elf.h" @@ -2704,7 +2707,7 @@ mips64vr-*-elf* | mips64vrel-*-elf*) mips64orion-*-elf* | mips64orionel-*-elf*) tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elforion.h mips/elf.h" tmake_file="mips/t-elf" - tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64" + tm_defines="${tm_defines} MIPS_ISA_DEFAULT=MIPS_ISA_MIPS3 MIPS_ABI_DEFAULT=ABI_O64" ;; mips*-*-rtems*) tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/rtems.h rtems.h" @@ -2723,11 +2726,7 @@ mmix-knuth-mmixware) use_gcc_stdint=wrap ;; mn10300-*-*) - tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}" - if test x$stabs = xyes - then - tm_file="${tm_file} dbx.h" - fi + tm_file="elfos.h newlib-stdint.h ${tm_file}" use_collect2=no use_gcc_stdint=wrap ;; @@ -2878,7 +2877,6 @@ powerpc-*-darwin*) *-darwin8*) tmake_file="${tmake_file} ${cpu_type}/t-darwin32-biarch" tm_file="${tm_file} ${cpu_type}/darwin32-biarch.h" - tm_file="${tm_file} ${cpu_type}/darwin8.h" ;; *-darwin7*) tm_file="${tm_file} ${cpu_type}/darwin7.h" @@ -3098,22 +3096,26 @@ pru*-*-*) extra_objs="pru-pragma.o pru-passes.o" use_gcc_stdint=wrap ;; -rs6000-ibm-aix6.* | powerpc-ibm-aix6.*) - tm_file="${tm_file} rs6000/aix.h rs6000/aix61.h rs6000/xcoff.h rs6000/aix-stdint.h" +rs6000-ibm-aix7.1.* | powerpc-ibm-aix7.1.*) tmake_file="rs6000/t-aix52 t-slibgcc" + if test x$cpu_is_64bit = xyes; then + tm_file="${tm_file} rs6000/biarch64.h" + tmake_file="rs6000/t-aix64 t-slibgcc" + fi + tm_file="${tm_file} rs6000/aix.h rs6000/aix71.h rs6000/xcoff.h rs6000/aix-stdint.h" extra_options="${extra_options} rs6000/aix64.opt" use_collect2=yes thread_file='aix' use_gcc_stdint=wrap default_use_cxa_atexit=yes ;; -rs6000-ibm-aix7.1.* | powerpc-ibm-aix7.1.*) +rs6000-ibm-aix7.2.* | powerpc-ibm-aix7.2.*) tmake_file="rs6000/t-aix52 t-slibgcc" if test x$cpu_is_64bit = xyes; then tm_file="${tm_file} rs6000/biarch64.h" tmake_file="rs6000/t-aix64 t-slibgcc" fi - tm_file="${tm_file} rs6000/aix.h rs6000/aix71.h rs6000/xcoff.h rs6000/aix-stdint.h" + tm_file="${tm_file} rs6000/aix.h rs6000/aix72.h rs6000/xcoff.h rs6000/aix-stdint.h" extra_options="${extra_options} rs6000/aix64.opt" use_collect2=yes thread_file='aix' @@ -3126,7 +3128,7 @@ rs6000-ibm-aix[789].* | powerpc-ibm-aix[789].*) tm_file="${tm_file} rs6000/biarch64.h" tmake_file="rs6000/t-aix64 t-slibgcc" fi - tm_file="${tm_file} rs6000/aix.h rs6000/aix72.h rs6000/xcoff.h rs6000/aix-stdint.h" + tm_file="${tm_file} rs6000/aix.h rs6000/aix73.h rs6000/xcoff.h rs6000/aix-stdint.h" extra_options="${extra_options} rs6000/aix64.opt" use_collect2=yes thread_file='aix' @@ -3134,7 +3136,7 @@ rs6000-ibm-aix[789].* | powerpc-ibm-aix[789].*) default_use_cxa_atexit=yes ;; rl78-*-elf*) - tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}" + tm_file="elfos.h newlib-stdint.h ${tm_file}" target_has_targetm_common=no c_target_objs="rl78-c.o" cxx_target_objs="rl78-c.o" @@ -3475,7 +3477,7 @@ tilepro*-*-linux*) ;; v850-*-rtems*) target_cpu_default="TARGET_CPU_generic" - tm_file="dbxelf.h elfos.h v850/v850.h" + tm_file="elfos.h v850/v850.h" tm_file="${tm_file} v850/rtems.h rtems.h newlib-stdint.h" tmake_file="${tmake_file} v850/t-v850" tmake_file="${tmake_file} v850/t-rtems" @@ -3504,11 +3506,7 @@ v850*-*-*) target_cpu_default="TARGET_CPU_generic" ;; esac - tm_file="dbxelf.h elfos.h newlib-stdint.h v850/v850.h" - if test x$stabs = xyes - then - tm_file="${tm_file} dbx.h" - fi + tm_file="elfos.h newlib-stdint.h v850/v850.h" use_collect2=no c_target_objs="v850-c.o" cxx_target_objs="v850-c.o" @@ -3543,30 +3541,30 @@ xstormy16-*-elf) tmake_file="stormy16/t-stormy16" ;; xtensa*-*-elf*) - tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h xtensa/elf.h" + tm_file="${tm_file} elfos.h newlib-stdint.h xtensa/elf.h" extra_options="${extra_options} xtensa/elf.opt" ;; xtensa*-*-linux*) - tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h xtensa/linux.h" + tm_file="${tm_file} elfos.h gnu-user.h linux.h glibc-stdint.h xtensa/linux.h" tmake_file="${tmake_file} xtensa/t-xtensa" ;; xtensa*-*-uclinux*) - tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h xtensa/uclinux.h" + tm_file="${tm_file} elfos.h gnu-user.h linux.h glibc-stdint.h xtensa/uclinux.h" tmake_file="${tmake_file} xtensa/t-xtensa" extra_options="${extra_options} xtensa/uclinux.opt" ;; am33_2.0-*-linux*) - tm_file="mn10300/mn10300.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h mn10300/linux.h" + tm_file="mn10300/mn10300.h elfos.h gnu-user.h linux.h glibc-stdint.h mn10300/linux.h" gas=yes gnu_ld=yes use_collect2=no ;; m32c-*-rtems*) - tm_file="dbxelf.h elfos.h ${tm_file} m32c/rtems.h rtems.h newlib-stdint.h" + tm_file="elfos.h ${tm_file} m32c/rtems.h rtems.h newlib-stdint.h" c_target_objs="m32c-pragma.o" cxx_target_objs="m32c-pragma.o" ;; m32c-*-elf*) - tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}" + tm_file="elfos.h newlib-stdint.h ${tm_file}" c_target_objs="m32c-pragma.o" cxx_target_objs="m32c-pragma.o" ;; @@ -4281,18 +4279,52 @@ case "${target}" in ;; arc*-*-*) - supported_defaults="cpu" + supported_defaults="cpu fpu" + new_cpu=hs38_linux if [ x"$with_cpu" = x ] \ - || grep "^ARC_CPU ($with_cpu," \ - ${srcdir}/config/arc/arc-cpus.def \ - > /dev/null; then + || grep -q -E "^ARC_CPU[[:blank:]]*\($with_cpu," \ + ${srcdir}/config/arc/arc-cpus.def + then # Ok - true + new_cpu=$with_cpu else echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2 exit 1 fi + + # see if --with-fpu matches any of the supported FPUs + case "$with_fpu" in + "") + # OK + ;; + fpus | fpus_div | fpus_fma | fpus_all) + # OK if em or hs + flags_ok="[emhs]+" + ;; + fpuda | fpuda_div | fpuda_fma | fpuda_all) + # OK only em + flags_ok="em" + ;; + fpud | fpud_div | fpud_fma | fpud_all) + # OK only hs + flags_ok="hs" + ;; + *) + echo "Unknown floating point type used in "\ + "--with-fpu=$with_fpu" 1>&2 + exit 1 + ;; + esac + + if [ -n "$flags_ok" ] \ + && ! grep -q -E "^ARC_CPU[[:blank:]]*\($new_cpu,[[:blank:]]*$flags_ok," \ + ${srcdir}/config/arc/arc-cpus.def + then + echo "Unknown floating point type used in "\ + "--with-fpu=$with_fpu for cpu $new_cpu" 1>&2 + exit 1 + fi ;; csky-*-*) @@ -4628,14 +4660,7 @@ case "${target}" in tm_defines="${tm_defines} TARGET_RISCV_ATTRIBUTE=0" ;; ""|default) - case "${target}" in - riscv*-*-elf*) - tm_defines="${tm_defines} TARGET_RISCV_ATTRIBUTE=1" - ;; - *) - tm_defines="${tm_defines} TARGET_RISCV_ATTRIBUTE=0" - ;; - esac + tm_defines="${tm_defines} TARGET_RISCV_ATTRIBUTE=1" ;; *) echo "--with-riscv-attribute=${with_riscv_attribute} is not supported. The argument must begin with yes, no or default." 1>&2 @@ -5328,16 +5353,16 @@ case ${target} in default_mips_abi=$with_abi fi case ${default_mips_arch} in - mips1) tm_defines="$tm_defines MIPS_ISA_DEFAULT=1" ;; - mips2) tm_defines="$tm_defines MIPS_ISA_DEFAULT=2" ;; - mips3) tm_defines="$tm_defines MIPS_ISA_DEFAULT=3" ;; - mips4) tm_defines="$tm_defines MIPS_ISA_DEFAULT=4" ;; - mips32) tm_defines="$tm_defines MIPS_ISA_DEFAULT=32" ;; - mips32r2) tm_defines="$tm_defines MIPS_ISA_DEFAULT=33" ;; - mips32r6) tm_defines="$tm_defines MIPS_ISA_DEFAULT=37" ;; - mips64) tm_defines="$tm_defines MIPS_ISA_DEFAULT=64" ;; - mips64r2) tm_defines="$tm_defines MIPS_ISA_DEFAULT=65" ;; - mips64r6) tm_defines="$tm_defines MIPS_ISA_DEFAULT=69" ;; + mips1) tm_defines="$tm_defines MIPS_ISA_DEFAULT=MIPS_ISA_MIPS1" ;; + mips2) tm_defines="$tm_defines MIPS_ISA_DEFAULT=MIPS_ISA_MIPS2" ;; + mips3) tm_defines="$tm_defines MIPS_ISA_DEFAULT=MIPS_ISA_MIPS3" ;; + mips4) tm_defines="$tm_defines MIPS_ISA_DEFAULT=MIPS_ISA_MIPS4" ;; + mips32) tm_defines="$tm_defines MIPS_ISA_DEFAULT=MIPS_ISA_MIPS32" ;; + mips32r2) tm_defines="$tm_defines MIPS_ISA_DEFAULT=MIPS_ISA_MIPS32R2" ;; + mips32r6) tm_defines="$tm_defines MIPS_ISA_DEFAULT=MIPS_ISA_MIPS32R6" ;; + mips64) tm_defines="$tm_defines MIPS_ISA_DEFAULT=MIPS_ISA_MIPS64" ;; + mips64r2) tm_defines="$tm_defines MIPS_ISA_DEFAULT=MIPS_ISA_MIPS64R2" ;; + mips64r6) tm_defines="$tm_defines MIPS_ISA_DEFAULT=MIPS_ISA_MIPS64R6" ;; esac case ${default_mips_abi} in 32) tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_32" ;; |