OSDN Git Service

* MAINTAINERS: Add myself as a maintainer for the RX port.
[pf3gnuchains/gcc-fork.git] / gcc / config.gcc
index 426fe88..7dac300 100644 (file)
@@ -286,8 +286,8 @@ i[34567]86-*-*)
        cxx_target_objs="i386-c.o"
        extra_headers="cpuid.h mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h
                       pmmintrin.h tmmintrin.h ammintrin.h smmintrin.h
-                      nmmintrin.h bmmintrin.h mmintrin-common.h
-                      wmmintrin.h immintrin.h x86intrin.h avxintrin.h 
+                      nmmintrin.h bmmintrin.h fma4intrin.h wmmintrin.h
+                      immintrin.h x86intrin.h avxintrin.h
                       ia32intrin.h cross-stdarg.h"
        ;;
 x86_64-*-*)
@@ -296,8 +296,8 @@ x86_64-*-*)
        cxx_target_objs="i386-c.o"
        extra_headers="cpuid.h mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h
                       pmmintrin.h tmmintrin.h ammintrin.h smmintrin.h
-                      nmmintrin.h bmmintrin.h mmintrin-common.h
-                      wmmintrin.h immintrin.h x86intrin.h avxintrin.h 
+                      nmmintrin.h bmmintrin.h fma4intrin.h wmmintrin.h
+                      immintrin.h x86intrin.h avxintrin.h 
                       ia32intrin.h cross-stdarg.h"
        need_64bit_hwint=yes
        ;;
@@ -327,7 +327,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)
+           xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[34567]|xpower6x|xrs64a|xcell|xa2)
                cpu_is_64bit=yes
                ;;
        esac
@@ -373,12 +373,6 @@ then
 fi
 
 case ${target} in
-i[34567]86-w64-*)
-       tm_file="i386/biarch32.h ${tm_file}"
-       ;;
-esac
-
-case ${target} in
 i[34567]86-*-*)
        if test "x$enable_cld" = xyes; then
                tm_defines="${tm_defines} USE_IX86_CLD=1"
@@ -406,9 +400,12 @@ case ${target} in
 *-*-darwin*)
   tm_file="${tm_file} darwin.h"
   case ${target} in
-  *-*-darwin[912]*)
+  *-*-darwin9*)
     tm_file="${tm_file} darwin9.h"
     ;;
+  *-*-darwin[12][0-9]*)
+    tm_file="${tm_file} darwin9.h darwin10.h"
+    ;;
   esac
   tm_file="${tm_file} ${cpu_type}/darwin.h"
   tm_p_file="${tm_p_file} darwin-protos.h"
@@ -478,6 +475,13 @@ case ${target} in
       ;;
   esac
   fbsd_tm_file="${fbsd_tm_file} freebsd-spec.h freebsd.h freebsd-stdint.h"
+  case ${target} in
+    *-*-freebsd[345].*)
+      :;;
+    *)
+      default_use_cxa_atexit=yes;;
+  esac
+  # need_64bit_hwint=yes # system compiler has this for all arch!
   use_gcc_stdint=wrap
   ;;
 *-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu)
@@ -628,11 +632,11 @@ alpha*-*-netbsd*)
        tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee"
        ;;
 alpha*-*-openbsd*)
-       tm_defines="${tm_defines} OBSD_NO_DYNAMIC_LIBRARIES OBSD_HAS_DECLARE_FUNCTION_NAME OBSD_HAS_DECLARE_FUNCTION_SIZE OBSD_HAS_DECLARE_OBJECT"
-       tm_file="alpha/alpha.h openbsd.h alpha/openbsd.h"
+       tm_defines="${tm_defines} OBSD_HAS_DECLARE_FUNCTION_NAME OBSD_HAS_DECLARE_FUNCTION_SIZE OBSD_HAS_DECLARE_OBJECT"
+       tm_file="alpha/alpha.h alpha/elf.h openbsd.h openbsd-stdint.h alpha/openbsd.h openbsd-libpthread.h"
        # default x-alpha is only appropriate for dec-osf.
        target_cpu_default="MASK_GAS"
