]> git.ipfire.org Git - thirdparty/gcc.git/blobdiff - gcc/config.gcc
configure.ac: Don't add ${libgcj} for arm*-*-freebsd*.
[thirdparty/gcc.git] / gcc / config.gcc
index dc5cdca843aa58f1c1e1f0cbda07fb7af6d8d04c..0dfc08fc0f19ff27d2636db50d7fdeaf503d922b 100644 (file)
@@ -1,5 +1,5 @@
 # GCC target-specific configuration file.
-# Copyright (C) 1997-2014 Free Software Foundation, Inc.
+# Copyright (C) 1997-2015 Free Software Foundation, Inc.
 
 #This file is part of GCC.
 
@@ -236,8 +236,8 @@ md_file=
 
 # Obsolete configurations.
 case ${target} in
-   picochip-*                          \
| score-*                             \
+# Currently there are no obsolete targets.
nothing                               \
  )
     if test "x$enable_obsolete" != xyes; then
       echo "*** Configuration ${target} is obsolete." >&2
@@ -259,7 +259,6 @@ case ${target} in
    arm*-wince-pe*                      \
  | arm*-*-ecos-elf                     \
  | arm*-*-elf                          \
- | arm*-*-freebsd*                     \
  | arm*-*-linux*                       \
  | arm*-*-uclinux*                     \
  | i[34567]86-go32-*                   \
@@ -304,6 +303,7 @@ aarch64*-*-*)
        cpu_type=aarch64
        extra_headers="arm_neon.h arm_acle.h"
        extra_objs="aarch64-builtins.o aarch-common.o"
+       target_gtfiles="\$(srcdir)/config/aarch64/aarch64-builtins.c"
        target_has_targetm_common=yes
        ;;
 alpha*-*-*)
@@ -318,12 +318,13 @@ arc*-*-*)
        ;;
 arm*-*-*)
        cpu_type=arm
-       extra_objs="aarch-common.o"
+       extra_objs="arm-builtins.o aarch-common.o"
        extra_headers="mmintrin.h arm_neon.h arm_acle.h"
        target_type_format_char='%'
        c_target_objs="arm-c.o"
        cxx_target_objs="arm-c.o"
        extra_options="${extra_options} arm/arm-tables.opt"
+       target_gtfiles="\$(srcdir)/config/arm/arm-builtins.c"
        ;;
 avr-*-*)
        cpu_type=avr
@@ -364,7 +365,10 @@ i[34567]86-*-*)
                       adxintrin.h fxsrintrin.h xsaveintrin.h xsaveoptintrin.h
                       avx512cdintrin.h avx512erintrin.h avx512pfintrin.h
                       shaintrin.h clflushoptintrin.h xsavecintrin.h
-                      xsavesintrin.h"
+                      xsavesintrin.h avx512dqintrin.h avx512bwintrin.h
+                      avx512vlintrin.h avx512vlbwintrin.h avx512vldqintrin.h
+                      avx512ifmaintrin.h avx512ifmavlintrin.h avx512vbmiintrin.h
+                      avx512vbmivlintrin.h clwbintrin.h pcommitintrin.h"
        ;;
 x86_64-*-*)
        cpu_type=i386
@@ -382,7 +386,10 @@ x86_64-*-*)
                       adxintrin.h fxsrintrin.h xsaveintrin.h xsaveoptintrin.h
                       avx512cdintrin.h avx512erintrin.h avx512pfintrin.h
                       shaintrin.h clflushoptintrin.h xsavecintrin.h
-                      xsavesintrin.h"
+                      xsavesintrin.h avx512dqintrin.h avx512bwintrin.h
+                      avx512vlintrin.h avx512vlbwintrin.h avx512vldqintrin.h
+                      avx512ifmaintrin.h avx512ifmavlintrin.h avx512vbmiintrin.h
+                      avx512vbmivlintrin.h clwbintrin.h pcommitintrin.h"
        ;;
 ia64-*-*)
        extra_headers=ia64intrin.h
@@ -414,14 +421,15 @@ mips*-*-*)
 nds32*)
        cpu_type=nds32
        extra_headers="nds32_intrinsic.h"
