OSDN Git Service

Add NIOS2 support. Code from SourceyG++.
[pf3gnuchains/gcc-fork.git] / gcc / config.gcc
index 2c003ca..5380f88 100644 (file)
@@ -257,7 +257,7 @@ case ${target} in
  | arm*-*-elf                          \
  | arm*-*-freebsd*                     \
  | arm*-*-linux*                       \
- | arm*-*-rtems*                       \
+ | arm*-*-rtemself*                    \
  | arm*-*-uclinux*                     \
  | arm*-wince-pe*                      \
  | mips-sgi-irix6.5                    \
@@ -413,6 +413,10 @@ mips*-*-*)
        extra_headers="loongson.h"
        extra_options="${extra_options} g.opt mips/mips-tables.opt"
        ;;
+nios2-*-*)
+       cpu_type=nios2
+       extra_options="${extra_options} g.opt"
+       ;;      
 picochip-*-*)
         cpu_type=picochip
         ;;
@@ -777,6 +781,7 @@ esac
 case ${target} in
 alpha*-*-linux*)
        tm_file="${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h glibc-stdint.h"
+       tmake_file="${tmake_file} alpha/t-linux"
        extra_options="${extra_options} alpha/elf.opt"
        target_cpu_default="MASK_GAS"
        ;;
@@ -855,7 +860,7 @@ arm*-*-linux*)                      # ARM GNU/Linux with ELF
        esac
        tmake_file="${tmake_file} arm/t-arm"
        case ${target} in
-       arm*-*-linux-*eabi)
+       arm*-*-linux-*eabi*)
            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"
            # Define multilib configuration for arm-linux-androideabi.
@@ -882,7 +887,7 @@ 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 glibc-stdint.h"
        tmake_file="arm/t-arm arm/t-arm-elf"
        case ${target} in
-       arm*-*-uclinux*eabi)
+       arm*-*-uclinux*eabi*)
            tm_file="$tm_file arm/bpabi.h arm/uclinux-eabi.h"
            tmake_file="$tmake_file arm/t-bpabi"
            # The BPABI long long divmod functions return a 128-bit value in
@@ -898,7 +903,11 @@ arm*-*-ecos-elf)
        tm_file="dbxelf.h elfos.h newlib-stdint.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"
        ;;
-arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtemseabi*)
+arm*-*-rtemself*)
+       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 newlib-stdint.h"
+       tmake_file="arm/t-arm arm/t-arm-elf t-rtems arm/t-rtems"
+       ;;
+arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*)
        # The BPABI long long divmod functions return a 128-bit value in
        # registers r0-r3.  Correctly modeling that requires the use of
        # TImode.
@@ -912,7 +921,7 @@ arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtemseabi*)
          tmake_file="${tmake_file} arm/t-bpabi"
          use_gcc_stdint=wrap
          ;;
-       arm*-*-rtemseabi*)
+       arm*-*-rtems*)
          tm_file="${tm_file} rtems.h arm/rtems-eabi.h newlib-stdint.h"
          tmake_file="${tmake_file} arm/t-bpabi t-rtems arm/t-rtems-eabi"
          ;;
@@ -925,10 +934,6 @@ arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtemseabi*)
        esac
        tm_file="${tm_file} arm/aout.h arm/arm.h"
        ;;
-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 newlib-stdint.h"
-       tmake_file="arm/t-arm arm/t-arm-elf t-rtems arm/t-rtems"
-       ;;
 arm*-*-elf)
        tm_file="dbxelf.h elfos.h newlib-stdint.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h"
        tmake_file="arm/t-arm arm/t-arm-elf"
@@ -1070,6 +1075,7 @@ hppa*-*-linux*)
        target_cpu_default="MASK_PA_11|MASK_NO_SPACE_REGS"
        tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h pa/pa-linux.h \
                 pa/pa32-regs.h pa/pa32-linux.h"
+       tmake_file="${tmake_file} pa/t-linux"
        ;;
 # port not yet contributed.
 #hppa*-*-openbsd*)