-       tmake_file="alpha/t-alpha alpha/t-ieee"
+       tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee"
        ;;
 alpha*-dec-osf[45]*)
        if test x$stabs = xyes
@@ -718,7 +722,7 @@ arm*-*-linux*)                      # ARM GNU/Linux with ELF
        case ${target} in
        arm*-*-linux-*eabi)
            tm_file="$tm_file arm/bpabi.h arm/linux-eabi.h"
-           tmake_file="$tmake_file arm/t-arm-elf arm/t-bpabi arm/t-linux-eabi"
+           tmake_file="$tmake_file arm/t-arm-elf arm/t-bpabi arm/t-linux-eabi t-slibgcc-libgcc"
            # The BPABI long long divmod functions return a 128-bit value in
            # registers r0-r3.  Correctly modeling that requires the use of
            # TImode.
@@ -1116,7 +1120,7 @@ i[34567]86-*-openbsd2.*|i[34567]86-*openbsd3.[0123])
        ;;
 i[34567]86-*-openbsd*)
        tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h"
-       tm_file="${tm_file} openbsd.h i386/openbsdelf.h"
+       tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h i386/openbsdelf.h"
        gas=yes
        gnu_ld=yes
        ;;
@@ -1312,11 +1316,35 @@ i[34567]86-*-pe | i[34567]86-*-cygwin*)
 i[34567]86-*-mingw* | x86_64-*-mingw*)
        tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h i386/mingw32.h"
        xm_file=i386/xm-mingw32.h
+       case ${target} in
+               x86_64-*-* | *-w64-*)
+                       need_64bit_hwint=yes
+                       ;;
+               *)
+                       ;;
+       esac
        # This makes the logic if mingw's or the w64 feature set has to be used
        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)
+                                       ;;
+                               X)
+                                       if test x$with_cpu_64 = x; then
+                                               with_cpu_64=generic
+                                       fi
+                                       ;;
+                               *)
+                                       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
+                                       exit 1
+                                       ;;
+                               esac
+                       fi
                        ;;
                *)
                        tmake_file="${tmake_file} i386/t-mingw32"
@@ -1533,7 +1561,7 @@ m68k*-*-openbsd*)
        default_cf_cpu=5475
        # needed to unconfuse gdb
        tm_defines="${tm_defines} OBSD_OLD_GAS"
-       tm_file="${tm_file} openbsd.h m68k/openbsd.h"
+       tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h m68k/openbsd.h"
        tmake_file="t-libc-ok t-openbsd m68k/t-openbsd"
        # we need collect2 until our bug is fixed...
        use_collect2=yes
@@ -1671,7 +1699,7 @@ mips*-*-linux*)                           # Linux MIPS, either endian.
 mips*-*-openbsd*)
        tm_defines="${tm_defines} OBSD_HAS_DECLARE_FUNCTION_NAME OBSD_HAS_DECLARE_OBJECT OBSD_HAS_CORRECT_SPECS"
        target_cpu_default="MASK_ABICALLS"
-       tm_file="mips/mips.h openbsd.h mips/openbsd.h mips/sdb.h"
+       tm_file="mips/mips.h openbsd.h openbsd-stdint.h openbsd-libpthread.h mips/openbsd.h mips/sdb.h"
        case ${target} in
        mips*el-*-openbsd*)
            tm_defines="${tm_defines} TARGET_ENDIAN_DEFAULT=0";;
@@ -1927,7 +1955,7 @@ powerpc-*-linux* | powerpc64-*-linux*)
                tm_file="${tm_file} rs6000/linux.h glibc-stdint.h"
                ;;
        esac
-       tmake_file="${tmake_file} rs6000/t-fprules-softfp soft-fp/t-softfp"
+       tmake_file="${tmake_file} t-slibgcc-libgcc rs6000/t-fprules-softfp soft-fp/t-softfp"
        case ${target} in
            powerpc*-*-linux*altivec*)
                tm_file="${tm_file} rs6000/linuxaltivec.h" ;;