+       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"
        ;;
 nios2-*-*)
        cpu_type=nios2
        extra_options="${extra_options} g.opt"
-       ;;      
-picochip-*-*)
-        cpu_type=picochip
-        ;;
+       ;;
+nvptx-*-*)
+       cpu_type=nvptx
+       ;;
 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"
@@ -435,10 +443,6 @@ powerpc*-*-*)
 rs6000*-*-*)
        extra_options="${extra_options} g.opt fused-madd.opt rs6000/rs6000-tables.opt"
        ;;
-score*-*-*)
-       cpu_type=score
-       extra_options="${extra_options} g.opt"
-       ;;
 sparc*-*-*)
        cpu_type=sparc
        c_target_objs="sparc-c.o"
@@ -586,7 +590,8 @@ pentium4 pentium4m pentiumpro prescott"
 x86_64_archs="amdfam10 athlon64 athlon64-sse3 barcelona bdver1 bdver2 \
 bdver3 bdver4 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 x86-64 native"
+sandybridge ivybridge haswell broadwell bonnell silvermont knl x86-64 \
+native"
 
 # Additional x86 processors supported by --with-cpu=.  Each processor
 # MUST be separated by exactly one space.
@@ -788,7 +793,13 @@ case ${target} in
   ;;
 *-*-rtems*)
   case ${enable_threads} in
-    yes) thread_file='rtems' ;;
+    "" | yes | rtems) thread_file='rtems' ;;
+    posix) thread_file='posix' ;;
+    no) ;;
+    *)
+      echo 'Unknown thread configuration for RTEMS'
+      exit 1
+      ;;
   esac
   tmake_file="${tmake_file} t-rtems"
   extra_options="${extra_options} rtems.opt"
@@ -998,6 +1009,27 @@ arm-wrs-vxworks)
        extra_options="${extra_options} arm/vxworks.opt"
        tmake_file="${tmake_file} arm/t-arm arm/t-vxworks"
        ;;
+arm*-*-freebsd*)                # ARM FreeBSD EABI
+       tm_file="dbxelf.h elfos.h ${fbsd_tm_file} arm/elf.h"
+       case $target in
+       arm*b-*-freebsd*)
+           tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
+           ;;
+       esac
+       tmake_file="${tmake_file} arm/t-arm arm/t-bpabi"
+       tm_file="${tm_file} arm/bpabi.h arm/freebsd.h arm/aout.h arm/arm.h"
+       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"
+           ;;
+       esac
+       with_tls=${with_tls:-gnu}
+       ;;
 arm*-*-netbsdelf*)
        tm_file="dbxelf.h elfos.h netbsd.h netbsd-elf.h arm/elf.h arm/aout.h ${tm_file} arm/netbsd-elf.h"
        extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
@@ -1045,8 +1077,8 @@ arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*)
          use_gcc_stdint=wrap
          ;;
        arm*-*-rtems*)
-         tm_file="${tm_file} rtems.h arm/rtems-eabi.h newlib-stdint.h"
-         tmake_file="${tmake_file} arm/t-bpabi arm/t-rtems-eabi"
+         tm_file="${tm_file} rtems.h arm/rtems.h newlib-stdint.h"
+         tmake_file="${tmake_file} arm/t-bpabi arm/t-rtems"
          ;;
        arm*-*-symbianelf*)
          tm_file="${tm_file} arm/symbian.h"
@@ -1120,8 +1152,7 @@ cris-*-elf | cris-*-none)
        ;;
 crisv32-*-linux* | cris-*-linux*)
        tm_file="dbxelf.h elfos.h ${tm_file} gnu-user.h linux.h glibc-stdint.h cris/linux.h"
-       # We need to avoid using t-linux, so override default tmake_file
-       tmake_file="cris/t-cris cris/t-linux t-slibgcc t-linux"
+       tmake_file="${tmake_file} cris/t-cris cris/t-linux"
        extra_options="${extra_options} cris/linux.opt"
        case $target in
          cris-*-*)
