OSDN Git Service

Daily bump.
[pf3gnuchains/gcc-fork.git] / gcc / config.gcc
index 7dac300..06b3daa 100644 (file)
@@ -1,6 +1,6 @@
 # GCC target-specific configuration file.
 # Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
-# 2008, 2009 Free Software Foundation, Inc.
+# 2008, 2009, 2010 Free Software Foundation, Inc.
 
 #This file is part of GCC.
 
@@ -205,16 +205,21 @@ xm_file=
 md_file=
 
 # Obsolete configurations.
-#case ${target} in
-# )
-#    if test "x$enable_obsolete" != xyes; then
-#      echo "*** Configuration ${target} is obsolete." >&2
-#      echo "*** Specify --enable-obsolete to build it anyway." >&2
-#      echo "*** Support will be REMOVED in the next major release of GCC," >&2
-#      echo "*** unless a maintainer comes forward." >&2
-#      exit 1
-#    fi;;
-#esac
+case ${target} in
+   alpha*-dec-osf4*                    \
+ | alpha*-dec-osf5.0*                  \
+ | mips-sgi-irix5*                     \
+ | mips-sgi-irix6.[0-4]5*              \
+ | *-*-solaris2.7*                     \
+ )
+    if test "x$enable_obsolete" != xyes; then
+      echo "*** Configuration ${target} is obsolete." >&2
+      echo "*** Specify --enable-obsolete to build it anyway." >&2
+      echo "*** Support will be REMOVED in the next major release of GCC," >&2
+      echo "*** unless a maintainer comes forward." >&2
+      exit 1
+    fi;;
+esac
 
 # Unsupported targets list.  Do not put an entry in this list unless
 # it would otherwise be caught by a more permissive pattern.  The list
@@ -266,6 +271,11 @@ arm*-*-*)
        c_target_objs="arm-c.o"
        cxx_target_objs="arm-c.o"
        ;;
+avr-*-*)
+       cpu_type=avr
+       c_target_objs="avr-c.o"
+       cxx_target_objs="avr-c.o"
+       ;;
 bfin*-*)
        cpu_type=bfin
        ;;
@@ -287,8 +297,9 @@ i[34567]86-*-*)
        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
-                      ia32intrin.h cross-stdarg.h"
+                      immintrin.h x86intrin.h avxintrin.h xopintrin.h
+                      ia32intrin.h cross-stdarg.h lwpintrin.h popcntintrin.h
+                      abmintrin.h"
        ;;
 x86_64-*-*)
        cpu_type=i386
@@ -297,8 +308,9 @@ x86_64-*-*)
        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 
-                      ia32intrin.h cross-stdarg.h"
+                      immintrin.h x86intrin.h avxintrin.h xopintrin.h
+                      ia32intrin.h cross-stdarg.h lwpintrin.h popcntintrin.h
+                      abmintrin.h"
        need_64bit_hwint=yes
        ;;
 ia64-*-*)
@@ -327,7 +339,7 @@ powerpc*-*-*)
        extra_headers="ppc-asm.h altivec.h spe.h ppu_intrinsics.h paired.h spu2vmx.h vec_types.h si2vmx.h"
        need_64bit_hwint=yes
        case x$with_cpu in
-           xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[34567]|xpower6x|xrs64a|xcell|xa2)
+           xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[34567]|xpower6x|xrs64a|xcell|xa2|xe500mc64)
                cpu_is_64bit=yes
                ;;
        esac
@@ -651,6 +663,7 @@ alpha*-dec-osf[45]*)
        tmake_file="alpha/t-alpha alpha/t-ieee alpha/t-crtfm alpha/t-osf4"
        tm_file="${tm_file} alpha/osf.h"
        extra_headers=va_list.h
+       use_gcc_stdint=provide
        case ${target} in
          *-*-osf4*)
            # Define TARGET_SUPPORT_ARCH except on 4.0a.
@@ -932,7 +945,7 @@ hppa*-*-linux*)
        target_cpu_default="MASK_PA_11|MASK_NO_SPACE_REGS"
        tm_file="${tm_file} dbxelf.h elfos.h svr4.h linux.h glibc-stdint.h pa/pa-linux.h \
                 pa/pa32-regs.h pa/pa32-linux.h"
