OSDN Git Service

2010-05-19 Joel Sherrill <joel.sherrill@oarcorp.com>
[pf3gnuchains/gcc-fork.git] / libgcc / config.host
index ca07a07..1e76b19 100644 (file)
@@ -1,12 +1,12 @@
 # libgcc host-specific configuration file.
 # Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
-# 2008 Free Software Foundation, Inc.
+# 2008, 2009, 2010 Free Software Foundation, Inc.
 
 #This file is part of GCC.
 
 #GCC is free software; you can redistribute it and/or modify it under
 #the terms of the GNU General Public License as published by the Free
-#Software Foundation; either version 2, or (at your option) any later
+#Software Foundation; either version 3, or (at your option) any later
 #version.
 
 #GCC is distributed in the hope that it will be useful, but WITHOUT
@@ -15,9 +15,8 @@
 #for more details.
 
 #You should have received a copy of the GNU General Public License
-#along with GCC; see the file COPYING.  If not, write to the Free
-#Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
-#02110-1301, USA.
+#along with GCC; see the file COPYING3.  If not see
+#<http://www.gnu.org/licenses/>.
 
 # This is the libgcc host-specific configuration file
 # where a configuration type is mapped to different system-specific
@@ -85,6 +84,8 @@ fido-*-*)
        ;;
 frv*)  cpu_type=frv
        ;;
+moxie*)        cpu_type=moxie
+       ;;
 i[34567]86-*-*)
        cpu_type=i386
        ;;
@@ -96,11 +97,16 @@ ia64-*-*)
 hppa*-*-*)
        cpu_type=pa
        ;;
+lm32*-*-*)
+       cpu_type=lm32
+       ;;
 m32r*-*-*)
         cpu_type=m32r
         ;;
 m68k-*-*)
        ;;
+mep*-*-*)
+       ;;
 mips*-*-*)
        cpu_type=mips
        ;;
@@ -150,12 +156,9 @@ case ${host} in
   # machine-specific sections may refine and add to this
   # configuration.
   ;;
-*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu)
-  # Must come before *-*-gnu* (because of *-*-linux-gnu* systems).
+*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-gnu*)
   extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
   ;;
-*-*-gnu*)
-  ;;
 *-*-netbsd*)
   ;;
 *-*-openbsd*)
@@ -176,30 +179,26 @@ case ${host} in
        then tmake_file=${cpu_type}/t-$rest
        fi
        ;;
-alpha*-*-linux*)
+alpha*-*-linux* | alpha*-*-gnu*)
        tmake_file="${tmake_file} alpha/t-crtfm"
        extra_parts="$extra_parts crtfastmath.o"
        ;;
-alpha*-*-gnu*)
-       ;;
 alpha*-*-freebsd*)
        ;;
 alpha*-*-netbsd*)
        ;;
 alpha*-*-openbsd*)
        ;;
-alpha*-dec-osf[45]*)
+alpha*-dec-osf5.1*)
        ;;
 alpha64-dec-*vms*)
+       tmake_file="vms/t-vms vms/t-vms64 alpha/t-vms"
        ;;
 alpha*-dec-*vms*)
+       tmake_file="vms/t-vms alpha/t-vms"
        ;;
 arc-*-elf*)
        ;;
-arm-*-coff* | armel-*-coff*)
-       ;;
-arm-semi-aof | armel-semi-aof)
-       ;;
 arm-wrs-vxworks)
        ;;
 arm*-*-freebsd*)
@@ -260,8 +259,6 @@ h8300-*-rtems*)
        ;;
 h8300-*-elf*)
        ;;
-h8300-*-*)
-       ;;
 hppa*64*-*-linux*)
        ;;
 hppa*-*-linux*)
@@ -281,8 +278,6 @@ i[34567]86-*-elf*)
        ;;
 x86_64-*-elf*)
        ;;
-i[34567]86-*-aout*)
-       ;;
 i[34567]86-*-freebsd*)
        ;;
 x86_64-*-freebsd*)
@@ -297,9 +292,7 @@ i[34567]86-*-openbsd2.*|i[34567]86-*openbsd3.[0123])
        ;;
 i[34567]86-*-openbsd*)
        ;;
-i[34567]86-*-coff*)
-       ;;
-i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu)
+i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu | i[34567]86-*-gnu*)
        extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
        tmake_file="${tmake_file} i386/t-crtpc i386/t-crtfm"
        ;;