@@ -1168,6 +1199,12 @@ moxie-*-rtems*)
        tmake_file="${tmake_file} moxie/t-moxie"
        tm_file="moxie/moxie.h dbxelf.h elfos.h moxie/rtems.h rtems.h newlib-stdint.h"
        ;;
+moxie-*-moxiebox*)
+       gas=yes
+       gnu_ld=yes
+       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"
@@ -1393,8 +1430,14 @@ i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu | i
        i[34567]86-*-linux*)
                tm_file="${tm_file} linux.h linux-android.h"
                extra_options="${extra_options} linux-android.opt"
-               # Assume modern glibc
-               default_gnu_indirect_function=yes
+               # Assume modern glibc if not targeting Android nor uclibc.
+               case ${target} in
+               *-*-*android*|*-*-*uclibc*)
+                 ;;
+               *)
+                 default_gnu_indirect_function=yes
+                 ;;
+               esac
                if test x$enable_targets = xall; then
                        tm_file="${tm_file} i386/x86-64.h i386/gnu-user-common.h i386/gnu-user64.h i386/linux-common.h i386/linux64.h"
                        tm_defines="${tm_defines} TARGET_BI_ARCH=1"
@@ -1456,8 +1499,14 @@ x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu)
        x86_64-*-linux*)
                tm_file="${tm_file} linux.h linux-android.h i386/linux-common.h i386/linux64.h"
                extra_options="${extra_options} linux-android.opt"
-               # Assume modern glibc
-               default_gnu_indirect_function=yes
+               # Assume modern glibc if not targeting Android nor uclibc.
+               case ${target} in
+               *-*-*android*|*-*-*uclibc*)
+                 ;;
+               *)
+                 default_gnu_indirect_function=yes
+                 ;;
+               esac
                ;;
        x86_64-*-kfreebsd*-gnu)
                tm_file="${tm_file} kfreebsd-gnu.h i386/kfreebsd-gnu64.h"
@@ -1548,11 +1597,11 @@ i[4567]86-wrs-vxworks|i[4567]86-wrs-vxworksae)
        tm_file="${tm_file} i386/unix.h i386/att.h elfos.h vx-common.h"
        case ${target} in
          *-vxworksae*)
-           tm_file="${tm_file} vxworksae.h i386/vx-common.h i386/vxworksae.h"
+           tm_file="${tm_file} vxworksae.h i386/vxworks.h i386/vxworksae.h"
            tmake_file="${tmake_file} i386/t-vxworks i386/t-vxworksae"
            ;;
          *)
-           tm_file="${tm_file} vxworks.h i386/vx-common.h i386/vxworks.h"
+           tm_file="${tm_file} vxworks.h i386/vxworks.h"
            tmake_file="${tmake_file} i386/t-vxworks"
            ;;
        esac
@@ -1562,13 +1611,14 @@ i[34567]86-*-cygwin*)
        xm_file=i386/xm-cygwin.h
        tmake_file="${tmake_file} i386/t-cygming t-slibgcc"
        target_gtfiles="\$(srcdir)/config/i386/winnt.c"
-       extra_options="${extra_options} i386/cygming.opt"
+       extra_options="${extra_options} i386/cygming.opt i386/cygwin.opt"
        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"
        if test x$enable_threads = xyes; then
                thread_file='posix'
        fi
+       default_use_cxa_atexit=yes
        use_gcc_stdint=wrap
        ;;
 x86_64-*-cygwin*)
@@ -1577,13 +1627,14 @@ x86_64-*-cygwin*)
        xm_file=i386/xm-cygwin.h
        tmake_file="${tmake_file} i386/t-cygming t-slibgcc i386/t-cygwin-w64"
        target_gtfiles="\$(srcdir)/config/i386/winnt.c"
-       extra_options="${extra_options} i386/cygming.opt"
+       extra_options="${extra_options} i386/cygming.opt i386/cygwin.opt"
        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"
        if test x$enable_threads = xyes; then
                thread_file='posix'
        fi
+       default_use_cxa_atexit=yes
        use_gcc_stdint=wrap
        tm_defines="${tm_defines} TARGET_CYGWIN64=1"
        ;;
