X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Fconfig.gcc;h=f9f2fa4aa72ce95a3146e4f4f76930fa8b5cf963;hb=7b18adb1350725ba366a4cc88aed4328552e4129;hp=72e206c5cc49261b047db9445ff7629ffc483344;hpb=13c96421fb48073aad42027212efbd02264e7bd1;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/config.gcc b/gcc/config.gcc index 72e206c5cc4..f9f2fa4aa72 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -1,6 +1,6 @@ # GCC target-specific configuration file. -# Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 -# Free Software Foundation, Inc. +# Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, +# 2008 Free Software Foundation, Inc. #This file is part of GCC. @@ -195,8 +195,32 @@ md_file= # Obsolete configurations. case ${target} in - c4x-* \ - | tic4x-* \ + crx-* \ + | mt-* \ + | strongarm*-* \ + | ep9312*-* \ + | xscale*-* \ + | parisc*-* \ + | m680[012]0-* \ + | *-*-beos* \ + | *-*-kaos* \ + | *-*-linux*aout* \ + | *-*-linux*libc1* \ + | *-*-solaris2.[0-6] \ + | *-*-solaris2.[0-6].* \ + | *-*-sysv* \ + | *-*-windiss* \ + | alpha*-*-unicosmk* \ + | cris-*-aout \ + | hppa1.1-*-pro* \ + | hppa1.1-*-osf* \ + | hppa1.1-*-bsd* \ + | i[34567]86-sequent-ptx4* \ + | i[34567]86-*-sco3.2v5* \ + | i[34567]86-*-uwin* \ + | powerpc-*-chorusos* \ + | vax-*-bsd* \ + | vax-*-ultrix* \ ) if test "x$enable_obsolete" != xyes; then echo "*** Configuration ${target} is obsolete." >&2 @@ -259,10 +283,15 @@ strongarm*-*-*) arm*-*-*) cpu_type=arm extra_headers="mmintrin.h arm_neon.h" + c_target_objs="arm-c.o" + cxx_target_objs="arm-c.o" ;; bfin*-*) cpu_type=bfin ;; +crisv32-*) + cpu_type=cris + ;; ep9312*-*-*) cpu_type=arm ;; @@ -346,9 +375,6 @@ sh[123456789lbe]*-*-*) cpu_type=sh need_64bit_hwint=yes ;; -tic4x-*-*) - cpu_type=c4x - ;; esac tm_file=${cpu_type}/${cpu_type}.h @@ -430,26 +456,8 @@ case ${target} in gas=yes gnu_ld=yes extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o" - case ${target} in - *-*-freebsd3 | *-*-freebsd[3].*) - tm_defines="${tm_defines} FBSD_MAJOR=3" ;; - *-*-freebsd4 | *-*-freebsd[4].*) - tm_defines="${tm_defines} FBSD_MAJOR=4" ;; - *-*-freebsd5 | *-*-freebsd[5].*) - tm_defines="${tm_defines} FBSD_MAJOR=5" ;; - *-*-freebsd6 | *-*-freebsd[6].*) - tm_defines="${tm_defines} FBSD_MAJOR=6" ;; - *-*-freebsd7 | *-*-freebsd[7].*) - tm_defines="${tm_defines} FBSD_MAJOR=7" ;; - *-*-freebsd8 | *-*-freebsd[8].*) - tm_defines="${tm_defines} FBSD_MAJOR=8" ;; - *-*-freebsd9 | *-*-freebsd[9].*) - tm_defines="${tm_defines} FBSD_MAJOR=9" ;; - *) - echo 'Please update *-*-freebsd* in gcc/config.gcc' - exit 1 - ;; - esac + fbsd_major=`echo ${target} | sed -e 's/.*freebsd//g' | sed -e 's/\..*//g'` + tm_defines="${tm_defines} FBSD_MAJOR=${fbsd_major}" tmake_file="t-slibgcc-elf-ver t-freebsd" case ${enable_threads} in no) @@ -720,6 +728,11 @@ arm*-*-netbsd*) ;; arm*-*-linux*) # ARM GNU/Linux with ELF tm_file="dbxelf.h elfos.h linux.h arm/elf.h arm/linux-gas.h arm/linux-elf.h" + case $target in + arm*b-*) + tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1" + ;; + esac tmake_file="${tmake_file} t-linux arm/t-arm" case ${target} in arm*-*-linux-*eabi) @@ -737,9 +750,10 @@ arm*-*-linux*) # ARM GNU/Linux with ELF ;; esac tm_file="$tm_file arm/aout.h arm/arm.h" + tmake_file="${tmake_file} arm/t-arm-softfp soft-fp/t-softfp" ;; arm*-*-uclinux*) # ARM ucLinux - tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/linux-gas.h arm/uclinux-elf.h arm/uclinux-elf.h" + tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/linux-gas.h arm/uclinux-elf.h" tmake_file="arm/t-arm arm/t-arm-elf" case ${target} in arm*-*-uclinux-*eabi) @@ -753,10 +767,12 @@ arm*-*-uclinux*) # ARM ucLinux default_use_cxa_atexit=yes esac tm_file="$tm_file arm/aout.h arm/arm.h" + tmake_file="${tmake_file} arm/t-arm-softfp soft-fp/t-softfp" ;; arm*-*-ecos-elf) tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h arm/ecos-elf.h" tmake_file="arm/t-arm arm/t-arm-elf" + tmake_file="${tmake_file} arm/t-arm-softfp soft-fp/t-softfp" ;; arm*-*-eabi* | arm*-*-symbianelf* ) # The BPABI long long divmod functions return a 128-bit value in @@ -778,14 +794,17 @@ arm*-*-eabi* | arm*-*-symbianelf* ) ;; esac tm_file="${tm_file} arm/aout.h arm/arm.h" + tmake_file="${tmake_file} arm/t-arm-softfp soft-fp/t-softfp" ;; arm*-*-rtems*) tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h arm/rtems-elf.h rtems.h" tmake_file="arm/t-arm arm/t-arm-elf t-rtems arm/t-rtems" + tmake_file="${tmake_file} arm/t-arm-softfp soft-fp/t-softfp" ;; arm*-*-elf | ep9312-*-elf) tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h" tmake_file="arm/t-arm arm/t-arm-elf" + tmake_file="${tmake_file} arm/t-arm-softfp soft-fp/t-softfp" ;; arm*-wince-pe*) tm_file="arm/semi.h arm/aout.h arm/arm.h arm/coff.h dbxcoff.h arm/pe.h arm/wince-pe.h" @@ -802,6 +821,7 @@ arm-*-pe*) arm*-*-kaos*) tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h kaos.h arm/kaos-arm.h" tmake_file="arm/t-arm arm/t-arm-elf" + tmake_file="${tmake_file} arm/t-arm-softfp soft-fp/t-softfp" ;; avr-*-rtems*) tm_file="avr/avr.h dbxelf.h avr/rtems.h rtems.h" @@ -813,40 +833,30 @@ avr-*-*) ;; bfin*-elf*) tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h" - tmake_file=bfin/t-bfin-elf - use_collect2=no - ;; + tmake_file=bfin/t-bfin-elf + use_collect2=no + ;; bfin*-uclinux*) tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h linux.h bfin/uclinux.h" - tmake_file=bfin/t-bfin-uclinux - tm_defines="${tm_defines} UCLIBC_DEFAULT=1" + tmake_file=bfin/t-bfin-uclinux + tm_defines="${tm_defines} UCLIBC_DEFAULT=1" extra_options="${extra_options} linux.opt" - use_collect2=no - ;; + use_collect2=no + ;; bfin*-linux-uclibc*) tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h linux.h bfin/linux.h ./linux-sysroot-suffix.h" - tmake_file="t-slibgcc-elf-ver bfin/t-bfin-linux" - use_collect2=no - ;; + tmake_file="t-slibgcc-elf-ver bfin/t-bfin-linux" + extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o" + use_collect2=no + ;; bfin*-rtems*) tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h bfin/rtems.h rtems.h" tmake_file="bfin/t-bfin t-rtems bfin/t-rtems" - ;; + ;; bfin*-*) tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h" - tmake_file=bfin/t-bfin - use_collect2=no - ;; -c4x-*-rtems* | tic4x-*-rtems*) - tmake_file="c4x/t-c4x t-rtems c4x/t-rtems" - tm_file="c4x/c4x.h c4x/rtems.h rtems.h" - c_target_objs="c4x-c.o" - cxx_target_objs="c4x-c.o" - ;; -c4x-* | tic4x-*) - tmake_file=c4x/t-c4x - c_target_objs="c4x-c.o" - cxx_target_objs="c4x-c.o" + tmake_file=bfin/t-bfin + use_collect2=no ;; cris-*-aout) tm_file="dbxelf.h ${tm_file} cris/aout.h" @@ -854,17 +864,32 @@ cris-*-aout) tmake_file="cris/t-cris cris/t-aout" extra_options="${extra_options} cris/aout.opt" ;; +crisv32-*-elf | crisv32-*-none) + tm_file="dbxelf.h elfos.h ${tm_file}" + tmake_file="cris/t-cris" + target_cpu_default=32 + gas=yes + extra_options="${extra_options} cris/elf.opt" + ;; cris-*-elf | cris-*-none) tm_file="dbxelf.h elfos.h ${tm_file}" tmake_file="cris/t-cris cris/t-elfmulti" gas=yes extra_options="${extra_options} cris/elf.opt" ;; -cris-*-linux*) +crisv32-*-linux* | cris-*-linux*) tm_file="dbxelf.h elfos.h svr4.h ${tm_file} linux.h cris/linux.h" # We need to avoid using t-linux, so override default tmake_file tmake_file="cris/t-cris t-slibgcc-elf-ver cris/t-linux" extra_options="${extra_options} cris/linux.opt" + case $target in + cris-*-*) + target_cpu_default=10 + ;; + crisv32-*-*) + target_cpu_default=32 + ;; + esac ;; crx-*-elf) tm_file="elfos.h ${tm_file}" @@ -887,10 +912,6 @@ frv-*-*linux*) linux.h frv/linux.h frv/frv-abi.h" tmake_file="${tmake_file} frv/t-frv frv/t-linux" ;; -h8300-*-rtemscoff*) - tmake_file="h8300/t-h8300 t-rtems h8300/t-rtems" - tm_file="h8300/h8300.h dbxcoff.h h8300/coff.h h8300/rtems.h rtems.h" - ;; h8300-*-rtems*) tmake_file="h8300/t-h8300 h8300/t-elf t-rtems h8300/t-rtems" tm_file="h8300/h8300.h dbxelf.h elfos.h h8300/elf.h h8300/rtems.h rtems.h" @@ -1351,8 +1372,8 @@ i[34567]86-*-pe | i[34567]86-*-cygwin*) target_gtfiles="\$(srcdir)/config/i386/winnt.c" extra_options="${extra_options} i386/cygming.opt" extra_objs="winnt.o winnt-stubs.o" - c_target_objs=cygwin2.o - cxx_target_objs="cygwin2.o winnt-cxx.o" + c_target_objs="cygwin2.o msformat-c.o" + cxx_target_objs="cygwin2.o winnt-cxx.o msformat-c.o" extra_gcc_objs=cygwin1.o if test x$enable_threads = xyes; then thread_file='posix' @@ -1365,7 +1386,8 @@ i[34567]86-*-mingw32* | x86_64-*-mingw32*) target_gtfiles="\$(srcdir)/config/i386/winnt.c" extra_options="${extra_options} i386/cygming.opt" extra_objs="winnt.o winnt-stubs.o" - cxx_target_objs=winnt-cxx.o + c_target_objs="msformat-c.o" + cxx_target_objs="winnt-cxx.o msformat-c.o" default_use_cxa_atexit=yes case ${enable_threads} in "" | yes | win32) @@ -1494,19 +1516,19 @@ m32rle-*-linux*) ;; # m68hc11 and m68hc12 share the same machine description. m68hc11-*-*|m6811-*-*) - tm_file="dbxelf.h elfos.h m68hc11/m68hc11.h" + tm_file="dbxelf.h elfos.h usegas.h m68hc11/m68hc11.h" tm_p_file="m68hc11/m68hc11-protos.h" md_file="m68hc11/m68hc11.md" out_file="m68hc11/m68hc11.c" - tmake_file="m68hc11/t-m68hc11-gas" + tmake_file="m68hc11/t-m68hc11" use_fixproto=yes ;; m68hc12-*-*|m6812-*-*) - tm_file="m68hc11/m68hc12.h dbxelf.h elfos.h m68hc11/m68hc11.h" + tm_file="m68hc11/m68hc12.h dbxelf.h elfos.h usegas.h m68hc11/m68hc11.h" tm_p_file="m68hc11/m68hc11-protos.h" md_file="m68hc11/m68hc11.md" out_file="m68hc11/m68hc11.c" - tmake_file="m68hc11/t-m68hc11-gas" + tmake_file="m68hc11/t-m68hc11" extra_options="${extra_options} m68hc11/m68hc11.opt" use_fixproto=yes ;; @@ -1520,7 +1542,7 @@ m68k-*-coff*) default_m68k_cpu=68020 default_cf_cpu=5206 tmake_file="m68k/t-floatlib m68k/t-m68kbare m68k/t-mlibs" - tm_defines="${tm_defines} MOTOROLA=1 USE_GAS" + tm_defines="${tm_defines} MOTOROLA=1" tm_file="${tm_file} m68k/m68k-none.h m68k/m68kemb.h dbxcoff.h m68k/coff.h dbx.h" use_fixproto=yes ;; @@ -1544,7 +1566,7 @@ m68020-*-elf* | m68k-*-elf* | fido-*-elf*) ;; esac tm_file="${tm_file} m68k/m68k-none.h m68k/m68kelf.h dbxelf.h elfos.h m68k/m68kemb.h m68k/m68020-elf.h" - tm_defines="${tm_defines} MOTOROLA=1 USE_GAS" + tm_defines="${tm_defines} MOTOROLA=1" tmake_file="m68k/t-floatlib m68k/t-m68kbare m68k/t-m68kelf" # Add multilibs for targets other than fido. case ${target} in @@ -1560,7 +1582,7 @@ m68010-*-netbsdelf* | m68k*-*-netbsdelf*) default_m68k_cpu=68020 default_cf_cpu=5475 tm_file="${tm_file} dbxelf.h elfos.h netbsd.h netbsd-elf.h m68k/netbsd-elf.h" - tm_defines="${tm_defines} MOTOROLA=1 USE_GAS" + tm_defines="${tm_defines} MOTOROLA=1" ;; m68k*-*-openbsd*) default_m68k_cpu=68020 @@ -1578,7 +1600,7 @@ m68k-*-uclinuxoldabi*) # Motorola m68k/ColdFire running uClinux default_m68k_cpu=68020 default_cf_cpu=5206 tm_file="${tm_file} m68k/m68k-none.h m68k/m68kelf.h dbxelf.h elfos.h m68k/uclinux-oldabi.h" - tm_defines="${tm_defines} MOTOROLA=1 USE_GAS" + tm_defines="${tm_defines} MOTOROLA=1" tmake_file="m68k/t-floatlib m68k/t-uclinux" use_fixproto=no ;; @@ -1588,7 +1610,7 @@ m68k-*-uclinux*) # Motorola m68k/ColdFire running uClinux default_m68k_cpu=68020 default_cf_cpu=5206 tm_file="${tm_file} dbxelf.h elfos.h svr4.h linux.h flat.h m68k/linux.h m68k/uclinux.h ./sysroot-suffix.h" - tm_defines="${tm_defines} MOTOROLA=1 USE_GAS UCLIBC_DEFAULT=1" + tm_defines="${tm_defines} MOTOROLA=1 UCLIBC_DEFAULT=1" extra_options="${extra_options} linux.opt" tmake_file="m68k/t-floatlib m68k/t-uclinux m68k/t-mlibs" use_fixproto=no @@ -1600,7 +1622,7 @@ m68k-*-linux*) # Motorola m68k's running GNU/Linux default_cf_cpu=5475 tm_file="${tm_file} dbxelf.h elfos.h svr4.h linux.h m68k/linux.h" extra_options="${extra_options} m68k/ieee.opt" - tm_defines="${tm_defines} MOTOROLA=1 USE_GAS" + tm_defines="${tm_defines} MOTOROLA=1" # if not configured with --enable-sjlj-exceptions, bump the # libgcc version number if test x$sjlj != x1; then @@ -1612,18 +1634,20 @@ m68k-*-rtems*) default_cf_cpu=5206 tmake_file="m68k/t-floatlib m68k/t-m68kbare m68k/t-crtstuff t-rtems m68k/t-rtems m68k/t-mlibs" tm_file="${tm_file} m68k/m68k-none.h m68k/m68kelf.h dbxelf.h elfos.h m68k/m68kemb.h m68k/m68020-elf.h m68k/rtemself.h rtems.h" - tm_defines="${tm_defines} MOTOROLA=1 USE_GAS" + tm_defines="${tm_defines} MOTOROLA=1" extra_parts="crtbegin.o crtend.o" ;; mcore-*-elf) tm_file="dbxelf.h elfos.h svr4.h ${tm_file} mcore/mcore-elf.h" tmake_file=mcore/t-mcore use_fixproto=yes + inhibit_libc=true ;; mcore-*-pe*) tm_file="svr3.h dbxcoff.h ${tm_file} mcore/mcore-pe.h" tmake_file=mcore/t-mcore-pe use_fixproto=yes + inhibit_libc=true ;; mips-sgi-irix[56]*) tm_file="elfos.h ${tm_file} mips/iris.h" @@ -1820,16 +1844,6 @@ mt-*-elf) tm_file="dbxelf.h elfos.h svr4.h ${tm_file}" tmake_file="${tmake_file} mt/t-mt" ;; -ns32k-*-netbsdelf*) - echo "GCC does not yet support the ${target} target"; exit 1 - ;; -ns32k-*-netbsd*) - tm_file="${tm_file} netbsd.h netbsd-aout.h ns32k/netbsd.h" - # On NetBSD, the headers are already okay, except for math.h. - tmake_file="t-netbsd ns32k/t-ns32k" - extra_parts="" - use_collect2=yes - ;; pdp11-*-bsd) tm_file="${tm_file} pdp11/2bsd.h" use_fixproto=yes @@ -2084,7 +2098,7 @@ rs6000-ibm-aix5.1.* | powerpc-ibm-aix5.1.*) thread_file='aix' extra_headers= ;; -rs6000-ibm-aix[56789].* | powerpc-ibm-aix[56789].*) +rs6000-ibm-aix5.2.* | powerpc-ibm-aix5.2.*) tm_file="${tm_file} rs6000/aix.h rs6000/aix52.h rs6000/xcoff.h" tmake_file=rs6000/t-aix52 extra_options="${extra_options} rs6000/aix64.opt" @@ -2092,6 +2106,22 @@ rs6000-ibm-aix[56789].* | powerpc-ibm-aix[56789].*) thread_file='aix' extra_headers= ;; +rs6000-ibm-aix5.3.* | powerpc-ibm-aix5.3.*) + tm_file="${tm_file} rs6000/aix.h rs6000/aix53.h rs6000/xcoff.h" + tmake_file=rs6000/t-aix52 + extra_options="${extra_options} rs6000/aix64.opt" + use_collect2=yes + thread_file='aix' + extra_headers=altivec.h + ;; +rs6000-ibm-aix[6789].* | powerpc-ibm-aix[6789].*) + tm_file="${tm_file} rs6000/aix.h rs6000/aix61.h rs6000/xcoff.h" + tmake_file=rs6000/t-aix52 + extra_options="${extra_options} rs6000/aix64.opt" + use_collect2=yes + thread_file='aix' + extra_headers=altivec.h + ;; s390-*-linux*) tm_file="s390/s390.h dbxelf.h elfos.h svr4.h linux.h s390/linux.h" tmake_file="${tmake_file} t-dfprules s390/t-crtstuff s390/t-linux" @@ -2118,7 +2148,7 @@ s390x-ibm-tpf*) score-*-elf) tm_file="dbxelf.h elfos.h score/elf.h score/score.h" tmake_file=score/t-score-elf - extra_objs="score-mdaux.o" + extra_objs="score7.o score3.o" ;; sh-*-elf* | sh[12346l]*-*-elf* | sh*-*-kaos* | \ sh-*-symbianelf* | sh[12346l]*-*-symbianelf* | \ @@ -2288,10 +2318,6 @@ sh-*-symbianelf* | sh[12346l]*-*-symbianelf* | \ fi use_fixproto=yes ;; -sh-*-rtemscoff*) - tmake_file="sh/t-sh t-rtems sh/t-rtems" - tm_file="${tm_file} dbxcoff.h sh/coff.h sh/rtems.h rtems.h" - ;; sh-*-rtems*) tmake_file="sh/t-sh sh/t-elf t-rtems sh/t-rtems" tm_file="${tm_file} dbxelf.h elfos.h svr4.h sh/elf.h sh/embed-elf.h sh/rtemself.h rtems.h" @@ -2861,7 +2887,8 @@ case "${target}" in case "$with_arch" in "" \ | armv[23456] | armv2a | armv3m | armv4t | armv5t \ - | armv5te | armv6j |armv6k | armv6z | armv6zk \ + | armv5te | armv6j |armv6k | armv6z | armv6zk | armv6-m \ + | armv7 | armv7-a | armv7-r | armv7-m \ | iwmmxt | ep9312) # OK ;; @@ -3114,7 +3141,7 @@ case "${target}" in | rios | rios1 | rios2 | rsc | rsc1 | rs64a \ | 401 | 403 | 405 | 405fp | 440 | 440fp | 505 \ | 601 | 602 | 603 | 603e | ec603e | 604 \ - | 604e | 620 | 630 | 740 | 750 | 7400 | 7450 \ + | 604e | 620 | 630 | 740 | 750 | 7400 | 7450 | e300c[23] \ | 854[08] | 801 | 821 | 823 | 860 | 970 | G3 | G4 | G5 | cell) # OK ;; @@ -3181,7 +3208,7 @@ case "${target}" in "" | sparc | sparcv9 | sparc64 | sparc86x \ | v7 | cypress | v8 | supersparc | sparclite | f930 \ | f934 | hypersparc | sparclite86x | sparclet | tsc701 \ - | v9 | ultrasparc | ultrasparc3 | niagara) + | v9 | ultrasparc | ultrasparc3 | niagara | niagara2) # OK ;; *)