X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Fconfig.gcc;h=21c6dab8cd98364f08c1c3c955844d49e118217e;hb=bfbcf632cf729f774b789bbccc0b3eada34c6cbb;hp=c7c2cf12ea4f05d486c0403c0a61acd998da4719;hpb=3ce7ff97f6815dce6ab5d681d44d61b79f249880;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/config.gcc b/gcc/config.gcc index c7c2cf12ea4..21c6dab8cd9 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -356,9 +356,9 @@ esac # Common parts for widely ported systems. case ${target} in *-*-darwin*) - tm_file="${tm_file} darwin.h" + tm_file="${tm_file} darwin.h ${cpu_type}/darwin.h" tm_p_file="${tm_p_file} darwin-protos.h" - tmake_file="t-darwin t-slibgcc-darwin" + tmake_file="t-darwin ${cpu_type}/t-darwin t-slibgcc-darwin" target_gtfiles="\$(srcdir)/config/darwin.c" extra_options="${extra_options} darwin.opt" c_target_objs="darwin-c.o" @@ -533,14 +533,14 @@ case ${target} in ;; *-*-vxworks*) tmake_file=t-vxworks - tm_file="${tm_file} elfos.h svr4.h vxworks.h" + tm_file="${tm_file} elfos.h svr4.h" + xm_defines=POSIX + extra_options="${extra_options} vxworks.opt" case ${enable_threads} in no) ;; "" | yes | vxworks) thread_file='vxworks' ;; *) echo 'Unknown thread configuration for VxWorks'; exit 1 ;; esac - use_collect2=yes - xm_defines=POSIX ;; esac @@ -671,10 +671,24 @@ arm*-*-netbsd*) use_collect2=yes ;; 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 arm/aout.h arm/arm.h" - tmake_file="${tmake_file} arm/t-arm arm/t-linux" - extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o" - gnu_ld=yes + tm_file="dbxelf.h elfos.h linux.h arm/elf.h arm/linux-gas.h arm/linux-elf.h" + tmake_file="${tmake_file} t-linux arm/t-arm" + case ${target} in + arm*-*-linux-gnueabi) + 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" + # The BPABI long long divmod functions return a 128-bit value in + # registers r0-r3. Correctly modeling that requires the use of + # TImode. + need_64bit_hwint=yes + # The EABI requires the use of __cxa_atexit. + default_use_cxa_atexit=yes + ;; + *) + tmake_file="$tmake_file arm/t-linux" + ;; + esac + tm_file="$tm_file arm/aout.h arm/arm.h" ;; arm*-*-uclinux*) # ARM ucLinux tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h arm/linux-gas.h arm/linux-elf.h arm/uclinux-elf.h" @@ -949,7 +963,7 @@ hppa[12]*-*-hpux11*) use_collect2=yes ;; i[34567]86-*-darwin*) - tm_file="${tm_file} i386/darwin.h" + # All the configuration is presently done generically. ;; i[34567]86-*-elf*) tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/i386elf.h" @@ -1019,7 +1033,7 @@ i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu) i[34567]86-*-knetbsd*-gnu) tm_file="${tm_file} knetbsd-gnu.h i386/knetbsd-gnu.h" ;; i[34567]86-*-kfreebsd*-gnu) tm_file="${tm_file} kfreebsd-gnu.h i386/kfreebsd-gnu.h" ;; esac - tmake_file="${tmake_file} i386/t-crtstuff" + tmake_file="${tmake_file} i386/t-crtstuff i386/t-crtfm" ;; x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu) tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h \ @@ -1028,7 +1042,7 @@ x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu) x86_64-*-kfreebsd*-gnu) tm_file="${tm_file} kfreebsd-gnu.h" ;; x86_64-*-knetbsd*-gnu) tm_file="${tm_file} knetbsd-gnu.h" ;; esac - tmake_file="${tmake_file} i386/t-linux64" + tmake_file="${tmake_file} i386/t-linux64 i386/t-crtfm" ;; i[34567]86-*-gnu*) ;; @@ -1169,9 +1183,18 @@ i[34567]86-*-sysv4*) # Intel 80386's running system V.4 extra_parts="crtbegin.o crtend.o" use_fixproto=yes ;; -i[4567]86-wrs-vxworks) - tm_file="${tm_file} i386/sysv4.h i386/unix.h i386/vxworks.h" - tmake_file="${tmake_file} i386/t-vxworks" +i[4567]86-wrs-vxworks|i[4567]86-wrs-vxworksae) + tm_file="${tm_file} i386/sysv4.h i386/unix.h i386/att.h vx-common.h" + case ${target} in + *-vxworksae*) + tm_file="${tm_file} vxworksae.h i386/vxworksae.h" + tmake_file="${tmake_file} i386/t-vxworks i386/t-vxworksae" + ;; + *) + tm_file="${tm_file} vxworks.h i386/vxworks.h" + tmake_file="${tmake_file} i386/t-vxworks" + ;; + esac ;; i[34567]86-*-pe | i[34567]86-*-cygwin*) tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h i386/cygwin.h" @@ -1179,9 +1202,9 @@ i[34567]86-*-pe | i[34567]86-*-cygwin*) tmake_file="i386/t-cygwin i386/t-cygming" target_gtfiles="\$(srcdir)/config/i386/winnt.c" extra_options="${extra_options} i386/cygming.opt" - extra_objs=winnt.o + extra_objs="winnt.o winnt-stubs.o" c_target_objs=cygwin2.o - cxx_target_objs=cygwin2.o + cxx_target_objs="cygwin2.o winnt-cxx.o" extra_gcc_objs=cygwin1.o if test x$enable_threads = xyes; then thread_file='posix' @@ -1193,7 +1216,8 @@ i[34567]86-*-mingw32*) tmake_file="i386/t-cygming i386/t-mingw32" target_gtfiles="\$(srcdir)/config/i386/winnt.c" extra_options="${extra_options} i386/cygming.opt" - extra_objs=winnt.o + extra_objs="winnt.o winnt-stubs.o" + cxx_target_objs=winnt-cxx.o case ${enable_threads} in "" | yes | win32) thread_file='win32' ;; esac @@ -1553,6 +1577,20 @@ mn10300-*-*) use_collect2=no use_fixproto=yes ;; +ms1-*-elf) + tm_file="dbxelf.h elfos.h svr4.h ${tm_file}" + tmake_file="${tmake_file} ms1/t-ms1" + ;; +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 @@ -1588,8 +1626,6 @@ powerpc-*-beos*) use_fixproto=yes ;; powerpc-*-darwin*) - tm_file="${tm_file} rs6000/darwin.h" - tmake_file="${tmake_file} rs6000/t-darwin" extra_options="${extra_options} rs6000/darwin.opt" case ${target} in *-darwin1[0-9]* | *-darwin[8-9]*) @@ -1708,22 +1744,30 @@ powerpc-*-gnu*) thread_file='posix' fi ;; -powerpc-wrs-vxworks*) +powerpc-wrs-vxworks|powerpc-wrs-vxworksae) # We want vxworks.h after rs6000/sysv4.h, which unfortunately # means we have to redo the tm_file list from scratch. tm_file="rs6000/rs6000.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h" - tm_file="${tm_file} vxworks.h rs6000/vxworks.h" tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-ppccomm rs6000/t-vxworks" extra_options="${extra_options} rs6000/sysv4.opt" extra_headers=ppc-asm.h + case ${target} in + *-vxworksae*) + tm_file="${tm_file} vx-common.h vxworksae.h rs6000/vxworks.h rs6000/vxworksae.h" + tmake_file="${tmake_file} rs6000/t-vxworksae" + ;; + *-vxworks*) + tm_file="${tm_file} vx-common.h vxworks.h rs6000/vxworks.h" + ;; + esac ;; -powerpc-wrs-windiss*) # Instruction-level simulator for VxWorks. +powerpc-wrs-windiss*) # Instruction-level simulator for VxWorks. tm_file="${tm_file} elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/windiss.h" - tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm" + tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm" extra_options="${extra_options} rs6000/sysv4.opt" - thread_file="" + thread_file="" use_fixproto=yes - ;; + ;; powerpc-*-lynxos*) xm_defines=POSIX tm_file="${tm_file} dbxelf.h elfos.h rs6000/sysv4.h rs6000/lynx.h lynx.h" @@ -2657,7 +2701,7 @@ case "${target}" in for which in arch tune; do eval "val=\$with_$which" case ${val} in - "" | g5 | g6 | z900 | z990) + "" | g5 | g6 | z900 | z990 | z9-109) # OK ;; *)