@@ -1930,56 +1981,79 @@ mips*-*-netbsd*)                        # NetBSD/mips, either endian.
        tm_file="elfos.h ${tm_file} mips/elf.h netbsd.h netbsd-elf.h mips/netbsd.h"
        extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
        ;;
+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"
+       gnu_ld=yes
+       gas=yes
+       ;;
 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/gnu-user64.h mips/linux64.h mips/linux-common.h mips/mti-linux.h"
+       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"
        gnu_ld=yes
        gas=yes
        ;;
-mips64*-*-linux* | mipsisa64*-*-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/gnu-user64.h mips/linux64.h mips/linux-common.h"
+mips*-*-linux*)                                # Linux MIPS, either endian.
+       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"
        extra_options="${extra_options} linux-android.opt"
-       tmake_file="${tmake_file} mips/t-linux64"
-       tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_N32"
        case ${target} in
+               mipsisa32r6*)
+                       default_mips_arch=mips32r6
+                       ;;
+               mipsisa32r2*)
+                       default_mips_arch=mips32r2
+                       ;;
+               mipsisa32*)
+                       default_mips_arch=mips32
+                       ;;
                mips64el-st-linux-gnu)
+                       default_mips_abi=n32
                        tm_file="${tm_file} mips/st.h"
                        tmake_file="${tmake_file} mips/t-st"
+                       enable_mips_multilibs="yes"
                        ;;
                mips64octeon*-*-linux*)
+                       default_mips_abi=n32
                        tm_defines="${tm_defines} MIPS_CPU_STRING_DEFAULT=\\\"octeon\\\""
                        target_cpu_default=MASK_SOFT_FLOAT_ABI
+                       enable_mips_multilibs="yes"
+                       ;;
+               mipsisa64r6*-*-linux*)
+                       default_mips_abi=n32
+                       default_mips_arch=mips64r6
+                       enable_mips_multilibs="yes"
                        ;;
                mipsisa64r2*-*-linux*)
-                       tm_defines="${tm_defines} MIPS_ISA_DEFAULT=65"
+                       default_mips_abi=n32
+                       default_mips_arch=mips64r2
+                       enable_mips_multilibs="yes"
+                       ;;
+               mips64*-*-linux* | mipsisa64*-*-linux*)
+                       default_mips_abi=n32
+                       enable_mips_multilibs="yes"
                        ;;
        esac
-       gnu_ld=yes
-       gas=yes
-       ;;
-mips*-*-linux*)                                # Linux MIPS, either endian.
-       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"
-       extra_options="${extra_options} linux-android.opt"
        if test x$enable_targets = xall; then
-               tm_file="${tm_file} mips/gnu-user64.h mips/linux64.h"
+               enable_mips_multilibs="yes"
+       fi
+       if test x$enable_mips_multilibs = xyes; then
                tmake_file="${tmake_file} mips/t-linux64"
        fi
-       tm_file="${tm_file} mips/linux-common.h"
-       case ${target} in
-        mipsisa32r2*)
-               tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33"
-                ;;
-        mipsisa32*)
-               tm_defines="${tm_defines} MIPS_ISA_DEFAULT=32"
-        esac
        ;;
 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"
        ;;
+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"
+       ;;
 mips*-sde-elf*)
        tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/n32-elf.h mips/sde.h"
        tmake_file="mips/t-sde"
@@ -2000,12 +2074,18 @@ mips*-sde-elf*)
            ;;
        esac
        case ${target} in
+         mipsisa32r6*)
+           tm_defines="MIPS_ISA_DEFAULT=37 MIPS_ABI_DEFAULT=ABI_32"
+           ;;
          mipsisa32r2*)
            tm_defines="MIPS_ISA_DEFAULT=33 MIPS_ABI_DEFAULT=ABI_32"
            ;;
          mipsisa32*)
            tm_defines="MIPS_ISA_DEFAULT=32 MIPS_ABI_DEFAULT=ABI_32"
            ;;