@@ -1943,19 +1971,19 @@ powerpc-*-linux* | powerpc64-*-linux*)
 powerpc64-*-gnu*)
        tm_file="${tm_file} elfos.h svr4.h freebsd-spec.h gnu.h rs6000/sysv4.h rs6000/default64.h rs6000/linux64.h rs6000/gnu.h glibc-stdint.h"
        extra_options="${extra_options} rs6000/sysv4.opt rs6000/linux64.opt"
-       tmake_file="t-slibgcc-elf-ver t-gnu"
+       tmake_file="t-slibgcc-elf-ver t-slibgcc-libgcc t-gnu"
        ;;
 powerpc-*-gnu-gnualtivec*)
        tm_file="${cpu_type}/${cpu_type}.h elfos.h svr4.h freebsd-spec.h gnu.h rs6000/sysv4.h rs6000/linux.h rs6000/linuxaltivec.h rs6000/gnu.h glibc-stdint.h"
        extra_options="${extra_options} rs6000/sysv4.opt"
-       tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcos t-slibgcc-elf-ver t-gnu rs6000/t-ppccomm"
+       tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcos t-slibgcc-elf-ver t-slibgcc-libgcc t-gnu rs6000/t-ppccomm"
        if test x$enable_threads = xyes; then
                thread_file='posix'
        fi
        ;;
 powerpc-*-gnu*)
        tm_file="${cpu_type}/${cpu_type}.h elfos.h svr4.h freebsd-spec.h gnu.h rs6000/sysv4.h rs6000/linux.h rs6000/gnu.h glibc-stdint.h"
-       tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcos t-slibgcc-elf-ver t-gnu rs6000/t-ppccomm"
+       tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcos t-slibgcc-elf-ver t-slibgcc-libgcc t-gnu rs6000/t-ppccomm"
        extra_options="${extra_options} rs6000/sysv4.opt"
        if test x$enable_threads = xyes; then
                thread_file='posix'
@@ -2049,9 +2077,12 @@ rs6000-ibm-aix[6789].* | powerpc-ibm-aix[6789].*)
        use_gcc_stdint=wrap
        extra_headers=altivec.h
        ;;
+rx-*-elf*)
+       tm_file="dbxelf.h elfos.h svr4.h newlib-stdint.h ${tm_file} ../../libgcc/config/rx/rx-abi.h"
+       tmake_file="${tmake_file} rx/t-rx"
+       ;;
 s390-*-linux*)
        tm_file="s390/s390.h dbxelf.h elfos.h svr4.h linux.h glibc-stdint.h s390/linux.h"
-       tmake_file="${tmake_file} t-dfprules s390/t-crtstuff s390/t-linux"
        ;;
 s390x-*-linux*)
        tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h svr4.h linux.h glibc-stdint.h s390/linux.h"
@@ -2059,7 +2090,7 @@ s390x-*-linux*)
        md_file=s390/s390.md
        extra_modes=s390/s390-modes.def
        out_file=s390/s390.c
-       tmake_file="${tmake_file} t-dfprules s390/t-crtstuff s390/t-linux s390/t-linux64"
+       tmake_file="${tmake_file} s390/t-linux64"
        ;;
 s390x-ibm-tpf*)
         tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h svr4.h s390/tpf.h"
@@ -2068,7 +2099,6 @@ s390x-ibm-tpf*)
         extra_modes=s390/s390-modes.def
         out_file=s390/s390.c
         extra_parts="crtbeginS.o crtendS.o"
-        tmake_file="s390/t-crtstuff s390/t-tpf"
         thread_file='tpf'
        extra_options="${extra_options} s390/tpf.opt"
        ;;