@@ -1548,7 +1554,7 @@ ia64*-*-freebsd*)
        ;;
 ia64*-*-linux*)
        tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ia64/sysv4.h ia64/linux.h"
-       tmake_file="${tmake_file} ia64/t-ia64 t-libunwind"
+       tmake_file="${tmake_file} ia64/t-ia64 ia64/t-linux t-libunwind"
        target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
        ;;
 ia64*-*-hpux*)
@@ -1900,6 +1906,11 @@ mips-*-elf* | mipsel-*-elf*)
        tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
        tmake_file="mips/t-elf"
        ;;
+mips64-*-toppers* | mips64el-*-toppers*)
+       tm_file="elfos.h ${tm_file} mips/elf.h mips/toppers.h"
+       tmake_file="mips/t-elf mips/t-libgcc-mips16"
+       tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_N32"
+       ;;
 mips64-*-elf* | mips64el-*-elf*)
        tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
        tmake_file="mips/t-elf"
@@ -1943,6 +1954,19 @@ mn10300-*-*)
        use_collect2=no
        use_gcc_stdint=wrap
        ;;
+nios2-*-*)
+       tm_file="elfos.h ${tm_file}"
+        tmake_file="${tmake_file} nios2/t-nios2"
+        case ${target} in
+        nios2-*-linux*)
+                tm_file="${tm_file} gnu-user.h linux.h glibc-stdint.h nios2/linux.h "
+                ;;
+       nios2-*-elf*)
+               tm_file="${tm_file} newlib-stdint.h nios2/elf.h"
+               extra_options="${extra_options} nios2/elf.opt"
+               ;;
+        esac
+       ;;
 pdp11-*-*)
        tm_file="${tm_file} newlib-stdint.h"
        use_gcc_stdint=wrap
@@ -2075,6 +2099,7 @@ powerpc-*-linux* | powerpc64-*-linux*)
                ;;
            *)
                tm_file="${tm_file} rs6000/linux.h glibc-stdint.h"
+               tmake_file="$tmake_file rs6000/t-linux"
                ;;
        esac
        case ${target} in
@@ -2351,7 +2376,7 @@ sh-*-elf* | sh[12346l]*-*-elf* | \
                sh[1234]*)      sh_multilibs=${sh_cpu_target} ;;
                sh64* | sh5*)   sh_multilibs=m5-32media,m5-32media-nofpu,m5-compact,m5-compact-nofpu,m5-64media,m5-64media-nofpu ;;
                sh-superh-*)    sh_multilibs=m4,m4-single,m4-single-only,m4-nofpu ;;
-               sh*-*-linux*)   sh_multilibs=m1,m3e,m4 ;;
+               sh*-*-linux*)   sh_multilibs=m1,m2,m2a,m3e,m4 ;;
                sh*-*-netbsd*)  sh_multilibs=m3,m3e,m4 ;;
                *) sh_multilibs=m1,m2,m2e,m4,m4-single,m4-single-only,m2a,m2a-single ;;
                esac
@@ -2438,6 +2463,7 @@ sparc-*-linux*)
                tmake_file="${tmake_file} sparc/t-linux64"
        else
                tm_file="${tm_file} sparc/linux.h"
+               tmake_file="${tmake_file} sparc/t-linux"
        fi
        ;;
 sparc-*-netbsdelf*)
@@ -3559,9 +3585,14 @@ case ${target} in
 
        i[34567]86-*-darwin* | x86_64-*-darwin*)
                ;;
-       i[34567]86-*-linux* | x86_64-*-linux* | \
-         i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu | \
-         i[34567]86-*-gnu*)
+       i[34567]86-*-linux* | x86_64-*-linux*)
+               tmake_file="$tmake_file i386/t-linux"
+               ;;
+       i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu)
+               tmake_file="$tmake_file i386/t-kfreebsd"
+               ;;
+       i[34567]86-*-gnu*)
+               tmake_file="$tmake_file i386/t-gnu"
                ;;
        i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*)
                ;;