+         mipsisa64r6*)
+           tm_defines="MIPS_ISA_DEFAULT=69 MIPS_ABI_DEFAULT=ABI_N32"
+           ;;
          mipsisa64r2*)
            tm_defines="MIPS_ISA_DEFAULT=65 MIPS_ABI_DEFAULT=ABI_N32"
            ;;
@@ -2016,17 +2096,25 @@ mips*-sde-elf*)
        ;;
 mipsisa32-*-elf* | mipsisa32el-*-elf* | \
 mipsisa32r2-*-elf* | mipsisa32r2el-*-elf* | \
+mipsisa32r6-*-elf* | mipsisa32r6el-*-elf* | \
 mipsisa64-*-elf* | mipsisa64el-*-elf* | \
-mipsisa64r2-*-elf* | mipsisa64r2el-*-elf*)
+mipsisa64r2-*-elf* | mipsisa64r2el-*-elf* | \
+mipsisa64r6-*-elf* | mipsisa64r6el-*-elf*)
        tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
        tmake_file="mips/t-isa3264"
        case ${target} in
+         mipsisa32r6*)
+           tm_defines="${tm_defines} MIPS_ISA_DEFAULT=37"
+           ;;
          mipsisa32r2*)
            tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33"
            ;;
          mipsisa32*)
            tm_defines="${tm_defines} MIPS_ISA_DEFAULT=32"
            ;;
+         mipsisa64r6*)
+           tm_defines="${tm_defines} MIPS_ISA_DEFAULT=69"
+           ;;
          mipsisa64r2*)
            tm_defines="${tm_defines} MIPS_ISA_DEFAULT=65"
            ;;
@@ -2117,13 +2205,13 @@ nds32le-*-*)
        target_cpu_default="0"
        tm_defines="${tm_defines}"
        tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
-       tmake_file="nds32/t-mlibs"
+       tmake_file="nds32/t-nds32 nds32/t-mlibs"
        ;;
 nds32be-*-*)
        target_cpu_default="0|MASK_BIG_ENDIAN"
        tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
        tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
-       tmake_file="nds32/t-mlibs"
+       tmake_file="nds32/t-nds32 nds32/t-mlibs"
        ;;
 nios2-*-*)
        tm_file="elfos.h ${tm_file}"
@@ -2136,17 +2224,20 @@ nios2-*-*)
                tm_file="${tm_file} newlib-stdint.h nios2/elf.h"
                extra_options="${extra_options} nios2/elf.opt"
                ;;
+       nios2-*-rtems*)
+               tm_file="${tm_file} newlib-stdint.h nios2/rtems.h rtems.h"
+               tmake_file="${tmake_file} t-rtems nios2/t-rtems"
+               ;;
         esac
        ;;
-pdp11-*-*)
+nvptx-*)
        tm_file="${tm_file} newlib-stdint.h"
-       use_gcc_stdint=wrap
+       tmake_file="nvptx/t-nvptx"
        ;;
-picochip-*)
+pdp11-*-*)
        tm_file="${tm_file} newlib-stdint.h"
        use_gcc_stdint=wrap
-       tmake_file="picochip/t-picochip t-pnt16-warn"
-        ;;
+       ;;
 # port not yet contributed
 #powerpc-*-openbsd*)
 #      tmake_file="${tmake_file} rs6000/t-fprules"
@@ -2242,7 +2333,7 @@ powerpc-*-rtems*)
        tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-rtems rs6000/t-ppccomm"
        ;;
 powerpc*-*-linux*)
-       tm_file="${tm_file} dbxelf.h elfos.h freebsd-spec.h rs6000/sysv4.h"
+       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"
        extra_objs="$extra_objs rs6000-linux.o"
@@ -2306,12 +2397,16 @@ powerpc*-*-linux*)
                tm_file="rs6000/secureplt.h ${tm_file}"
        fi
        ;;
-powerpc-wrs-vxworks|powerpc-wrs-vxworksae)
+powerpc-wrs-vxworks|powerpc-wrs-vxworksae|powerpc-wrs-vxworksmils)
        tm_file="${tm_file} elfos.h freebsd-spec.h rs6000/sysv4.h"
        tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-ppccomm rs6000/t-vxworks"
        extra_options="${extra_options} rs6000/sysv4.opt"
        extra_headers=ppc-asm.h
        case ${target} in