@@ -2117,17 +2147,14 @@ sh-*-symbianelf* | sh[12346l]*-*-symbianelf* | \
        sh*-*-linux*)   tmake_file="${tmake_file} sh/t-linux"
                        tm_file="${tm_file} linux.h glibc-stdint.h sh/linux.h" ;;
        sh*-*-netbsd*)  tm_file="${tm_file} netbsd.h netbsd-elf.h sh/netbsd-elf.h" ;;
-       sh*-*-elf)      if test x$with_libgloss != xno; then
-                               with_libgloss=yes
-                               tm_file="${tm_file} sh/newlib.h"
-                       fi
+       sh*-superh-elf) if test x$with_libgloss != xno; then
+                                with_libgloss=yes
+                                tm_file="${tm_file} sh/newlib.h"
+                        fi
                        tm_file="${tm_file} sh/embed-elf.h"
-                       case ${target} in
-                       sh*-superh-elf) tm_file="${tm_file} sh/superh.h"
-                                       tmake_file="${tmake_file} sh/t-superh"
-                                       extra_options="${extra_options} sh/superh.opt" ;;
-                       esac
-                       ;;
+                       tm_file="${tm_file} sh/superh.h"
+                       tmake_file="${tmake_file} sh/t-superh"
+                       extra_options="${extra_options} sh/superh.opt" ;;
        *)              if test x$with_newlib = xyes \
                           && test x$with_libgloss = xyes; then
                                tm_file="${tm_file} sh/newlib.h"
@@ -2159,7 +2186,8 @@ sh-*-symbianelf* | sh[12346l]*-*-symbianelf* | \
        *-*-symbianelf*)
                tmake_file="sh/t-symbian"
                tm_file="sh/symbian-pre.h sh/little.h ${tm_file} sh/symbian-post.h"
-               extra_objs="symbian.o"
+               c_target_objs="symbian-base.o symbian-c.o"
+               cxx_target_objs="symbian-base.o symbian-cxx.o"
                extra_parts="crt1.o crti.o crtn.o crtbegin.o crtend.o crtbeginS.o crtendS.o"
                ;;
        *-*-elf*)
@@ -2276,7 +2304,8 @@ sparc-*-netbsdelf*)
        extra_options="${extra_options} sparc/long-double-switch.opt"
        ;;
 sparc64-*-openbsd*)
-       tm_file="sparc/openbsd1-64.h ${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sp64-elf.h openbsd.h sparc/openbsd64.h"
+       tm_file="sparc/openbsd1-64.h ${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sp64-elf.h"
+       tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h sparc/openbsd64.h"
        extra_options="${extra_options} sparc/little-endian.opt"
        gas=yes gnu_ld=yes
        with_cpu=ultrasparc
@@ -2486,7 +2515,7 @@ vax-*-netbsd*)
        use_collect2=yes
        ;;
 vax-*-openbsd*)
-       tm_file="vax/vax.h vax/openbsd1.h openbsd.h vax/openbsd.h"
+       tm_file="vax/vax.h vax/openbsd1.h openbsd.h openbsd-stdint.h openbsd-pthread.h vax/openbsd.h"
        use_collect2=yes
        ;;
 xstormy16-*-elf)
@@ -3041,9 +3070,9 @@ case "${target}" in
                        | power | power[234567] | power6x | powerpc | powerpc64 \
                        | rios | rios1 | rios2 | rsc | rsc1 | rs64a \
                        | 401 | 403 | 405 | 405fp | 440 | 440fp | 464 | 464fp \
-                       | 505 | 601 | 602 | 603 | 603e | ec603e | 604 \
-                       | 604e | 620 | 630 | 740 | 750 | 7400 | 7450 \
-                       | e300c[23] | 854[08] | e500mc \
+                       | 476 | 476fp | 505 | 601 | 602 | 603 | 603e | ec603e \
+                       | 604 | 604e | 620 | 630 | 740 | 750 | 7400 | 7450 \
+                       | a2 | e300c[23] | 854[08] | e500mc \
                        | 801 | 821 | 823 | 860 | 970 | G3 | G4 | G5 | cell)
                                # OK
                                ;;