config.gcc (mips*-sde-elf*): Handle mipsisa64r2*.
authorAdam Nemet <anemet@caviumnetworks.com>
Tue, 18 Nov 2008 21:00:28 +0000 (21:00 +0000)
committerAdam Nemet <nemet@gcc.gnu.org>
Tue, 18 Nov 2008 21:00:28 +0000 (21:00 +0000)
gcc/
* config.gcc (mips*-sde-elf*): Handle mipsisa64r2*.
(mipsisa64r2-*-elf*, mipsisa64r2el-*-elf*): Add new cases to
mipsisa*-*-elf*.  Handle mipsisa64r2*.
* config/mips/sde.h (LINK_SPEC): Handle -mips64r2.
* config/mips/t-isa3264 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Add
mips64r2.
(MULTILIB_EXCLUSIONS): Add mips64r2/mfp64.
* config/mips/t-sde (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Add
mips64r2.
(MULTILIB_EXCLUSIONS): Add mips64r2/mfp64.  Add mips64r2/mips16.
Fix mips16 if mips64 or mips64r2 are multilib defaults.
* config/mips/t-sdemtk (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Add
mips64r2.

libgcc/
* config.host (mipsisa64r2-*-elf* | mipsisa64r2el-*-elf*): New
case.

From-SVN: r141976

gcc/ChangeLog
gcc/config.gcc
gcc/config/mips/sde.h
gcc/config/mips/t-isa3264
gcc/config/mips/t-sde
gcc/config/mips/t-sdemtk
libgcc/ChangeLog
libgcc/config.host

index 08f6310..fc9a9fe 100644 (file)
@@ -1,3 +1,19 @@
+2008-11-18  Adam Nemet  <anemet@caviumnetworks.com>
+
+       * config.gcc (mips*-sde-elf*): Handle mipsisa64r2*.
+       (mipsisa64r2-*-elf*, mipsisa64r2el-*-elf*): Add new cases to
+       mipsisa*-*-elf*.  Handle mipsisa64r2*.
+       * config/mips/sde.h (LINK_SPEC): Handle -mips64r2.
+       * config/mips/t-isa3264 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Add
+       mips64r2.
+       (MULTILIB_EXCLUSIONS): Add mips64r2/mfp64.
+       * config/mips/t-sde (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Add
+       mips64r2.
+       (MULTILIB_EXCLUSIONS): Add mips64r2/mfp64.  Add mips64r2/mips16.
+       Fix mips16 if mips64 or mips64r2 are multilib defaults.
+       * config/mips/t-sdemtk (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Add
+       mips64r2.
+
 2008-11-18  Jakub Jelinek  <jakub@redhat.com>
 
        PR target/38130
index 82a6ea5..ded0b1c 100644 (file)
@@ -1602,6 +1602,9 @@ mips*-sde-elf*)
          mipsisa32*)
            tm_defines="MIPS_ISA_DEFAULT=32 MIPS_ABI_DEFAULT=ABI_32"
            ;;
+         mipsisa64r2*)
+           tm_defines="MIPS_ISA_DEFAULT=65 MIPS_ABI_DEFAULT=ABI_N32"
+           ;;
          mipsisa64*)
            tm_defines="MIPS_ISA_DEFAULT=64 MIPS_ABI_DEFAULT=ABI_N32"
            ;;
@@ -1609,7 +1612,8 @@ mips*-sde-elf*)
        ;;
 mipsisa32-*-elf* | mipsisa32el-*-elf* | \
 mipsisa32r2-*-elf* | mipsisa32r2el-*-elf* | \
-mipsisa64-*-elf* | mipsisa64el-*-elf*)
+mipsisa64-*-elf* | mipsisa64el-*-elf* | \
+mipsisa64r2-*-elf* | mipsisa64r2el-*-elf*)
        tm_file="elfos.h ${tm_file} mips/elf.h"
        tmake_file="mips/t-isa3264 mips/t-libgcc-mips16"
        case ${target} in
@@ -1619,6 +1623,9 @@ mipsisa64-*-elf* | mipsisa64el-*-elf*)
          mipsisa32*)
            tm_defines="${tm_defines} MIPS_ISA_DEFAULT=32"
            ;;
+         mipsisa64r2*)
+           tm_defines="${tm_defines} MIPS_ISA_DEFAULT=65"
+           ;;
          mipsisa64*)
            tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64"
            ;;
index f80b6f7..ee8b20b 100644 (file)
@@ -66,7 +66,7 @@ along with GCC; see the file COPYING3.  If not see
 #undef LINK_SPEC
 #define LINK_SPEC "\
 %(endian_spec) \
-%{G*} %{mips1} %{mips2} %{mips3} %{mips4} %{mips32} %{mips32r2} %{mips64} \
+%{G*} %{mips1} %{mips2} %{mips3} %{mips4} %{mips32*} %{mips64*} \
 %{bestGnum} \
 %{shared} %{non_shared} %{call_shared} \
 %{mabi=n32:-melf32%{EB:b}%{EL:l}tsmipn32} \
index cec7e5e..ef2de4e 100644 (file)
@@ -17,13 +17,13 @@ TARGET_LIBGCC2_CFLAGS = -G 0
 # Build the libraries for both hard and soft floating point
 
 ifneq ($(filter MIPS_ABI_DEFAULT=ABI_EABI,$(tm_defines)),)