+          *-vxworksmils*)
+            tm_file="${tm_file} vx-common.h vxworksae.h rs6000/vxworks.h rs6000/e500.h rs6000/vxworksmils.h"
+            tmake_file="${tmake_file} rs6000/t-vxworksmils"
+            ;;
          *-vxworksae*)
            tm_file="${tm_file} vx-common.h vxworksae.h rs6000/vxworks.h rs6000/e500.h rs6000/vxworksae.h"
            tmake_file="${tmake_file} rs6000/t-vxworksae"
@@ -2428,11 +2523,6 @@ s390x-ibm-tpf*)
         thread_file='tpf'
        extra_options="${extra_options} s390/tpf.opt"
        ;;
-score-*-elf)
-       gas=yes
-       gnu_ld=yes
-        tm_file="dbxelf.h elfos.h score/elf.h score/score.h newlib-stdint.h"
-        ;;
 sh-*-elf* | sh[12346l]*-*-elf* | \
   sh-*-linux* | sh[2346lbe]*-*-linux* | \
   sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \
@@ -2633,7 +2723,7 @@ sparc-*-elf*)
        ;;
 sparc-*-rtems*)
        tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/sp-elf.h sparc/rtemself.h rtems.h newlib-stdint.h"
-       tmake_file="${tmake_file} sparc/t-sparc sparc/t-elf sparc/t-rtems"
+       tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems"
        ;;
 sparc-*-linux*)
        tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/tso.h"
@@ -2818,6 +2908,10 @@ vax-*-openbsd*)
        extra_options="${extra_options} openbsd.opt"
        use_collect2=yes
        ;;
+visium-*-elf*)
+       tm_file="dbxelf.h elfos.h ${tm_file} visium/elf.h newlib-stdint.h"
+       tmake_file="visium/t-visium visium/t-crtstuff"
+       ;;
 xstormy16-*-elf)
        # For historical reasons, the target files omit the 'x'.
        tm_file="dbxelf.h elfos.h newlib-stdint.h stormy16/stormy16.h"
@@ -2867,6 +2961,13 @@ powerpc*-*-* | rs6000-*-*)
        tm_file="${tm_file} rs6000/option-defaults.h"
 esac
 
+# Build mkoffload tool
+case ${target} in
+*-intelmic-* | *-intelmicemul-*)
+       tmake_file="${tmake_file} i386/t-intelmic"
+       ;;
+esac
+
 if [ "$target_has_targetcm" = "no" ]; then
   c_target_objs="$c_target_objs default-c.o"
   cxx_target_objs="$cxx_target_objs default-c.o"
@@ -3176,6 +3277,9 @@ if test x$with_cpu = x ; then
        *-leon[3-9]*)
          with_cpu=leon3
          ;;
+       *-leon[3-9]v7*)
+         with_cpu=leon3v7
+         ;;
        *)
          with_cpu="`echo ${target} | sed 's/-.*$//'`"
          ;;
@@ -3511,20 +3615,17 @@ case "${target}" in
                        ;;
                esac
 
-               case "$with_fpu" in
-               "" \
-               | vfp | vfp3 | vfpv3 \
-               | vfpv3-fp16 | vfpv3-d16 | vfpv3-d16-fp16 | vfpv3xd \
-               | vfpv3xd-fp16 | neon | neon-fp16 | vfpv4 | vfpv4-d16 \
-               | fpv4-sp-d16 | neon-vfpv4 | fp-arm-v8 | neon-fp-armv8 \
-                | crypto-neon-fp-armv8)
-                       # OK
-                       ;;
-               *)
-                       echo "Unknown fpu used in --with-fpu=$with_fpu" 2>&1
-                       exit 1
-                       ;;
-               esac
+               # see if it matches any of the entries in arm-fpus.def
+               if [ x"$with_fpu" = x ] \
+                   || grep "^ARM_FPU(\"$with_fpu\"," \
+                           ${srcdir}/config/arm/arm-fpus.def \
+                           > /dev/null; then
+                 # OK
+                 true
+               else
+                 echo "Unknown fpu used in --with-fpu=$with_fpu" 1>&2
+                 exit 1
+               fi
 
                case "$with_abi" in
                "" \
