X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=gcc%2Fconfig.gcc;h=7bbf5464073c0bf9b954baa2fb831a4f0fc5ffd3;hb=b20e75328b83d1c67f354996cd6b744ae5cfc91d;hp=0dfc08fc0f19ff27d2636db50d7fdeaf503d922b;hpb=82a19768cb55aa06dc6aac858012cf40125a3d9f;p=platform%2Fupstream%2Fgcc.git diff --git a/gcc/config.gcc b/gcc/config.gcc index 0dfc08f..7bbf546 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -1,5 +1,5 @@ # GCC target-specific configuration file. -# Copyright (C) 1997-2015 Free Software Foundation, Inc. +# Copyright (C) 1997-2016 Free Software Foundation, Inc. #This file is part of GCC. @@ -236,7 +236,6 @@ md_file= # Obsolete configurations. case ${target} in -# Currently there are no obsolete targets. nothing \ ) if test "x$enable_obsolete" != xyes; then @@ -301,8 +300,10 @@ m32c*-*-*) ;; aarch64*-*-*) cpu_type=aarch64 - extra_headers="arm_neon.h arm_acle.h" - extra_objs="aarch64-builtins.o aarch-common.o" + extra_headers="arm_fp16.h arm_neon.h arm_acle.h" + c_target_objs="aarch64-c.o" + cxx_target_objs="aarch64-c.o" + extra_objs="aarch64-builtins.o aarch-common.o cortex-a57-fma-steering.o" target_gtfiles="\$(srcdir)/config/aarch64/aarch64-builtins.c" target_has_targetm_common=yes ;; @@ -315,11 +316,13 @@ am33_2.0-*-linux*) ;; arc*-*-*) cpu_type=arc + c_target_objs="arc-c.o" + cxx_target_objs="arc-c.o" ;; arm*-*-*) cpu_type=arm extra_objs="arm-builtins.o aarch-common.o" - extra_headers="mmintrin.h arm_neon.h arm_acle.h" + extra_headers="mmintrin.h arm_neon.h arm_acle.h arm_fp16.h" target_type_format_char='%' c_target_objs="arm-c.o" cxx_target_objs="arm-c.o" @@ -330,7 +333,6 @@ avr-*-*) cpu_type=avr c_target_objs="avr-c.o" cxx_target_objs="avr-c.o" - extra_options="${extra_options} avr/avr-tables.opt" ;; bfin*-*) cpu_type=bfin @@ -341,6 +343,9 @@ crisv32-*) frv*) cpu_type=frv extra_options="${extra_options} g.opt" ;; +ft32*) cpu_type=ft32 + target_has_targetm_common=no + ;; moxie*) cpu_type=moxie target_has_targetm_common=no ;; @@ -368,7 +373,8 @@ i[34567]86-*-*) xsavesintrin.h avx512dqintrin.h avx512bwintrin.h avx512vlintrin.h avx512vlbwintrin.h avx512vldqintrin.h avx512ifmaintrin.h avx512ifmavlintrin.h avx512vbmiintrin.h - avx512vbmivlintrin.h clwbintrin.h pcommitintrin.h" + avx512vbmivlintrin.h clwbintrin.h mwaitxintrin.h + clzerointrin.h pkuintrin.h" ;; x86_64-*-*) cpu_type=i386 @@ -389,7 +395,8 @@ x86_64-*-*) xsavesintrin.h avx512dqintrin.h avx512bwintrin.h avx512vlintrin.h avx512vlbwintrin.h avx512vldqintrin.h avx512ifmaintrin.h avx512ifmavlintrin.h avx512vbmiintrin.h - avx512vbmivlintrin.h clwbintrin.h pcommitintrin.h" + avx512vbmivlintrin.h clwbintrin.h mwaitxintrin.h + clzerointrin.h pkuintrin.h" ;; ia64-*-*) extra_headers=ia64intrin.h @@ -415,8 +422,9 @@ microblaze*-*-*) ;; mips*-*-*) cpu_type=mips - extra_headers="loongson.h" - extra_options="${extra_options} g.opt mips/mips-tables.opt" + extra_headers="loongson.h msa.h" + extra_objs="frame-header-opt.o" + extra_options="${extra_options} g.opt fused-madd.opt mips/mips-tables.opt" ;; nds32*) cpu_type=nds32 @@ -434,7 +442,7 @@ powerpc*-*-*) cpu_type=rs6000 extra_headers="ppc-asm.h altivec.h spe.h ppu_intrinsics.h paired.h spu2vmx.h vec_types.h si2vmx.h htmintrin.h htmxlintrin.h" case x$with_cpu in - xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[345678]|xpower6x|xrs64a|xcell|xa2|xe500mc64|xe5500|Xe6500) + xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[3456789]|xpower6x|xrs64a|xcell|xa2|xe500mc64|xe5500|xe6500) cpu_is_64bit=yes ;; esac @@ -455,7 +463,7 @@ spu*-*-*) s390*-*-*) cpu_type=s390 extra_options="${extra_options} fused-madd.opt" - extra_headers="s390intrin.h htmintrin.h htmxlintrin.h" + extra_headers="s390intrin.h htmintrin.h htmxlintrin.h vecintrin.h" ;; # Note the 'l'; we need to be able to match e.g. "shle" or "shl". sh[123456789lbe]*-*-* | sh-*-*) @@ -576,22 +584,22 @@ case ${target} in esac # Common C libraries. -tm_defines="$tm_defines LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3" +tm_defines="$tm_defines LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3 LIBC_MUSL=4" # 32-bit x86 processors supported by --with-arch=. Each processor # MUST be separated by exactly one space. x86_archs="athlon athlon-4 athlon-fx athlon-mp athlon-tbird \ athlon-xp k6 k6-2 k6-3 geode c3 c3-2 winchip-c6 winchip2 i386 i486 \ i586 i686 pentium pentium-m pentium-mmx pentium2 pentium3 pentium3m \ -pentium4 pentium4m pentiumpro prescott" +pentium4 pentium4m pentiumpro prescott lakemont" # 64-bit x86 processors supported by --with-arch=. Each processor # MUST be separated by exactly one space. x86_64_archs="amdfam10 athlon64 athlon64-sse3 barcelona bdver1 bdver2 \ -bdver3 bdver4 btver1 btver2 k8 k8-sse3 opteron opteron-sse3 nocona \ +bdver3 bdver4 znver1 btver1 btver2 k8 k8-sse3 opteron opteron-sse3 nocona \ core2 corei7 corei7-avx core-avx-i core-avx2 atom slm nehalem westmere \ -sandybridge ivybridge haswell broadwell bonnell silvermont knl x86-64 \ -native" +sandybridge ivybridge haswell broadwell bonnell silvermont knl \ +skylake-avx512 x86-64 native" # Additional x86 processors supported by --with-cpu=. Each processor # MUST be separated by exactly one space. @@ -606,9 +614,12 @@ case ${target} in *-*-darwin9*) tm_file="${tm_file} darwin9.h" ;; - *-*-darwin[12][0-9]*) + *-*-darwin[1][01]*) tm_file="${tm_file} darwin9.h darwin10.h" ;; + *-*-darwin[1][2-9]* | *-*-darwin[2][0-9]*) + tm_file="${tm_file} darwin9.h darwin10.h darwin12.h" + ;; esac tm_file="${tm_file} ${cpu_type}/darwin.h" tm_p_file="${tm_p_file} darwin-protos.h" @@ -665,6 +676,11 @@ case ${target} in gas=yes gnu_ld=yes fbsd_major=`echo ${target} | sed -e 's/.*freebsd//g' | sed -e 's/\..*//g'` + if test "$fbsd_major" = ""; then + echo "Specify the major version number of the targeted FreeBSD release" + echo "like this: --target=amd64-unknown-freebsd10.1" + exit 1 + fi tm_defines="${tm_defines} FBSD_MAJOR=${fbsd_major}" tmake_file="t-slibgcc" case ${enable_threads} in @@ -689,7 +705,7 @@ case ${target} in esac use_gcc_stdint=wrap ;; -*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu) +*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu) extra_options="$extra_options gnu-user.opt" gas=yes gnu_ld=yes @@ -698,7 +714,7 @@ case ${target} in esac tmake_file="t-slibgcc" case $target in - *-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-kopensolaris*-gnu) + *-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-kopensolaris*-gnu) :;; *-*-gnu*) native_system_header_dir=/include @@ -721,6 +737,9 @@ case ${target} in *-*-*uclibc*) tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC" ;; + *-*-*musl*) + tm_defines="$tm_defines DEFAULT_LIBC=LIBC_MUSL" + ;; *) tm_defines="$tm_defines DEFAULT_LIBC=LIBC_GLIBC" ;; @@ -782,15 +801,16 @@ case ${target} in ;; esac case ${target} in - *-*-openbsd2.*|*-*-openbsd3.[012]) - tm_defines="${tm_defines} HAS_LIBC_R=1" ;; - esac - case ${target} in *-*-openbsd4.[3-9]|*-*-openbsd[5-9]*) default_use_cxa_atexit=yes ;; esac ;; +*-*-phoenix*) + gas=yes + gnu_ld=yes + default_use_cxa_atexit=yes + ;; *-*-rtems*) case ${enable_threads} in "" | yes | rtems) thread_file='rtems' ;; @@ -820,6 +840,12 @@ case ${target} in sol2_tm_file_head="dbxelf.h elfos.h ${cpu_type}/sysv4.h" sol2_tm_file_tail="${cpu_type}/sol2.h sol2.h" sol2_tm_file="${sol2_tm_file_head} ${sol2_tm_file_tail}" + case ${target} in + *-*-solaris2.1[2-9]*) + # __cxa_atexit was introduced in Solaris 12. + default_use_cxa_atexit=yes + ;; + esac use_gcc_stdint=wrap if test x$gnu_ld = xyes; then tm_file="usegld.h ${tm_file}" @@ -877,11 +903,18 @@ case ${target} in esac case ${target} in -aarch64*-*-elf) +aarch64*-*-elf | aarch64*-*-rtems*) tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h" tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-elf-raw.h" tmake_file="${tmake_file} aarch64/t-aarch64" - use_gcc_stdint=wrap + case $target in + aarch64-*-elf*) + use_gcc_stdint=wrap + ;; + aarch64-*-rtems*) + tm_file="${tm_file} rtems.h aarch64/rtems.h" + ;; + esac case $target in aarch64_be-*) tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1" @@ -904,6 +937,11 @@ aarch64*-*-elf) done TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'` ;; +aarch64*-*-freebsd*) + tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file}" + tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-freebsd.h" + tmake_file="${tmake_file} aarch64/t-aarch64 aarch64/t-aarch64-freebsd" + ;; aarch64*-*-linux*) tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h" tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-linux.h" @@ -1021,11 +1059,9 @@ arm*-*-freebsd*) # ARM FreeBSD EABI case $target in armv6*-*-freebsd*) tm_defines="${tm_defines} TARGET_FREEBSD_ARMv6=1" - ;; - esac - case $target in - arm*hf-*-freebsd*) - tm_defines="${tm_defines} TARGET_FREEBSD_ARM_HARD_FLOAT=1" + if test $fbsd_major -ge 11; then + tm_defines="${tm_defines} TARGET_FREEBSD_ARM_HARD_FLOAT=1" + fi ;; esac with_tls=${with_tls:-gnu} @@ -1062,6 +1098,12 @@ arm*-*-uclinux*eabi*) # ARM ucLinux # The EABI requires the use of __cxa_atexit. default_use_cxa_atexit=yes ;; +arm*-*-phoenix*) + tm_file="elfos.h arm/unknown-elf.h arm/elf.h arm/bpabi.h" + tm_file="${tm_file} newlib-stdint.h phoenix.h" + tm_file="${tm_file} arm/aout.h arm/arm.h" + tmake_file="${tmake_file} arm/t-arm arm/t-bpabi arm/t-phoenix" + ;; arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*) case ${target} in arm*eb-*-eabi*) @@ -1089,14 +1131,8 @@ arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*) esac tm_file="${tm_file} arm/aout.h vxworks-dummy.h arm/arm.h" ;; -avr-*-rtems*) - tm_file="elfos.h avr/elf.h avr/avr-arch.h avr/avr.h dbxelf.h avr/rtems.h rtems.h newlib-stdint.h" - tmake_file="${tmake_file} avr/t-avr avr/t-multilib avr/t-rtems" - extra_gcc_objs="driver-avr.o avr-devices.o" - extra_objs="avr-devices.o avr-log.o" - ;; avr-*-*) - tm_file="elfos.h avr/elf.h avr/avr-arch.h avr/avr.h dbxelf.h avr/avr-stdint.h" + tm_file="elfos.h avr/elf.h avr/avr-arch.h avr/avr.h avr/specs.h dbxelf.h avr/avr-stdint.h" if test x${with_avrlibc} != xno; then tm_file="${tm_file} ${cpu_type}/avrlibc.h" tm_defines="${tm_defines} WITH_AVRLIBC" @@ -1118,7 +1154,7 @@ bfin*-uclinux*) ;; bfin*-linux-uclibc*) tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h gnu-user.h linux.h glibc-stdint.h bfin/linux.h ./linux-sysroot-suffix.h" - tmake_file="bfin/t-bfin-linux t-slibgcc t-linux" + tmake_file="${tmake_file} bfin/t-bfin-linux" use_collect2=no ;; bfin*-rtems*) @@ -1131,7 +1167,7 @@ bfin*-*) use_gcc_stdint=wrap ;; cr16-*-elf) - tm_file="elfos.h ${tm_file}" + tm_file="elfos.h ${tm_file} newlib-stdint.h" tmake_file="${tmake_file} cr16/t-cr16 " use_collect2=no ;; @@ -1183,6 +1219,12 @@ frv-*-*linux*) gnu-user.h linux.h glibc-stdint.h frv/linux.h" tmake_file="${tmake_file} frv/t-frv frv/t-linux" ;; +ft32-*-elf) + gas=yes + gnu_ld=yes + tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}" + tmake_file="${tmake_file} ft32/t-ft32" + ;; moxie-*-elf) gas=yes gnu_ld=yes @@ -1205,14 +1247,14 @@ moxie-*-moxiebox*) tm_file="${tm_file} dbxelf.h elfos.h moxie/moxiebox.h newlib-stdint.h" tmake_file="${tmake_file} moxie/t-moxiebox" ;; -h8300-*-rtems*) - tmake_file="${tmake_file} h8300/t-h8300 h8300/t-rtems" - tm_file="h8300/h8300.h dbxelf.h elfos.h h8300/elf.h h8300/rtems.h rtems.h newlib-stdint.h" - ;; h8300-*-elf*) tmake_file="h8300/t-h8300" tm_file="h8300/h8300.h dbxelf.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" + ;; hppa*64*-*-linux*) target_cpu_default="MASK_PA_11|MASK_PA_20" tm_file="pa/pa64-start.h ${tm_file} dbxelf.h elfos.h gnu-user.h linux.h \ @@ -1365,12 +1407,18 @@ x86_64-*-darwin*) tmake_file="${tmake_file} ${cpu_type}/t-darwin64 t-slibgcc" tm_file="${tm_file} ${cpu_type}/darwin64.h" ;; +i[34567]86-*-elfiamcu) + tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/iamcu.h" + ;; i[34567]86-*-elf*) tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h" ;; x86_64-*-elf*) tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/x86-64.h" ;; +x86_64-*-rtems*) + 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/rtems-64.h" + ;; i[34567]86-*-rdos*) tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/rdos.h" ;; @@ -1400,14 +1448,6 @@ x86_64-*-netbsd*) tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/x86-64.h i386/netbsd64.h" extra_options="${extra_options} netbsd.opt netbsd-elf.opt" ;; -i[34567]86-*-openbsd2.*|i[34567]86-*openbsd3.[0123]) - tm_file="i386/i386.h i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h openbsd-oldgas.h openbsd.h i386/openbsd.h" - extra_options="${extra_options} openbsd.opt" - # needed to unconfuse gdb - tmake_file="${tmake_file} t-openbsd i386/t-openbsd" - # we need collect2 until our bug is fixed... - use_collect2=yes - ;; i[34567]86-*-openbsd*) tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h" tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h i386/openbsdelf.h" @@ -1422,7 +1462,7 @@ x86_64-*-openbsd*) gas=yes gnu_ld=yes ;; -i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu | i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu) +i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu) # Intel 80386's running GNU/* # with ELF format using glibc 2 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h gnu-user.h glibc-stdint.h" @@ -1432,7 +1472,7 @@ i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu | i extra_options="${extra_options} linux-android.opt" # Assume modern glibc if not targeting Android nor uclibc. case ${target} in - *-*-*android*|*-*-*uclibc*) + *-*-*android*|*-*-*uclibc*|*-*-*musl*) ;; *) default_gnu_indirect_function=yes @@ -1478,9 +1518,6 @@ i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu | i tm_file="${tm_file} i386/gnu-user-common.h i386/gnu-user.h i386/linux-common.h i386/linux.h" fi ;; - i[34567]86-*-knetbsd*-gnu) - tm_file="${tm_file} i386/gnu-user-common.h i386/gnu-user.h knetbsd-gnu.h i386/knetbsd-gnu.h" - ;; i[34567]86-*-kfreebsd*-gnu) tm_file="${tm_file} i386/gnu-user-common.h i386/gnu-user.h kfreebsd-gnu.h i386/kfreebsd-gnu.h" ;; @@ -1492,7 +1529,7 @@ i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu | i ;; esac ;; -x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu) +x86_64-*-linux* | x86_64-*-kfreebsd*-gnu) tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h gnu-user.h glibc-stdint.h \ i386/x86-64.h i386/gnu-user-common.h i386/gnu-user64.h" case ${target} in @@ -1501,7 +1538,7 @@ x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu) extra_options="${extra_options} linux-android.opt" # Assume modern glibc if not targeting Android nor uclibc. case ${target} in - *-*-*android*|*-*-*uclibc*) + *-*-*android*|*-*-*uclibc*|*-*-*musl*) ;; *) default_gnu_indirect_function=yes @@ -1511,9 +1548,6 @@ x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu) x86_64-*-kfreebsd*-gnu) tm_file="${tm_file} kfreebsd-gnu.h i386/kfreebsd-gnu64.h" ;; - x86_64-*-knetbsd*-gnu) - tm_file="${tm_file} knetbsd-gnu.h" - ;; esac tmake_file="${tmake_file} i386/t-linux64" x86_multilibs="${with_multilib_list}" @@ -1726,19 +1760,6 @@ i[34567]86-*-mingw* | x86_64-*-mingw*) ;; esac ;; -i[34567]86-*-interix[3-9]*) - tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/i386-interix.h" - tmake_file="${tmake_file} i386/t-interix" - extra_options="${extra_options} rpath.opt i386/interix.opt" - extra_objs="winnt.o winnt-stubs.o" - target_gtfiles="\$(srcdir)/config/i386/winnt.c" - if test x$enable_threads = xyes ; then - thread_file='posix' - fi - if test x$stabs = xyes ; then - tm_file="${tm_file} dbxcoff.h" - fi - ;; ia64*-*-elf*) tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h ia64/sysv4.h ia64/elf.h" tmake_file="ia64/t-ia64" @@ -1799,7 +1820,7 @@ iq2000*-*-elf*) md_file=iq2000/iq2000.md ;; lm32-*-elf*) - tm_file="dbxelf.h elfos.h ${tm_file}" + tm_file="dbxelf.h elfos.h ${tm_file} newlib-stdint.h" tmake_file="${tmake_file} lm32/t-lm32" ;; lm32-*-rtems*) @@ -1817,10 +1838,6 @@ m32r-*-elf*) m32rle-*-elf*) tm_file="dbxelf.h elfos.h newlib-stdint.h m32r/little.h ${tm_file}" ;; -m32r-*-rtems*) - tm_file="dbxelf.h elfos.h ${tm_file} m32r/rtems.h rtems.h newlib-stdint.h" - tmake_file="${tmake_file} m32r/t-m32r" - ;; 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" @@ -1919,17 +1936,6 @@ mcore-*-elf) tmake_file=mcore/t-mcore inhibit_libc=true ;; -mep-*-*) - tm_file="dbxelf.h elfos.h ${tm_file}" - tmake_file=mep/t-mep - c_target_objs="mep-pragma.o" - cxx_target_objs="mep-pragma.o" - if test -d "${srcdir}/../newlib/libc/include" && - test "x$with_headers" = x; then - with_headers=yes - fi - use_gcc_stdint=wrap - ;; microblaze*-linux*) case $target in microblazeel-*) @@ -1986,6 +1992,8 @@ mips*-img-linux*) 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" + with_arch_32="mips32r6" + with_arch_64="mips64r6" gnu_ld=yes gas=yes ;; @@ -1994,6 +2002,8 @@ mips*-mti-linux*) 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" + with_arch_32="mips32r2" + with_arch_64="mips64r2" gnu_ld=yes gas=yes ;; @@ -2048,11 +2058,15 @@ 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" + 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" + with_arch_32="mips32r6" + with_arch_64="mips64r6" ;; mips*-sde-elf*) tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/n32-elf.h mips/sde.h" @@ -2200,6 +2214,7 @@ msp430*-*-*) c_target_objs="msp430-c.o" cxx_target_objs="msp430-c.o" tmake_file="${tmake_file} msp430/t-msp430" + extra_gcc_objs="driver-msp430.o" ;; nds32le-*-*) target_cpu_default="0" @@ -2233,6 +2248,10 @@ nios2-*-*) nvptx-*) tm_file="${tm_file} newlib-stdint.h" tmake_file="nvptx/t-nvptx" + if test x$enable_as_accelerator = xyes; then + extra_programs="${extra_programs} mkoffload\$(exeext)" + tm_file="${tm_file} nvptx/offload.h" + fi ;; pdp11-*-*) tm_file="${tm_file} newlib-stdint.h" @@ -2335,28 +2354,33 @@ powerpc-*-rtems*) powerpc*-*-linux*) tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h freebsd-spec.h rs6000/sysv4.h" extra_options="${extra_options} rs6000/sysv4.opt" - tmake_file="rs6000/t-fprules rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm" + tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-ppccomm" extra_objs="$extra_objs rs6000-linux.o" case ${target} in powerpc*le-*-*) tm_file="${tm_file} rs6000/sysv4le.h" ;; esac - maybe_biarch=yes + case ${target}:${with_cpu} in + powerpc64*: | powerpc64*:native) cpu_is_64bit=yes ;; + esac + maybe_biarch=${cpu_is_64bit} + case ${enable_targets} in + *powerpc64*) maybe_biarch=yes ;; + all) maybe_biarch=yes ;; + esac case ${target} in powerpc64*-*-linux*spe* | powerpc64*-*-linux*paired*) - echo "*** Configuration ${target} not supported" 1>&2 + echo "*** Configuration ${target} not supported" 1>&2 exit 1 ;; powerpc*-*-linux*spe* | powerpc*-*-linux*paired*) maybe_biarch= ;; - powerpc64*-*-linux*) - test x$with_cpu != x || cpu_is_64bit=yes - maybe_biarch=always - ;; esac - case ${maybe_biarch}:${enable_targets}:${cpu_is_64bit} in - always:* | yes:*powerpc64* | yes:all:* | yes:*:yes) + case ${target}:${enable_targets}:${maybe_biarch} in + powerpc64-* | powerpc-*:*:yes | *:*powerpc64-*:yes | *:all:yes \ + | powerpc64le*:*powerpcle* | powerpc64le*:*powerpc-* \ + | powerpcle-*:*powerpc64le*:yes) if test x$cpu_is_64bit = xyes; then tm_file="${tm_file} rs6000/default64.h" fi @@ -2377,9 +2401,14 @@ powerpc*-*-linux*) esac extra_options="${extra_options} rs6000/linux64.opt" ;; + powerpc64*) + tm_file="${tm_file} rs6000/default64.h rs6000/linux64.h glibc-stdint.h" + extra_options="${extra_options} rs6000/linux64.opt" + tmake_file="${tmake_file} rs6000/t-linux" + ;; *) tm_file="${tm_file} rs6000/linux.h glibc-stdint.h" - tmake_file="$tmake_file rs6000/t-linux" + tmake_file="${tmake_file} rs6000/t-ppcos rs6000/t-linux" ;; esac case ${target} in @@ -2393,6 +2422,10 @@ powerpc*-*-linux*) powerpc*-*-linux*paired*) tm_file="${tm_file} rs6000/750cl.h" ;; esac + case ${target} in + *-linux*-musl*) + enable_secureplt=yes ;; + esac if test x${enable_secureplt} = xyes; then tm_file="rs6000/secureplt.h ${tm_file}" fi @@ -2478,7 +2511,7 @@ rs6000-ibm-aix5.3.* | powerpc-ibm-aix5.3.*) use_gcc_stdint=wrap extra_headers=altivec.h ;; -rs6000-ibm-aix[6789].* | powerpc-ibm-aix[6789].*) +rs6000-ibm-aix6.* | powerpc-ibm-aix6.*) tm_file="${tm_file} rs6000/aix.h rs6000/aix61.h rs6000/xcoff.h rs6000/aix-stdint.h" tmake_file="rs6000/t-aix52 t-slibgcc" extra_options="${extra_options} rs6000/aix64.opt" @@ -2486,6 +2519,17 @@ rs6000-ibm-aix[6789].* | powerpc-ibm-aix[6789].*) thread_file='aix' use_gcc_stdint=wrap extra_headers=altivec.h + default_use_cxa_atexit=yes + ;; +rs6000-ibm-aix[789].* | powerpc-ibm-aix[789].*) + tm_file="${tm_file} rs6000/aix.h rs6000/aix71.h rs6000/xcoff.h rs6000/aix-stdint.h" + tmake_file="rs6000/t-aix52 t-slibgcc" + extra_options="${extra_options} rs6000/aix64.opt" + use_collect2=yes + thread_file='aix' + use_gcc_stdint=wrap + extra_headers=altivec.h + default_use_cxa_atexit=yes ;; rl78-*-elf*) tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}" @@ -2501,40 +2545,47 @@ rx-*-elf*) s390-*-linux*) default_gnu_indirect_function=yes tm_file="s390/s390.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h s390/linux.h" + c_target_objs="${c_target_objs} s390-c.o" + cxx_target_objs="${cxx_target_objs} s390-c.o" if test x$enable_targets = xall; then tmake_file="${tmake_file} s390/t-linux64" fi + tmake_file="${tmake_file} s390/t-s390" ;; s390x-*-linux*) default_gnu_indirect_function=yes tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h s390/linux.h" tm_p_file="linux-protos.h s390/s390-protos.h" + c_target_objs="${c_target_objs} s390-c.o" + cxx_target_objs="${cxx_target_objs} s390-c.o" md_file=s390/s390.md extra_modes=s390/s390-modes.def out_file=s390/s390.c - tmake_file="${tmake_file} s390/t-linux64" + tmake_file="${tmake_file} s390/t-linux64 s390/t-s390" ;; s390x-ibm-tpf*) - tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h s390/tpf.h" - tm_p_file=s390/s390-protos.h - md_file=s390/s390.md - extra_modes=s390/s390-modes.def - out_file=s390/s390.c - thread_file='tpf' + tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h s390/tpf.h" + tm_p_file=s390/s390-protos.h + c_target_objs="${c_target_objs} s390-c.o" + cxx_target_objs="${cxx_target_objs} s390-c.o" + md_file=s390/s390.md + extra_modes=s390/s390-modes.def + out_file=s390/s390.c + thread_file='tpf' extra_options="${extra_options} s390/tpf.opt" + tmake_file="${tmake_file} s390/t-s390" ;; sh-*-elf* | sh[12346l]*-*-elf* | \ sh-*-linux* | sh[2346lbe]*-*-linux* | \ - sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \ - sh64-*-netbsd* | sh64l*-*-netbsd*) + sh-*-netbsdelf* | shl*-*-netbsdelf*) tmake_file="${tmake_file} sh/t-sh sh/t-elf" if test x${with_endian} = x; then case ${target} in sh[1234]*be-*-* | sh[1234]*eb-*-*) with_endian=big ;; shbe-*-* | sheb-*-*) with_endian=big,little ;; sh[1234]l* | sh[34]*-*-linux*) with_endian=little ;; - shl* | sh64l* | sh*-*-linux* | \ - sh5l* | sh-superh-elf) with_endian=little,big ;; + shl* | sh*-*-linux* | \ + sh-superh-elf) with_endian=little,big ;; sh[1234]*-*-*) with_endian=big ;; *) with_endian=big,little ;; esac @@ -2555,6 +2606,9 @@ sh-*-elf* | sh[12346l]*-*-elf* | \ tm_file="${tm_file} dbxelf.h elfos.h sh/elf.h" case ${target} in sh*-*-linux*) tmake_file="${tmake_file} sh/t-linux" + if test x$enable_fdpic = xyes; then + tm_defines="$tm_defines FDPIC_DEFAULT=1" + fi tm_file="${tm_file} gnu-user.h linux.h glibc-stdint.h sh/linux.h" ;; sh*-*-netbsd*) tm_file="${tm_file} netbsd.h netbsd-elf.h sh/netbsd-elf.h" @@ -2575,37 +2629,14 @@ sh-*-elf* | sh[12346l]*-*-elf* | \ tm_file="${tm_file} sh/embed-elf.h" ;; esac case ${target} in - sh5*-*-netbsd*) - # SHmedia, 32-bit ABI - tmake_file="${tmake_file} sh/t-sh64" - ;; - sh64*-netbsd*) - # SHmedia, 64-bit ABI - tmake_file="${tmake_file} sh/t-sh64 sh/t-netbsd-sh5-64" - ;; *-*-netbsd) ;; - sh64*-*-linux*) - tmake_file="${tmake_file} sh/t-sh64" - tm_file="${tm_file} sh/sh64.h" - extra_headers="shmedia.h ushmedia.h sshmedia.h" - ;; - sh64*) - tmake_file="${tmake_file} sh/t-sh64" - tm_file="${tm_file} sh/sh64.h" - if test x$with_newlib = xyes; then - tm_file="${tm_file} newlib-stdint.h" - fi - extra_headers="shmedia.h ushmedia.h sshmedia.h" - ;; *-*-elf*) tm_file="${tm_file} newlib-stdint.h" ;; esac # sed el/eb endian suffixes away to avoid confusion with sh[23]e case `echo ${target} | sed 's/e[lb]-/-/'` in - sh64*-*-netbsd*) sh_cpu_target=sh5-64media ;; - sh64* | sh5*-*-netbsd*) sh_cpu_target=sh5-32media ;; sh4a_single_only*) sh_cpu_target=sh4a-single-only ;; sh4a_single*) sh_cpu_target=sh4a-single ;; sh4a_nofpu*) sh_cpu_target=sh4a-nofpu ;; @@ -2628,7 +2659,6 @@ sh-*-elf* | sh[12346l]*-*-elf* | \ # did the user say --without-fp ? if test x$with_fp = xno; then case ${sh_cpu_target} in - sh5-*media) sh_cpu_target=${sh_cpu_target}-nofpu ;; sh4al | sh1) ;; sh4a* ) sh_cpu_target=sh4a-nofpu ;; sh4*) sh_cpu_target=sh4-nofpu ;; @@ -2641,8 +2671,6 @@ sh-*-elf* | sh[12346l]*-*-elf* | \ fi sh_cpu_default="`echo $with_cpu|sed s/^m/sh/|tr A-Z_ a-z-`" case $sh_cpu_default in - sh5-64media-nofpu | sh5-64media | \ - sh5-32media-nofpu | sh5-32media | sh5-compact-nofpu | sh5-compact | \ sh2a-single-only | sh2a-single | sh2a-nofpu | sh2a | \ sh4a-single-only | sh4a-single | sh4a-nofpu | sh4a | sh4al | \ sh4-single-only | sh4-single | sh4-nofpu | sh4 | sh4-300 | \ @@ -2653,9 +2681,7 @@ sh-*-elf* | sh[12346l]*-*-elf* | \ sh_multilibs=${with_multilib_list} if test "$sh_multilibs" = "default" ; then case ${target} in - sh64-superh-linux* | \ sh[1234]*) sh_multilibs=${sh_cpu_target} ;; - sh64* | sh5*) sh_multilibs=m5-32media,m5-32media-nofpu,m5-compact,m5-compact-nofpu,m5-64media,m5-64media-nofpu ;; sh-superh-*) sh_multilibs=m4,m4-single,m4-single-only,m4-nofpu ;; sh*-*-linux*) sh_multilibs=m1,m2,m2a,m3e,m4 ;; sh*-*-netbsd*) sh_multilibs=m3,m3e,m4 ;; @@ -2674,10 +2700,7 @@ sh-*-elf* | sh[12346l]*-*-elf* | \ m1 | m2 | m2e | m3 | m3e | \ m4 | m4-single | m4-single-only | m4-nofpu | m4-300 |\ m4a | m4a-single | m4a-single-only | m4a-nofpu | m4al | \ - m2a | m2a-single | m2a-single-only | m2a-nofpu | \ - m5-64media | m5-64media-nofpu | \ - m5-32media | m5-32media-nofpu | \ - m5-compact | m5-compact-nofpu) + m2a | m2a-single | m2a-single-only | m2a-nofpu) # TM_MULTILIB_CONFIG is used by t-sh for the non-endian multilib definition # It is passed to MULTIILIB_OPTIONS verbatim. TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG}/${sh_multilib}" @@ -2694,7 +2717,7 @@ sh-*-elf* | sh[12346l]*-*-elf* | \ done TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's:^/::'` if test x${enable_incomplete_targets} = xyes ; then - tm_defines="$tm_defines SUPPORT_SH1=1 SUPPORT_SH2E=1 SUPPORT_SH4=1 SUPPORT_SH4_SINGLE=1 SUPPORT_SH2A=1 SUPPORT_SH2A_SINGLE=1 SUPPORT_SH5_32MEDIA=1 SUPPORT_SH5_32MEDIA_NOFPU=1 SUPPORT_SH5_64MEDIA=1 SUPPORT_SH5_64MEDIA_NOFPU=1" + tm_defines="$tm_defines SUPPORT_SH1=1 SUPPORT_SH2E=1 SUPPORT_SH4=1 SUPPORT_SH4_SINGLE=1 SUPPORT_SH2A=1 SUPPORT_SH2A_SINGLE=1" fi tm_file="$tm_file ./sysroot-suffix.h" tmake_file="$tmake_file t-sysroot-suffix" @@ -2904,7 +2927,7 @@ vax-*-netbsdelf*) extra_options="${extra_options} netbsd.opt netbsd-elf.opt vax/elf.opt" ;; vax-*-openbsd*) - tm_file="vax/vax.h vax/openbsd1.h openbsd.h openbsd-stdint.h openbsd-pthread.h vax/openbsd.h" + tm_file="vax/vax.h vax/openbsd1.h openbsd.h openbsd-stdint.h openbsd-libpthread.h vax/openbsd.h" extra_options="${extra_options} openbsd.opt" use_collect2=yes ;; @@ -2929,6 +2952,11 @@ xtensa*-*-linux*) tm_file="${tm_file} dbxelf.h 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" + 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" gas=yes gnu_ld=yes @@ -2965,6 +2993,7 @@ esac case ${target} in *-intelmic-* | *-intelmicemul-*) tmake_file="${tmake_file} i386/t-intelmic" + tm_file="${tm_file} i386/intelmic-offload.h" ;; esac @@ -3047,6 +3076,10 @@ case ${target} in ;; i686-*-* | i786-*-*) case ${target_noncanonical} in + znver1-*) + arch=znver1 + cpu=znver1 + ;; bdver4-*) arch=bdver4 cpu=bdver4 @@ -3160,6 +3193,10 @@ case ${target} in ;; x86_64-*-*) case ${target_noncanonical} in + znver1-*) + arch=znver1 + cpu=znver1 + ;; bdver4-*) arch=bdver4 cpu=bdver4 @@ -3228,6 +3265,9 @@ esac # This block sets nothing except for with_cpu. if test x$with_cpu = x ; then case ${target} in + i[34567]86-*-elfiamcu) + with_cpu=lakemont + ;; i[34567]86-*-*|x86_64-*-*) with_cpu=$cpu ;; @@ -3285,6 +3325,9 @@ if test x$with_cpu = x ; then ;; esac ;; + visium-*-*) + with_cpu=gr5 + ;; esac # Avoid overriding --with-cpu-32 and --with-cpu-64 values. @@ -3320,6 +3363,9 @@ if test x$with_arch = x ; then # Default arch is set via TARGET_SUBTARGET32_ISA_DEFAULT # and TARGET_SUBTARGET64_ISA_DEFAULT in config/i386/darwin.h. ;; + i[34567]86-*-elfiamcu) + with_arch=lakemont + ;; i[34567]86-*-*) # --with-fpmath sets the default ISA to SSE2, which is the same # ISA supported by Pentium 4. @@ -3455,7 +3501,7 @@ case "${target}" in eval "val=\$with_$which" base_val=`echo $val | sed -e 's/\+.*//'` - ext_val=`echo $val | sed -e 's/[a-z0-9\-]\+//'` + ext_val=`echo $val | sed -e 's/[a-z0-9.-]\+//'` if [ $which = arch ]; then def=aarch64-arches.def @@ -3502,22 +3548,28 @@ case "${target}" in ${srcdir}/config/aarch64/aarch64-option-extensions.def \ > /dev/null; then - ext_on=`grep "^AARCH64_OPT_EXTENSION(\"$base_ext\"," \ + ext_canon=`grep "^AARCH64_OPT_EXTENSION(\"$base_ext\"," \ ${srcdir}/config/aarch64/aarch64-option-extensions.def | \ sed -e 's/^[^,]*,[ ]*//' | \ sed -e 's/,.*$//'` - ext_off=`grep "^AARCH64_OPT_EXTENSION(\"$base_ext\"," \ + ext_on=`grep "^AARCH64_OPT_EXTENSION(\"$base_ext\"," \ ${srcdir}/config/aarch64/aarch64-option-extensions.def | \ sed -e 's/^[^,]*,[ ]*[^,]*,[ ]*//' | \ sed -e 's/,.*$//' | \ sed -e 's/).*$//'` + ext_off=`grep "^AARCH64_OPT_EXTENSION(\"$base_ext\"," \ + ${srcdir}/config/aarch64/aarch64-option-extensions.def | \ + sed -e 's/^[^,]*,[ ]*[^,]*,[ ]*[^,]*,[ ]*//' | \ + sed -e 's/,.*$//' | \ + sed -e 's/).*$//'` + if [ $ext = $base_ext ]; then # Adding extension - ext_mask="("$ext_mask") | ("$ext_on")" + ext_mask="("$ext_mask") | ("$ext_on" | "$ext_canon")" else # Removing extension - ext_mask="("$ext_mask") & ~("$ext_off")" + ext_mask="("$ext_mask") & ~("$ext_off" | "$ext_canon")" fi true @@ -3673,38 +3725,40 @@ case "${target}" in # Add extra multilibs if test "x$with_multilib_list" != x; then arm_multilibs=`echo $with_multilib_list | sed -e 's/,/ /g'` - for arm_multilib in ${arm_multilibs}; do - case ${arm_multilib} in - aprofile) + case ${arm_multilibs} in + aprofile) # Note that arm/t-aprofile is a # stand-alone make file fragment to be # used only with itself. We do not # specifically use the # TM_MULTILIB_OPTION framework because # this shorthand is more - # pragmatic. Additionally it is only - # designed to work without any - # with-cpu, with-arch with-mode + # pragmatic. + tmake_profile_file="arm/t-aprofile" + ;; + default) + ;; + *) + echo "Error: --with-multilib-list=${with_multilib_list} not supported." 1>&2 + exit 1 + ;; + esac + + if test "x${tmake_profile_file}" != x ; then + # arm/t-aprofile is only designed to work + # without any with-cpu, with-arch, with-mode, # with-fpu or with-float options. - if test "x$with_arch" != x \ - || test "x$with_cpu" != x \ - || test "x$with_float" != x \ - || test "x$with_fpu" != x \ - || test "x$with_mode" != x ; then - echo "Error: You cannot use any of --with-arch/cpu/fpu/float/mode with --with-multilib-list=aprofile" 1>&2 - exit 1 - fi - tmake_file="${tmake_file} arm/t-aprofile" - break - ;; - default) - ;; - *) - echo "Error: --with-multilib-list=${with_multilib_list} not supported." 1>&2 - exit 1 - ;; - esac - done + if test "x$with_arch" != x \ + || test "x$with_cpu" != x \ + || test "x$with_float" != x \ + || test "x$with_fpu" != x \ + || test "x$with_mode" != x ; then + echo "Error: You cannot use any of --with-arch/cpu/fpu/float/mode with --with-multilib-list=${with_multilib_list}" 1>&2 + exit 1 + fi + + tmake_file="${tmake_file} ${tmake_profile_file}" + fi fi ;; @@ -3996,8 +4050,21 @@ case "${target}" in esac ;; + nios2*-*-*) + supported_defaults="arch" + case "$with_arch" in + "" | r1 | r2) + # OK + ;; + *) + echo "Unknown arch used in --with-arch=$with_arch" 1>&2 + exit 1 + ;; + esac + ;; + powerpc*-*-* | rs6000-*-*) - supported_defaults="abi cpu cpu_32 cpu_64 float tune tune_32 tune_64" + supported_defaults="abi cpu cpu_32 cpu_64 float tune tune_32 tune_64 advance_toolchain" for which in cpu cpu_32 cpu_64 tune tune_32 tune_64; do eval "val=\$with_$which" @@ -4019,7 +4086,7 @@ case "${target}" in eval "with_$which=405" ;; "" | common | native \ - | power | power[2345678] | power6x | powerpc | powerpc64 \ + | power | power[23456789] | power6x | powerpc | powerpc64 \ | rios | rios1 | rios2 | rsc | rsc1 | rs64a \ | 401 | 403 | 405 | 405fp | 440 | 440fp | 464 | 464fp \ | 476 | 476fp | 505 | 601 | 602 | 603 | 603e | ec603e \ @@ -4044,6 +4111,56 @@ case "${target}" in exit 1 ;; esac + + if test "x$with_advance_toolchain" != x; then + if test -d "/opt/$with_advance_toolchain/." -a \ + -d "/opt/$with_advance_toolchain/bin/." -a \ + -d "/opt/$with_advance_toolchain/include/."; then + + tm_file="$tm_file ./advance-toolchain.h" + (at="/opt/$with_advance_toolchain" + echo "/* Use Advance Toolchain $at */" + echo + echo "#ifndef USE_AT_INCLUDE_FILES" + echo "#define USE_AT_INCLUDE_FILES 1" + echo "#endif" + echo + echo "#if USE_AT_INCLUDE_FILES" + echo "#undef INCLUDE_EXTRA_SPEC" + echo "#define INCLUDE_EXTRA_SPEC" \ + "\"-isystem $at/include\"" + echo "#endif" + echo + echo "#undef LINK_OS_EXTRA_SPEC32" + echo "#define LINK_OS_EXTRA_SPEC32" \ + "\"%(link_os_new_dtags)" \ + "-rpath $prefix/lib -rpath $at/lib" \ + "-L $prefix/lib -L $at/lib\"" + echo + echo "#undef LINK_OS_EXTRA_SPEC64" + echo "#define LINK_OS_EXTRA_SPEC64" \ + "\"%(link_os_new_dtags)" \ + "-rpath $prefix/lib64 -rpath $at/lib64" \ + "-L $prefix/lib64 -L $at/lib64\"" + echo + echo "#undef LINK_OS_NEW_DTAGS_SPEC" + echo "#define LINK_OS_NEW_DTAGS_SPEC" \ + "\"--enable-new-dtags\"" + echo + echo "#undef DYNAMIC_LINKER_PREFIX" + echo "#define DYNAMIC_LINKER_PREFIX \"$at\"" + echo + echo "#undef MD_EXEC_PREFIX" + echo "#define MD_EXEC_PREFIX \"$at/bin/\"" + echo + echo "#undef MD_STARTFILE_PREFIX" + echo "#define MD_STARTFILE_PREFIX \"$at/lib/\"") \ + > advance-toolchain.h + else + echo "Unknown advance-toolchain $with_advance_toolchain" + exit 1 + fi + fi ;; s390*-*-*) @@ -4052,7 +4169,7 @@ case "${target}" in for which in arch tune; do eval "val=\$with_$which" case ${val} in - "" | g5 | g6 | z900 | z990 | z9-109 | z9-ec | z10 | z196 | zEC12) + "" | native | g5 | g6 | z900 | z990 | z9-109 | z9-ec | z10 | z196 | zEC12 | z13) # OK ;; *) @@ -4073,7 +4190,7 @@ case "${target}" in esac ;; - sh[123456ble]-*-* | sh-*-*) + sh[123456ble]*-*-* | sh-*-*) supported_defaults="cpu" case "`echo $with_cpu | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ_ abcdefghijklmnopqrstuvwxyz- | sed s/sh/m/`" in "" | m1 | m2 | m2e | m3 | m3e | m4 | m4-single | m4-single-only | m4-nofpu ) @@ -4093,9 +4210,9 @@ case "${target}" in esac ;; sparc*-*-*) - supported_defaults="cpu float tune" + supported_defaults="cpu cpu_32 cpu_64 float tune tune_32 tune_64" - for which in cpu tune; do + for which in cpu cpu_32 cpu_64 tune tune_32 tune_64; do eval "val=\$with_$which" case ${val} in "" | sparc | sparcv9 | sparc64 \ @@ -4104,7 +4221,7 @@ case "${target}" in | sparclite | f930 | f934 | sparclite86x \ | sparclet | tsc701 \ | v9 | ultrasparc | ultrasparc3 | niagara | niagara2 \ - | niagara3 | niagara4) + | niagara3 | niagara4 | niagara7) # OK ;; *) @@ -4168,6 +4285,16 @@ case "${target}" in ;; esac ;; + visium-*-*) + supported_defaults="cpu" + case $with_cpu in + "" | gr5 | gr6) + ;; + *) echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2 + exit 1 + ;; + esac + ;; esac # Set some miscellaneous flags for particular targets. @@ -4215,6 +4342,9 @@ case ${target} in i[34567]86-*-gnu*) tmake_file="$tmake_file i386/t-gnu" ;; + i[34567]86-*-msdosdjgpp*) + tmake_file="${tmake_file} i386/t-djgpp" + ;; i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*) ;; i[34567]86-*-cygwin* | x86_64-*-cygwin*) @@ -4322,6 +4452,9 @@ case ${target} in ;; esac ;; + visium-*-*) + target_cpu_default2="TARGET_CPU_$with_cpu" + ;; esac t=