-       tmake_file="${tmake_file} pa/t-linux"
+       tmake_file="${tmake_file} pa/t-linux t-slibgcc-libgcc"
        # Set the libgcc version number
        if test x$sjlj = x1; then
            tmake_file="$tmake_file pa/t-slibgcc-sjlj-ver"
@@ -1136,7 +1149,7 @@ i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu | i
                        tmake_file="${tmake_file} i386/t-linux64"
                        need_64bit_hwint=yes
                        case X"${with_cpu}" in
-                       Xgeneric|Xatom|Xcore2|Xnocona|Xx86-64|Xamdfam10|Xbarcelona|Xk8|Xopteron|Xathlon64|Xathlon-fx)
+                       Xgeneric|Xatom|Xcore2|Xnocona|Xx86-64|Xamdfam10|Xbarcelona|Xk8|Xopteron|Xathlon64|Xathlon-fx|Xathlon64-sse3|Xk8-sse3|Xopteron-sse3)
                                ;;
                        X)
                                if test x$with_cpu_64 = x; then
@@ -1145,7 +1158,7 @@ i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu | i
                                ;;
                        *)
                                echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
-                               echo "generic atom core2 nocona x86-64 amdfam10 barcelona k8 opteron athlon64 athlon-fx" 1>&2
+                               echo "generic atom core2 nocona x86-64 amdfam10 barcelona k8 opteron athlon64 athlon-fx athlon64-sse3 k8-sse3 opteron-sse3" 1>&2
                                exit 1
                                ;;
                        esac
@@ -1252,7 +1265,7 @@ i[34567]86-*-solaris2*)
                need_64bit_hwint=yes
                use_gcc_stdint=wrap
                case X"${with_cpu}" in
-               Xgeneric|Xatom|Xcore2|Xnocona|Xx86-64|Xamdfam10|Xbarcelona|Xk8|Xopteron|Xathlon64|Xathlon-fx)
+               Xgeneric|Xatom|Xcore2|Xnocona|Xx86-64|Xamdfam10|Xbarcelona|Xk8|Xopteron|Xathlon64|Xathlon-fx|Xathlon64-sse3|Xk8-sse3|Xopteron-sse3)
                        ;;
                X)
                        if test x$with_cpu_64 = x; then
@@ -1261,7 +1274,7 @@ i[34567]86-*-solaris2*)
                        ;;
                *)
                        echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
-                       echo "generic atom core2 nocona x86-64 amdfam10 barcelona k8 opteron athlon64 athlon-fx" 1>&2
+                       echo "generic atom core2 nocona x86-64 amdfam10 barcelona k8 opteron athlon64 athlon-fx athlon64-sse3 k8-sse3 opteron-sse3" 1>&2
                        exit 1
                        ;;
                esac
@@ -1327,11 +1340,10 @@ i[34567]86-*-mingw* | x86_64-*-mingw*)
        case ${target} in
                *-w64-*)
                        tm_file="${tm_file} i386/mingw-w64.h"
-                       tmake_file="${tmake_file} i386/t-mingw-w64"
                        if test x$enable_targets = xall; then
                                tm_defines="${tm_defines} TARGET_BI_ARCH=1"
                                case X"${with_cpu}" in
-                               Xgeneric|Xatom|Xcore2|Xnocona|Xx86-64|Xamdfam10|Xbarcelona|Xk8|Xopteron|Xathlon64|Xathlon-fx)
+                               Xgeneric|Xatom|Xcore2|Xnocona|Xx86-64|Xamdfam10|Xbarcelona|Xk8|Xopteron|Xathlon64|Xathlon-fx|Xathlon64-sse3|Xk8-sse3|Xopteron-sse3)
                                        ;;
                                X)
                                        if test x$with_cpu_64 = x; then
@@ -1340,14 +1352,13 @@ i[34567]86-*-mingw* | x86_64-*-mingw*)
                                        ;;
                                *)
                                        echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
