OSDN Git Service

Daily bump.
[pf3gnuchains/gcc-fork.git] / gcc / config.gcc
index 8e4067d..7423f63 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, 2010, 2011 Free Software Foundation, Inc.
+# 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
 
 #This file is part of GCC.
 
@@ -242,8 +242,18 @@ md_file=
 
 # Obsolete configurations.
 case ${target} in
+ # Avoid special cases that are not obsolete
+   arm*-*-*eabi*                       \
+ )
+     ;;
    alpha*-dec-osf5.1*                  \
- | i[34567]86-*-interix3*              \
+ | arm*-*-ecos-elf                     \
+ | arm*-*-elf                          \
+ | arm*-*-freebsd*                     \
+ | arm*-*-linux*                       \
+ | arm*-*-rtems*                       \
+ | arm*-*-uclinux*                     \
+ | arm*-wince-pe*                      \
  | mips-sgi-irix6.5                    \
  | mips*-*-openbsd*                    \
  | score-*                             \
@@ -449,6 +459,14 @@ tic6x-*-*)
 xtensa*-*-*)
        extra_options="${extra_options} fused-madd.opt"
        ;;
+tilegx*-*-*)
+       cpu_type=tilegx
+       need_64bit_hwint=yes
+       ;;
+tilepro-*-*)
+       cpu_type=tilepro
+       need_64bit_hwint=yes
+       ;;
 esac
 
 tm_file=${cpu_type}/${cpu_type}.h
@@ -717,6 +735,8 @@ case ${target} in
   extra_objs="vms.o"
   target_gtfiles="$target_gtfiles \$(srcdir)/config/vms/vms.c"
   tm_p_file="${tm_p_file} vms/vms-protos.h"
+  c_target_objs="vms-c.o"
+  cxx_target_objs="vms-c.o"
   if test x$gnu_ld != xyes; then
     # Build wrappers for native case.
     extra_programs="ld\$(exeext) ar\$(exeext)"
@@ -790,12 +810,12 @@ alpha*-dec-osf5.1*)
        esac
        ;;
 alpha64-dec-*vms*)
-       tm_file="${tm_file} alpha/vms.h alpha/vms64.h"
+       tm_file="${tm_file} vms/vms.h vms/vms64.h alpha/vms.h"
        xm_file="alpha/xm-vms.h vms/xm-vms64.h"
        tmake_file="${tmake_file} vms/t-vms64 alpha/t-vms"
        ;;
 alpha*-dec-*vms*)
-       tm_file="${tm_file} alpha/vms.h"
+       tm_file="${tm_file} vms/vms.h alpha/vms.h"
        xm_file="alpha/xm-vms.h"
        tmake_file="${tmake_file} alpha/t-vms"
        ;;
@@ -816,7 +836,7 @@ arm*-*-netbsdelf*)
 arm*-*-linux*)                 # ARM GNU/Linux with ELF
        tm_file="dbxelf.h elfos.h gnu-user.h linux.h linux-android.h glibc-stdint.h arm/elf.h arm/linux-gas.h arm/linux-elf.h"
        case $target in
-       arm*b-*)
+       arm*b-*-linux*)
                tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
                ;;
        esac
@@ -908,12 +928,13 @@ arm*-wince-pe*)
        ;;
 avr-*-rtems*)
        tm_file="elfos.h avr/elf.h avr/avr.h dbxelf.h avr/rtems.h rtems.h newlib-stdint.h"
-       tmake_file="avr/t-avr t-rtems avr/t-rtems"
+       tmake_file="avr/t-avr avr/t-multilib t-rtems 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.h dbxelf.h newlib-stdint.h"
+       tm_file="elfos.h avr/elf.h avr/avr.h dbxelf.h avr/avr-stdint.h"
+       tmake_file="avr/t-avr avr/t-multilib"
        use_gcc_stdint=wrap
        extra_gcc_objs="driver-avr.o avr-devices.o"
        extra_objs="avr-devices.o avr-log.o"
@@ -942,6 +963,11 @@ bfin*-*)
        use_collect2=no
        use_gcc_stdint=wrap
        ;;
+cr16-*-elf)
+        tm_file="elfos.h ${tm_file}"
+        tmake_file="${tmake_file} cr16/t-cr16 "
+        use_collect2=no
+        ;;
 crisv32-*-elf | crisv32-*-none)
        tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
        tmake_file="cris/t-cris"
@@ -1452,6 +1478,8 @@ i[34567]86-*-mingw* | x86_64-*-mingw*)
        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"
+       gas=yes
+       gnu_ld=yes
        default_use_cxa_atexit=yes
        use_gcc_stdint=wrap
        case ${enable_threads} in
@@ -1470,11 +1498,11 @@ i[34567]86-*-mingw* | x86_64-*-mingw*)
                        ;;
        esac
        ;;
-i[34567]86-*-interix3*)
-       tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/i386-interix.h i386/i386-interix3.h interix.h interix3.h"
+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 interix.opt"
-       extra_objs=winnt.o
+       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'
@@ -1528,7 +1556,7 @@ ia64*-*-hpux*)
        esac
        ;;
 ia64-hp-*vms*)
-       tm_file="${tm_file} elfos.h ia64/sysv4.h ia64/elf.h ia64/vms.h ia64/vms64.h"
+       tm_file="${tm_file} elfos.h ia64/sysv4.h ia64/elf.h vms/vms.h vms/vms64.h ia64/vms.h"
        xm_file="vms/xm-vms.h vms/xm-vms64.h"
        tmake_file="${tmake_file} vms/t-vms64 ia64/t-ia64"
        target_cpu_default="0"