-MULTILIB_OPTIONS = msoft-float EL/EB mips32/mips32r2/mips64
-MULTILIB_DIRNAMES = soft-float el eb mips32 mips32r2 mips64
+MULTILIB_OPTIONS = msoft-float EL/EB mips32/mips32r2/mips64/mips64r2
+MULTILIB_DIRNAMES = soft-float el eb mips32 mips32r2 mips64 mips64r2
 else
-MULTILIB_OPTIONS = msoft-float/mfp64 EL/EB mips32/mips32r2/mips64
-MULTILIB_DIRNAMES = soft-float fp64 el eb mips32 mips32r2 mips64
+MULTILIB_OPTIONS = msoft-float/mfp64 EL/EB mips32/mips32r2/mips64/mips64r2
+MULTILIB_DIRNAMES = soft-float fp64 el eb mips32 mips32r2 mips64 mips64r2
 ifneq ($(filter MIPS_ISA_DEFAULT=33,$(tm_defines)),)
-MULTILIB_EXCLUSIONS = mips32/mfp64 mips64/mfp64
+MULTILIB_EXCLUSIONS = mips32/mfp64 mips64/mfp64 mips64r2/mfp64
 else
 MULTILIB_EXCLUSIONS = !mips32r2/mfp64
 endif
index a6d4290..64180d9 100644 (file)
@@ -10,19 +10,23 @@ $(T)crtn.o: $(srcdir)/config/mips/crtn.asm $(GCC_PASSES)
        $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(MULTILIB_CFLAGS) $(INCLUDES) \
        -c -o $(T)crtn.o -x assembler-with-cpp $(srcdir)/config/mips/crtn.asm
 
-MULTILIB_OPTIONS = EL/EB mips32/mips32r2/mips64 mips16 msoft-float/mfp64 mcode-readable=no
-MULTILIB_DIRNAMES = el eb mips32 mips32r2 mips64 mips16 sof f64 spram
+MULTILIB_OPTIONS = EL/EB mips32/mips32r2/mips64/mips64r2 mips16 msoft-float/mfp64 mcode-readable=no
+MULTILIB_DIRNAMES = el eb mips32 mips32r2 mips64 mips64r2 mips16 sof f64 spram
 MULTILIB_MATCHES = EL=mel EB=meb
 
 # The -mfp64 option is only valid in conjunction with -mips32r2.
 ifneq ($(filter MIPS_ISA_DEFAULT=33,$(tm_defines)),)
-MULTILIB_EXCLUSIONS := mips32/mfp64 mips64/mfp64
+MULTILIB_EXCLUSIONS := mips32/mfp64 mips64/mfp64 mips64r2/mfp64
 else
 MULTILIB_EXCLUSIONS := !mips32r2/mfp64
 endif
 
 # Don't build 64-bit MIPS16 multilibs.
-MULTILIB_EXCLUSIONS += mips16/mips64
+ifneq ($(filter MIPS_ISA_DEFAULT=6%,$(tm_defines)),)
+MULTILIB_EXCLUSIONS += !mips32/!mips32r2/mips16
+else
+MULTILIB_EXCLUSIONS += mips64/mips16 mips64r2/mips16
+endif
 
 EXTRA_MULTILIB_PARTS = crtbegin.o crtend.o crti.o crtn.o
 
index 5169dee..1135015 100644 (file)
@@ -1,8 +1,8 @@
 # Override newlib settings in t-sde and set up for building
 # against SDE header files and libraries.
 
-MULTILIB_OPTIONS = EL/EB mips32/mips32r2/mips64 mips16 msoft-float/mno-float/mfp64
-MULTILIB_DIRNAMES = el eb mips32 mips32r2 mips64 mips16 sof nof f64
+MULTILIB_OPTIONS = EL/EB mips32/mips32r2/mips64/mips64r2 mips16 msoft-float/mno-float/mfp64
+MULTILIB_DIRNAMES = el eb mips32 mips32r2 mips64 mips64r2 mips16 sof nof f64
 
 # Remove stdarg.h and stddef.h from USER_H.
 USER_H = $(srcdir)/ginclude/float.h \
index c8b3362..f73b8c7 100644 (file)
@@ -1,3 +1,8 @@
+2008-11-18  Adam Nemet  <anemet@caviumnetworks.com>
+
+       * config.host (mipsisa64r2-*-elf* | mipsisa64r2el-*-elf*): New
+       case.
+
 2008-11-09  Thomas Schwinge  <tschwinge@gnu.org>
 
        * config.host <t-tls>: Also enable for GNU/kFreeBSD and GNU/kNetBSD.
index 1b0cc11..747fd7e 100644 (file)
@@ -395,6 +395,8 @@ mipsisa32r2-*-elf* | mipsisa32r2el-*-elf*)
        ;;
 mipsisa64-*-elf* | mipsisa64el-*-elf*)
        ;;
+mipsisa64r2-*-elf* | mipsisa64r2el-*-elf*)
+       ;;
 mipsisa64sr71k-*-elf*)
         ;;
 mipsisa64sb1-*-elf* | mipsisa64sb1el-*-elf*)