@@ -307,8 +300,6 @@ x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu)
        extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
        tmake_file="${tmake_file} i386/t-crtpc i386/t-crtfm"
        ;;
-i[34567]86-*-gnu*)
-       ;;
 i[34567]86-pc-msdosdjgpp*)
        ;;
 i[34567]86-*-lynxos*)
@@ -325,6 +316,17 @@ i[34567]86-*-nto-qnx*)
 i[34567]86-*-rtems*)
        ;;
 i[34567]86-*-solaris2*)
+       tmake_file="${tmake_file} i386/t-sol2"
+       case ${host} in
+       *-*-solaris2.1[0-9]*)
+               # Solaris 2.10 provides crt1.o, crti.o, crtn.o, and gcrt1.o as
+               # part of the base system.
+               extra_parts="gmon.o crtbegin.o crtend.o"
+               ;;
+       *)
+               extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o"
+               ;;
+       esac
        ;;
 i[4567]86-wrs-vxworks|i[4567]86-wrs-vxworksae)
        ;;
@@ -346,13 +348,24 @@ ia64*-*-freebsd*)
        ;;
 ia64*-*-linux*)
        extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o"
-       tmake_file="ia64/t-ia64"
+       tmake_file="ia64/t-ia64 t-softfp ia64/t-fprules-softfp ia64/t-softfp-compat"
        ;;
 ia64*-*-hpux*)
        ;;
+ia64-hp-*vms*)
+       tmake_file="vms/t-vms vms/t-vms64 ia64/t-vms"
+       ;;
 iq2000*-*-elf*)
         ;;
-m32r-*-elf*)
+lm32-*-elf*|lm32-*-rtems*)
+        extra_parts="crtbegin.o crtend.o crti.o crtn.o"
+        tmake_file="lm32/t-lm32 lm32/t-elf t-softfp"
+       ;;
+lm32-*-uclinux*)
+        extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o"
+        tmake_file="lm32/t-lm32 lm32/t-uclinux t-softfp"
+       ;;      
+m32r-*-elf*|m32r-*-rtems*)
        ;;
 m32rle-*-elf*)
        ;;
@@ -364,10 +377,6 @@ m68hc11-*-*|m6811-*-*)
         ;;
 m68hc12-*-*|m6812-*-*)
         ;;
-m68k-*-aout*)
-       ;;
-m68k-*-coff*)
-       ;;
 m68k-*-elf*)
        ;;
 m68k*-*-netbsdelf*)
@@ -402,6 +411,8 @@ mipsisa32r2-*-elf* | mipsisa32r2el-*-elf*)
        ;;
 mipsisa64-*-elf* | mipsisa64el-*-elf*)
        ;;
+mipsisa64r2-*-elf* | mipsisa64r2el-*-elf*)
+       ;;
 mipsisa64sr71k-*-elf*)
         ;;
 mipsisa64sb1-*-elf* | mipsisa64sb1el-*-elf*)
@@ -421,19 +432,19 @@ mips-wrs-vxworks)
 mipstx39-*-elf* | mipstx39el-*-elf*)
        ;;
 mmix-knuth-mmixware)
+       extra_parts="crti.o crtn.o crtbegin.o crtend.o"
+       tmake_file="${tmake_file} ${cpu_type}/t-${cpu_type}"
        ;;
 mn10300-*-*)
        ;;
-pdp11-*-bsd)
-        ;;
-pdp11-*-*)
+moxie-*-*)
+       tmake_file="moxie/t-moxie moxie/t-moxie-softfp"
+       extra_parts="crtbegin.o crtend.o crti.o crtn.o"
        ;;
-powerpc64-*-linux*)
-       tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-ldbl128"
-       ;;
-powerpc64-*-gnu*)
-       tmake_file="${tmake_file} rs6000/t-ldbl128"
+pdp11-*-*)
        ;;
+picochip-*-*)
+        ;;
 powerpc-*-darwin*)
        ;;
 powerpc64-*-darwin*)
@@ -456,14 +467,11 @@ powerpc-*-eabi*)
        ;;
 powerpc-*-rtems*)
        ;;
-powerpc-*-linux*altivec*)
-       tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-ldbl128"
-       ;;
-powerpc-*-linux*spe*)
-       tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-ldbl128"
+powerpc-*-linux* | powerpc64-*-linux*)
+       tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-ldbl128 t-softfp"
        ;;
