OSDN Git Service

* dwarf2asm.c (dw2_force_const_mem): Add new parameter 'public'.
[pf3gnuchains/gcc-fork.git] / gcc / config.gcc
index 0361c35..21c6dab 100644 (file)
@@ -255,6 +255,8 @@ bfin*-*)
 ep9312*-*-*)
        cpu_type=arm
        ;;
+frv*)  cpu_type=frv
+       ;;
 xscale-*-*)
        cpu_type=arm
        extra_headers="mmintrin.h"
@@ -354,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"
@@ -531,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
 
@@ -669,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"
@@ -947,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"
@@ -1017,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 \
@@ -1026,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*)
        ;;
@@ -1167,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"
@@ -1177,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'
@@ -1191,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
@@ -1551,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
@@ -1586,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]*)
@@ -1706,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"
@@ -2379,9 +2425,12 @@ if test x$with_cpu = x ; then
     alphaev5*-*-*)
       with_cpu=ev5
       ;;
-    frv-*-*linux*)
+    frv-*-*linux* | frv400-*-*linux*)
       with_cpu=fr400
       ;;
+    frv550-*-*linux*)
+      with_cpu=fr550
+      ;;
     sparc*-*-*)
       with_cpu="`echo ${target} | sed 's/-.*$//'`"
       if [ x$with_cpu = xsparc64 ]; then
@@ -2514,6 +2563,7 @@ case "${target}" in
                supported_defaults=cpu
                case "$with_cpu" in
                fr400) ;;
+               fr550) ;;
                *)
                        echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2
                        exit 1
@@ -2651,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
                                ;;
                        *)
@@ -2841,7 +2891,7 @@ case ${target} in
                        ;;
                esac
 
-               # The Sparc port checks this value at compile-time.
+               # The SPARC port checks this value at compile-time.
                target_cpu_default2="TARGET_CPU_$with_cpu"
                ;;
        v850*-*-*)