-                                       echo "generic atom core2 nocona x86-64 amdfam10 barcelona k8 opteron athlon64 athlon-fx" 1>&2
+                                       echo "generic atom core2 nocona x86-64 amdfam10 barcelona k8 opteron athlon64 athlon-fx athlon64-sse3 k8-sse3 opteron-sse3" 1>&2
                                        exit 1
                                        ;;
                                esac
                        fi
                        ;;
                *)
-                       tmake_file="${tmake_file} i386/t-mingw32"
                        ;;
        esac
        tm_file="${tm_file} i386/mingw-stdint.h"
@@ -1358,6 +1369,14 @@ i[34567]86-*-mingw* | x86_64-*-mingw*)
                tmake_eh_file="i386/t-sjlj-eh"
        fi
        tmake_file="${tmake_file} ${tmake_eh_file} i386/t-cygming"
+        case ${target} in
+               *-w64-*)
+                               tmake_file="${tmake_file} i386/t-mingw-w64"
+                       ;;
+               *)
+                               tmake_file="${tmake_file} i386/t-mingw32"
+                       ;;
+       esac
        target_gtfiles="\$(srcdir)/config/i386/winnt.c"
        extra_options="${extra_options} i386/cygming.opt i386/mingw.opt"
        case ${target} in
@@ -1469,6 +1488,14 @@ iq2000*-*-elf*)
         out_file=iq2000/iq2000.c
         md_file=iq2000/iq2000.md
         ;;
+lm32-*-elf*)
+        tm_file="dbxelf.h elfos.h ${tm_file}"
+       tmake_file="${tmake_file} lm32/t-fprules-softfp soft-fp/t-softfp"
+        ;;
+lm32-*-uclinux*)
+        tm_file="dbxelf.h elfos.h ${tm_file} linux.h lm32/uclinux-elf.h"
+       tmake_file="${tmake_file} lm32/t-fprules-softfp soft-fp/t-softfp"
+        ;;
 m32r-*-elf*)
        tm_file="dbxelf.h elfos.h svr4.h newlib-stdint.h ${tm_file}"
        extra_parts="crtinit.o crtfini.o"
@@ -1639,12 +1666,23 @@ mips-sgi-irix[56]*)
        case ${target} in
        *-*-irix5*)
                tm_file="${tm_file} mips/iris5.h"
+               use_gcc_stdint=provide
                ;;
 
        *-*-irix6*)
                tm_file="${tm_file} mips/iris6.h"
                tmake_file="${tmake_file} mips/t-iris6"
                tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_N32"
+               case ${target} in
+               *-*-irix6.[0-4]*)
+                       use_gcc_stdint=provide
+                       ;;
+               *-*-irix6.5*)
+                       # Only IRIX Development Foundation 1.3 for IRIX 6.5
+                       # provides stdint.h.
+                       use_gcc_stdint=wrap
+                       ;;
+               esac
                ;;
        esac
        if test "x$stabs" = xyes
@@ -2316,7 +2354,7 @@ sparc-*-elf*)
        extra_parts="crti.o crtn.o crtbegin.o crtend.o"
        ;;
 sparc-*-linux*)                # SPARC's running GNU/Linux, libc6
-       tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h linux.h glibc-stdint.h"
+       tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/gas.h linux.h glibc-stdint.h"
        extra_options="${extra_options} sparc/long-double-switch.opt"
        tmake_file="${tmake_file} sparc/t-linux"
        if test x$enable_targets = xall; then
@@ -2436,7 +2474,7 @@ sparc64-*-freebsd*|ultrasparc-*-freebsd*)
        esac
        ;;
 sparc64-*-linux*)              # 64-bit SPARC's running GNU/Linux
-       tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h linux.h glibc-stdint.h sparc/linux64.h"
+       tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/gas.h linux.h glibc-stdint.h sparc/linux64.h"
        extra_options="${extra_options} sparc/long-double-switch.opt"
        tmake_file="${tmake_file} sparc/t-linux sparc/t-linux64 sparc/t-crtfm"
        ;;