-powerpc-*-linux*)
-       tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-ldbl128"
+powerpc64-*-gnu*)
+       tmake_file="${tmake_file} rs6000/t-ldbl128 t-softfp"
        ;;
 powerpc-*-gnu-gnualtivec*)
        tmake_file="${tmake_file} rs6000/t-ldbl128"
@@ -481,19 +489,24 @@ powerpcle-*-eabisim*)
        ;;
 powerpcle-*-eabi*)
        ;;
-rs6000-ibm-aix4.[12]* | powerpc-ibm-aix4.[12]*)
-       ;;
 rs6000-ibm-aix4.[3456789]* | powerpc-ibm-aix4.[3456789]*)
        ;;
 rs6000-ibm-aix5.1.* | powerpc-ibm-aix5.1.*)
        ;;
 rs6000-ibm-aix[56789].* | powerpc-ibm-aix[56789].*)
        ;;
+rx-*-elf)
+       extra_parts="crtbegin.o crtend.o"
+       tmake_file="rx/t-rx"
+       ;;
 s390-*-linux*)
+       tmake_file="${tmake_file} s390/t-crtstuff s390/t-linux s390/32/t-floattodi"
        ;;
 s390x-*-linux*)
+       tmake_file="${tmake_file} s390/t-crtstuff s390/t-linux"
        ;;
 s390x-ibm-tpf*)
+       tmake_file="${tmake_file} s390/t-crtstuff s390/t-tpf"
        ;;
 score-*-elf)
         ;;
@@ -512,8 +525,6 @@ sh-*-rtems*)
        ;;
 sh-wrs-vxworks)
        ;;
-sh-*-*)
-       ;;
 sparc-*-netbsdelf*)
        ;;
 sparc64-*-openbsd*)
@@ -524,7 +535,7 @@ sparc-*-linux*)             # SPARC's running GNU/Linux, libc6
        extra_parts="$extra_parts crtfastmath.o"
        tmake_file="${tmake_file} sparc/t-crtfm"
        ;;
-sparc-*-rtems*)
+sparc-*-rtems* | sparc64-*-rtems* )
        ;;
 sparc64-*-solaris2* | sparcv9-*-solaris2*)
        ;;
@@ -550,6 +561,8 @@ v850e-*-*)
        ;;
 v850-*-*)
        ;;
+vax-*-linux*)
+       ;;
 vax-*-netbsdelf*)
        ;;
 vax-*-netbsd*)
@@ -558,15 +571,17 @@ vax-*-openbsd*)
        ;;
 xstormy16-*-elf)
        ;;
-xtensa-*-elf*)
+xtensa*-*-elf*)
        ;;
-xtensa-*-linux*)
+xtensa*-*-linux*)
        ;;
 am33_2.0-*-linux*)
        extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
        ;;
-m32c-*-elf*)
+m32c-*-elf*|m32c-*-rtems*)
        ;;
+mep*-*-*)
+       ;;
 *)
        echo "*** Configuration ${host} not supported" 1>&2
        exit 1
@@ -574,14 +589,31 @@ m32c-*-elf*)
 esac
 
 case ${host} in
-i[34567]86-*-linux* | x86_64-*-linux*)
+i[34567]86-*-linux* | x86_64-*-linux* | \
+  i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu | \
+  i[34567]86-*-gnu*)
        tmake_file="${tmake_file} t-tls"
        ;;
 esac
 
 case ${host} in
 i[34567]86-*-darwin* | x86_64-*-darwin* | \
-  i[34567]86-*-linux* | x86_64-*-linux*)
-       tmake_file="${tmake_file} i386/${host_address}/t-fprules-softfp"
+  i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu | \
+  i[34567]86-*-linux* | x86_64-*-linux* | \
+  i[34567]86-*-gnu* | \
+  i[34567]86-*-solaris2* | \
+  i[34567]86-*-cygwin* | i[34567]86-*-mingw* | x86_64-*-mingw*)
+       if test "${host_address}" = 32; then
+               tmake_file="${tmake_file} t-softfp i386/${host_address}/t-fprules-softfp"
+       fi
+       ;;
+esac
+
+case ${host} in
+i[34567]86-*-linux* | x86_64-*-linux*)
+       # Provide backward binary compatibility for 64bit Linux/x86.
+       if test "${host_address}" = 64; then
+               tmake_file="${tmake_file} i386/${host_address}/t-softfp-compat"
+       fi
        ;;
 esac