@@ -1692,6 +1720,8 @@ microblaze*-*-*)
 mips-sgi-irix6.5*)
        tm_file="elfos.h ${tm_file} mips/iris6.h"
        tmake_file="mips/t-irix6 t-slibgcc"
+       c_target_objs="irix6-c.o"
+       cxx_target_objs="irix6-c.o"
        extra_options="${extra_options} rpath.opt mips/iris6.opt"
        target_cpu_default="MASK_ABICALLS"
        tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_N32"
@@ -1924,10 +1954,20 @@ powerpc64-*-darwin*)
        tm_file="${tm_file} ${cpu_type}/darwin8.h ${cpu_type}/darwin64.h"
        extra_headers=altivec.h
        ;;
-powerpc-*-freebsd*)
-       tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file} rs6000/sysv4.h rs6000/freebsd.h"
-       tmake_file="rs6000/t-fprules rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm"
+powerpc*-*-freebsd*)
+       tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file} rs6000/sysv4.h"
        extra_options="${extra_options} rs6000/sysv4.opt"
+       tmake_file="rs6000/t-fprules rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm"
+       case ${host} in
+            powerpc64*)
+               tm_file="${tm_file} rs6000/default64.h rs6000/freebsd64.h"
+               tmake_file="${tmake_file} rs6000/t-freebsd64"
+               extra_options="${extra_options} rs6000/linux64.opt"
+               ;;
+            *)
+               tm_file="${tm_file} rs6000/freebsd.h"
+               ;;
+       esac
        ;;
 powerpc-*-netbsd*)
        tm_file="${tm_file} dbxelf.h elfos.h netbsd.h netbsd-elf.h freebsd-spec.h rs6000/sysv4.h rs6000/netbsd.h"
@@ -2113,6 +2153,13 @@ rs6000-ibm-aix[6789].* | powerpc-ibm-aix[6789].*)
        use_gcc_stdint=wrap
        extra_headers=altivec.h
        ;;
+rl78-*-elf*)
+       tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
+       target_has_targetm_common=no
+       c_target_objs="rl78-c.o"
+       cxx_target_objs="rl78-c.o"
+       tmake_file="${tmake_file} rl78/t-rl78"
+       ;;
 rx-*-elf*)
        tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
        tmake_file="${tmake_file} rx/t-rx"
@@ -2348,7 +2395,7 @@ sparc-*-rtems*)
        tmake_file="sparc/t-sparc sparc/t-elf t-rtems"
        ;;
 sparc-*-linux*)
-       tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h"
+       tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/tso.h"
        extra_options="${extra_options} sparc/long-double-switch.opt"
        case ${target} in
            *-leon-*)
@@ -2375,7 +2422,7 @@ sparc-*-netbsdelf*)
        tmake_file="${tmake_file} sparc/t-sparc"
        ;;
 sparc*-*-solaris2*)
-       tm_file="sparc/biarch64.h ${tm_file} ${sol2_tm_file} sol2-bi.h"
+       tm_file="sparc/biarch64.h ${tm_file} ${sol2_tm_file} sol2-bi.h sparc/tso.h"
        case ${target} in
            sparc64-*-* | sparcv9-*-*)
                tm_file="sparc/default-64.h ${tm_file}"
@@ -2401,7 +2448,7 @@ sparc64-*-rtems*)
        tmake_file="${tmake_file} sparc/t-sparc t-rtems"
        ;;
 sparc64-*-linux*)
-       tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/default-64.h sparc/linux64.h"
+       tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/default-64.h sparc/linux64.h sparc/tso.h"
        extra_options="${extra_options} sparc/long-double-switch.opt"
        tmake_file="${tmake_file} sparc/t-sparc sparc/t-linux64"
        ;;
@@ -2454,6 +2501,20 @@ tic6x-*-uclinux)
        tmake_file="${tmake_file} c6x/t-c6x c6x/t-c6x-elf c6x/t-c6x-uclinux"
        use_collect2=no
        ;;
+tilegx-*-linux*)
+       tm_file="elfos.h gnu-user.h linux.h glibc-stdint.h tilegx/linux.h ${tm_file}"
+        tmake_file="${tmake_file} tilegx/t-tilegx"
+       extra_objs="mul-tables.o"
+       c_target_objs="tilegx-c.o"
+       cxx_target_objs="tilegx-c.o"
+       ;;
+tilepro-*-linux*)
+       tm_file="elfos.h gnu-user.h linux.h glibc-stdint.h tilepro/linux.h ${tm_file}"
+        tmake_file="${tmake_file} tilepro/t-tilepro"
+       extra_objs="mul-tables.o"
+       c_target_objs="tilepro-c.o"
+       cxx_target_objs="tilepro-c.o"
+       ;;
 v850*-*-*)
        case ${target} in
        v850e2v3-*-*)
@@ -2931,11 +2992,6 @@ if test x$with_schedule = x; then
        esac
 fi
 
-# Support --enable-initfini-array.
-if test x$enable_initfini_array = xyes; then
-  tm_file="${tm_file} initfini-array.h"
-fi
-
 # Validate and mark as valid any --with options supported
 # by this target.  In order to use a particular --with option
 # you must list it in supported_defaults; validating the value
@@ -3012,12 +3068,20 @@ case "${target}" in
 
                case "$with_fpu" in
                "" \
-               | fpa | fpe2 | fpe3 | maverick | vfp | vfp3 | vfpv3 \
+               | 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
                        ;;
+               fpa | fpe2 | fpe3 | maverick)
+                       if test "x$enable_obsolete" != xyes; then
+                           echo "*** Configuration option --with-fpu=${with_fpu} 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
+                           exit 1
+                       fi
+                       ;;
                *)
                        echo "Unknown fpu used in --with-fpu=$with_fpu" 2>&1
                        exit 1