@@ -2449,7 +2487,7 @@ sparc64-*-netbsd*)
 spu-*-elf*)
        tm_file="dbxelf.h elfos.h spu/spu-elf.h spu/spu.h newlib-stdint.h"
        tmake_file="spu/t-spu-elf"
-       extra_headers="spu_intrinsics.h spu_internals.h vmx2spu.h spu_mfcio.h vec_types.h"
+       extra_headers="spu_intrinsics.h spu_internals.h vmx2spu.h spu_mfcio.h vec_types.h spu_cache.h"
        extra_modes=spu/spu-modes.def
        c_target_objs="${c_target_objs} spu-c.o"
        cxx_target_objs="${cxx_target_objs} spu-c.o"
@@ -2503,7 +2541,7 @@ v850-*-*)
        ;;
 vax-*-linux*)
        tm_file="${tm_file} dbxelf.h elfos.h svr4.h linux.h vax/elf.h vax/linux.h"
-       tmake_file=vax/t-linux
+       tmake_file="${tmake_file} vax/t-linux"
        ;;
 vax-*-netbsdelf*)
        tm_file="${tm_file} elfos.h netbsd.h netbsd-elf.h vax/elf.h vax/netbsd-elf.h"
@@ -2613,8 +2651,11 @@ if test x$with_cpu = x ; then
       case ${target_noncanonical} in
         amdfam10-*|barcelona-*)
           with_cpu=amdfam10
+          ;; 
+        k8_sse3-*|opteron_sse3-*|athlon64_sse3-*)
+          with_cpu=k8-sse3
           ;;
-        k8-*|opteron-*|athlon_64-*)
+        k8-*|opteron-*|athlon64-*|athlon_fx-*)
           with_cpu=k8
           ;;
         athlon_xp-*|athlon_mp-*|athlon_4-*)
@@ -2660,7 +2701,10 @@ if test x$with_cpu = x ; then
         amdfam10-*|barcelona-*)
           with_cpu=amdfam10
           ;;
-        k8-*|opteron-*|athlon_64-*)
+        k8_sse3-*|opteron_sse3-*|athlon64_sse3-*)
+          with_cpu=k8-sse3
+          ;;
+        k8-*|opteron-*|athlon64-*|athlon_fx-*)
           with_cpu=k8
           ;;
         nocona-*)
@@ -2817,7 +2861,7 @@ case "${target}" in
 
                case "$with_fpu" in
                "" \
-               | fpa | fpe2 | fpe3 | maverick | vfp | vfp3 | neon )
+               | fpa | fpe2 | fpe3 | maverick | vfp | vfp3 | vfpv3 | vfpv3-fp16 | vfpv3-d16 | vfpv3-d16-fp16 | vfpv3xd | vfpv3xd-fp16 | neon | neon-fp16 | vfpv4 | vfpv4-d16 | fpv4-sp-d16 | neon-vfpv4)
                        # OK
                        ;;
                *)
@@ -2954,7 +2998,7 @@ case "${target}" in
                                esac
                                # OK
                                ;;
-                       "" | amdfam10 | barcelona | k8 | opteron | athlon64 | athlon-fx | nocona | core2 | atom | generic)
+                       "" | amdfam10 | barcelona | k8-sse3 | opteron-sse3 | athlon64-sse3 | k8 | opteron | athlon64 | athlon-fx | nocona | core2 | atom | generic)
                                # OK
                                ;;
                        *)
@@ -3072,7 +3116,7 @@ case "${target}" in
                        | 401 | 403 | 405 | 405fp | 440 | 440fp | 464 | 464fp \
                        | 476 | 476fp | 505 | 601 | 602 | 603 | 603e | ec603e \
                        | 604 | 604e | 620 | 630 | 740 | 750 | 7400 | 7450 \
-                       | a2 | e300c[23] | 854[08] | e500mc \
+                       | a2 | e300c[23] | 854[08] | e500mc | e500mc64 \
                        | 801 | 821 | 823 | 860 | 970 | G3 | G4 | G5 | cell)
                                # OK
                                ;;