@@ -3737,7 +3838,7 @@ case "${target}" in
                ;;
 
        mips*-*-*)
-               supported_defaults="abi arch arch_32 arch_64 float fpu nan tune tune_32 tune_64 divide llsc mips-plt synci"
+               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"
 
                case ${with_float} in
                "" | soft | hard)
@@ -3769,6 +3870,32 @@ case "${target}" in
                        ;;
                esac
 
+               case ${with_fp_32} in
+               "" | 32 | xx | 64)
+                       # OK
+                       ;;
+               *)
+                       echo "Unknown FP mode used in --with-fp-32=$with_fp_32" 1>&2
+                       exit 1
+                       ;;
+               esac
+
+               case ${with_odd_spreg_32} in
+               yes)
+                       with_odd_spreg_32="odd-spreg"
+                       ;;
+               no)
+                       with_odd_spreg_32="no-odd-spreg"
+                       ;;
+               "")
+                       # OK
+                       ;;
+               *)
+                       echo "Unknown odd-spreg-32 type used in --with-odd-spreg-32=$with_odd_spreg_32" 1>&2
+                       exit 1
+                       ;;
+               esac
+
                case ${with_abi} in
                "" | 32 | o64 | n32 | 64 | eabi)
                        # OK
@@ -3973,7 +4100,7 @@ case "${target}" in
                        case ${val} in
                        "" | sparc | sparcv9 | sparc64 \
                        | v7 | cypress \
-                       | v8 | supersparc | hypersparc | leon | leon3 \
+                       | v8 | supersparc | hypersparc | leon | leon3 | leon3v7 \
                        | sparclite | f930 | f934 | sparclite86x \
                        | sparclet | tsc701 \
                        | v9 | ultrasparc | ultrasparc3 | niagara | niagara2 \
@@ -4065,7 +4192,7 @@ case ${target} in
        hppa*-*-*)
                if test x$gas = xyes
                then
-                       target_cpu_default2="MASK_GAS|MASK_JUMP_IN_DELAY"
+                       target_cpu_default2="MASK_GAS"
                fi
                ;;
 
@@ -4111,6 +4238,31 @@ case ${target} in
                                tm_defines="TARGET_ENDIAN_DEFAULT=0 $tm_defines"
                                ;;
                esac
+               if test x$with_arch != x; then
+                       default_mips_arch=$with_arch
+               fi
+               if test x$with_abi != x; then
+                       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" ;;
+               esac
+               case ${default_mips_abi} in
+                   32)   tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_32" ;;
+                   o64)  tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_O64" ;;
+                   n32)  tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_N32" ;;
+                   64)   tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_64" ;;
+                   eabi) tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_EABI" ;;
+               esac
                tmake_file="mips/t-mips $tmake_file"
                ;;
 
@@ -4173,7 +4325,7 @@ case ${target} in
 esac
 
 t=
-all_defaults="abi cpu cpu_32 cpu_64 arch arch_32 arch_64 tune tune_32 tune_64 schedule float mode fpu nan divide llsc mips-plt synci tls"
+all_defaults="abi cpu cpu_32 cpu_64 arch arch_32 arch_64 tune tune_32 tune_64 schedule float mode fpu nan fp_32 odd_spreg_32 divide llsc mips-plt synci tls"
 for option in $all_defaults
 do
        eval "val=\$with_"`echo $option | sed s/-/_/g`
@@ -4213,3 +4365,11 @@ then
                target_cpu_default=$target_cpu_default2
        fi
 fi
+
+case ${target} in
+i[34567]86-*-* | x86_64-*-*)
+       if test x$enable_as_accelerator = xyes; then
+               extra_programs="mkoffload\$(exeext)"
+       fi
+       ;;
+esac