X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=libgcc%2Fconfig.host;h=4a1cfb2a29577e74aa91b3f9efcb508fda062dc5;hp=ac18f04a0a42c9f503c4e740373c4aeefdfe0cd1;hb=09ec66c86fbb3f7b4219694c937a175bd67318ef;hpb=c11c6ae352d7dfb6cb45df46052538d6fbb3cfeb diff --git a/libgcc/config.host b/libgcc/config.host index ac18f04a0a4..4a1cfb2a295 100644 --- a/libgcc/config.host +++ b/libgcc/config.host @@ -1,12 +1,12 @@ # libgcc host-specific configuration file. -# Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 -# Free Software Foundation, Inc. +# Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, +# 2008, 2009 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 +#. # This is the libgcc host-specific configuration file # where a configuration type is mapped to different system-specific @@ -71,23 +70,20 @@ alpha*-*-*) am33_2.0-*-linux*) cpu_type=mn10300 ;; -strongarm*-*-*) - cpu_type=arm - ;; arm*-*-*) cpu_type=arm ;; +avr-*-*) + cpu_type=avr + ;; bfin*-*) cpu_type=bfin ;; -ep9312*-*-*) - cpu_type=arm +fido-*-*) + cpu_type=m68k ;; frv*) cpu_type=frv ;; -xscale-*-*) - cpu_type=arm - ;; i[34567]86-*-*) cpu_type=i386 ;; @@ -96,15 +92,12 @@ x86_64-*-*) ;; ia64-*-*) ;; -hppa*-*-* | parisc*-*-*) +hppa*-*-*) cpu_type=pa ;; m32r*-*-*) cpu_type=m32r ;; -m680[012]0-*-*) - cpu_type=m68k - ;; m68k-*-*) ;; mips*-*-*) @@ -134,9 +127,6 @@ s390*-*-*) sh[123456789lbe]*-*-*) cpu_type=sh ;; -tic4x-*-*) - cpu_type=c4x - ;; esac # Common parts for widely ported systems. @@ -159,15 +149,9 @@ case ${host} in # machine-specific sections may refine and add to this # configuration. ;; -*-*-linux*libc1* | *-*-linux*aout*) - # Avoid the generic linux case. - ;; -*-*-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*) @@ -188,12 +172,9 @@ case ${host} in then tmake_file=${cpu_type}/t-$rest fi ;; -alpha*-*-unicosmk*) - ;; -alpha*-*-linux*) +alpha*-*-linux* | alpha*-*-gnu*) tmake_file="${tmake_file} alpha/t-crtfm" - ;; -alpha*-*-gnu*) + extra_parts="$extra_parts crtfastmath.o" ;; alpha*-*-freebsd*) ;; @@ -209,13 +190,9 @@ alpha*-dec-*vms*) ;; arc-*-elf*) ;; -arm-*-coff* | armel-*-coff*) - ;; -arm-semi-aof | armel-semi-aof) - ;; arm-wrs-vxworks) ;; -arm*-*-freebsd*|strongarm*-*-freebsd*) +arm*-*-freebsd*) ;; arm*-*-netbsdelf*) ;; @@ -231,59 +208,51 @@ arm*-*-eabi* | arm*-*-symbianelf* ) ;; arm*-*-rtems*) ;; -arm*-*-elf | ep9312-*-elf) +arm*-*-elf) ;; arm*-wince-pe*) ;; arm-*-pe*) ;; -arm*-*-kaos*) - ;; avr-*-rtems*) ;; avr-*-*) + # Make HImode functions for AVR + tmake_file=${cpu_type}/t-avr ;; bfin*-elf*) ;; bfin*-uclinux*) ;; +bfin*-linux-uclibc*) + # No need to build crtbeginT.o on uClibc systems. Should probably + # be moved to the OS specific section above. + extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o" + ;; bfin*-*) ;; -c4x-*-rtems* | tic4x-*-rtems*) - ;; -c4x-* | tic4x-*) - ;; -cris-*-aout) +crisv32-*-elf | crisv32-*-none | cris-*-elf | cris-*-none) + extra_parts="crtbegin.o crtend.o" ;; -cris-*-elf | cris-*-none) - ;; -cris-*-linux*) +cris-*-linux* | crisv32-*-linux*) ;; crx-*-elf) ;; +fido-*-elf) + ;; fr30-*-elf) ;; frv-*-elf) ;; frv-*-*linux*) ;; -h8300-*-rtemscoff*) - ;; h8300-*-rtems*) ;; h8300-*-elf*) ;; -h8300-*-*) +hppa*64*-*-linux*) ;; -hppa*64*-*-linux* | parisc*64*-*-linux*) - ;; -hppa*-*-linux* | parisc*-*-linux*) - ;; -hppa1.1-*-pro*) - ;; -hppa1.1-*-osf*) - ;; -hppa1.1-*-bsd*) +hppa*-*-linux*) ;; hppa[12]*-*-hpux10*) ;; @@ -298,11 +267,7 @@ x86_64-*-darwin*) ;; i[34567]86-*-elf*) ;; -i[34567]86-sequent-ptx4* | i[34567]86-sequent-sysv4*) - ;; -i[34567]86-*-aout*) - ;; -i[34567]86-*-beoself* | i[34567]86-*-beos*) +x86_64-*-elf*) ;; i[34567]86-*-freebsd*) ;; @@ -318,17 +283,13 @@ 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) - extra_parts="$extra_parts crtfastmath.o" - tmake_file="${tmake_file} i386/t-crtfm" +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" ;; x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu) - extra_parts="$extra_parts crtfastmath.o" - tmake_file="${tmake_file} i386/t-crtfm" - ;; -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" ;; i[34567]86-pc-msdosdjgpp*) ;; @@ -345,39 +306,46 @@ i[34567]86-*-nto-qnx*) ;; i[34567]86-*-rtems*) ;; -i[34567]86-*-sco3.2v5*) # 80386 running SCO Open Server 5 - ;; i[34567]86-*-solaris2*) - ;; -i[34567]86-*-sysv5*) # Intel x86 on System V Release 5 - ;; -i[34567]86-*-sysv4*) # Intel 80386's running system V.4 + 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) ;; -i[34567]86-*-pe | i[34567]86-*-cygwin*) +i[34567]86-*-pe) ;; -i[34567]86-*-mingw32*) +i[34567]86-*-cygwin* | i[34567]86-*-mingw*) + extra_parts="crtbegin.o crtend.o crtfastmath.o" + tmake_file="i386/t-cygming i386/t-crtfm" ;; -i[34567]86-*-uwin*) +x86_64-*-mingw*) ;; i[34567]86-*-interix3*) ;; -i[34567]86-*-kaos*) - ;; ia64*-*-elf*) + extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o" + tmake_file="ia64/t-ia64" ;; 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*) ;; iq2000*-*-elf*) ;; -m32r-*-elf*) +m32r-*-elf*|m32r-*-rtems*) ;; m32rle-*-elf*) ;; @@ -389,13 +357,9 @@ m68hc11-*-*|m6811-*-*) ;; m68hc12-*-*|m6812-*-*) ;; -m68k-*-aout*) - ;; -m68k-*-coff*) - ;; -m68020-*-elf* | m68k-*-elf*) +m68k-*-elf*) ;; -m68010-*-netbsdelf* | m68k*-*-netbsdelf*) +m68k*-*-netbsdelf*) ;; m68k*-*-openbsd*) ;; @@ -427,6 +391,8 @@ mipsisa32r2-*-elf* | mipsisa32r2el-*-elf*) ;; mipsisa64-*-elf* | mipsisa64el-*-elf*) ;; +mipsisa64r2-*-elf* | mipsisa64r2el-*-elf*) + ;; mipsisa64sr71k-*-elf*) ;; mipsisa64sb1-*-elf* | mipsisa64sb1el-*-elf*) @@ -443,33 +409,16 @@ mips*-*-rtems*) ;; mips-wrs-vxworks) ;; -mips-wrs-windiss) # Instruction-level simulator for VxWorks. - ;; mipstx39-*-elf* | mipstx39el-*-elf*) ;; mmix-knuth-mmixware) ;; mn10300-*-*) ;; -mt-*-elf) - ;; -ns32k-*-netbsdelf*) - echo "GCC does not yet support the ${host} target"; exit 1 - ;; -ns32k-*-netbsd*) - ;; -pdp11-*-bsd) - ;; pdp11-*-*) ;; -powerpc64-*-linux*) - tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-ldbl128" - ;; -powerpc64-*-gnu*) - tmake_file="${tmake_file} rs6000/t-ldbl128" - ;; -powerpc-*-beos*) - ;; +picochip-*-*) + ;; powerpc-*-darwin*) ;; powerpc64-*-darwin*) @@ -478,8 +427,6 @@ powerpc*-*-freebsd*) ;; powerpc-*-netbsd*) ;; -powerpc-*-chorusos*) - ;; powerpc-*-eabispe*) ;; powerpc-*-eabisimaltivec*) @@ -494,14 +441,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" @@ -511,24 +455,14 @@ powerpc-*-gnu*) ;; powerpc-wrs-vxworks|powerpc-wrs-vxworksae) ;; -powerpc-wrs-windiss*) # Instruction-level simulator for VxWorks. - ;; powerpc-*-lynxos*) ;; -powerpcle-*-sysv*) - ;; powerpcle-*-elf*) ;; powerpcle-*-eabisim*) ;; powerpcle-*-eabi*) ;; -powerpc-*-kaos*) - ;; -powerpcle-*-kaos*) - ;; -rs6000-ibm-aix4.[12]* | powerpc-ibm-aix4.[12]*) - ;; rs6000-ibm-aix4.[3456789]* | powerpc-ibm-aix4.[3456789]*) ;; rs6000-ibm-aix5.1.* | powerpc-ibm-aix5.1.*) @@ -543,20 +477,21 @@ s390x-ibm-tpf*) ;; score-*-elf) ;; -sh-*-elf* | sh[12346l]*-*-elf* | sh*-*-kaos* | \ +sh-*-elf* | sh[12346l]*-*-elf* | \ sh-*-symbianelf* | sh[12346l]*-*-symbianelf* | \ - sh-*-linux* | sh[346lbe]*-*-linux* | \ + sh-*-linux* | sh[2346lbe]*-*-linux* | \ sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \ sh64-*-netbsd* | sh64l*-*-netbsd*) - ;; -sh-*-rtemscoff*) + case ${host} in + sh*-*-linux*) + tmake_file="${tmake_file} sh/t-linux" + ;; + esac ;; sh-*-rtems*) ;; sh-wrs-vxworks) ;; -sh-*-*) - ;; sparc-*-netbsdelf*) ;; sparc64-*-openbsd*) @@ -573,10 +508,10 @@ sparc64-*-solaris2* | sparcv9-*-solaris2*) ;; sparc-*-solaris2*) ;; -sparc-*-sysv4*) - ;; sparc64-*-elf*) ;; +sparc-wrs-vxworks) + ;; sparc64-*-freebsd*|ultrasparc-*-freebsd*) ;; sparc64-*-linux*) # 64-bit SPARC's running GNU/Linux @@ -587,47 +522,58 @@ sparc64-*-netbsd*) ;; spu-*-elf*) ;; -strongarm-*-elf*) - ;; -strongarm-*-pe) - ;; -strongarm-*-kaos*) - ;; v850e1-*-*) ;; v850e-*-*) ;; v850-*-*) ;; -vax-*-bsd*) # VAXen running BSD - ;; -vax-*-sysv*) # VAXen running system V - ;; vax-*-netbsdelf*) ;; vax-*-netbsd*) ;; vax-*-openbsd*) ;; -vax-*-ultrix*) # VAXen running ultrix - ;; -xscale-*-elf) - ;; -xscale-*-coff) - ;; 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*) ;; *) echo "*** Configuration ${host} not supported" 1>&2 exit 1 ;; esac + +case ${host} in +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-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu | \ + i[34567]86-*-linux* | x86_64-*-linux*) + 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