diff options
author | nemet <nemet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-11-18 21:00:28 +0000 |
---|---|---|
committer | nemet <nemet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-11-18 21:00:28 +0000 |
commit | 77a32a8e9f51ccdfb98d6615245af2c0186a8e61 (patch) | |
tree | 3768ee676ca7a24e1e6058450ca3370836de68d3 | |
parent | 16e39bfdc13131a66b2a3c9eb43cd0688662e15f (diff) | |
download | gcc-77a32a8e9f51ccdfb98d6615245af2c0186a8e61.tar.gz |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@141976 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog | 16 | ||||
-rw-r--r-- | gcc/config.gcc | 9 | ||||
-rw-r--r-- | gcc/config/mips/sde.h | 2 | ||||
-rw-r--r-- | gcc/config/mips/t-isa3264 | 10 | ||||
-rw-r--r-- | gcc/config/mips/t-sde | 12 | ||||
-rw-r--r-- | gcc/config/mips/t-sdemtk | 4 | ||||
-rw-r--r-- | libgcc/ChangeLog | 5 | ||||
-rw-r--r-- | libgcc/config.host | 2 |
8 files changed, 47 insertions, 13 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 08f63104473..fc9a9fe2d2c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 diff --git a/gcc/config.gcc b/gcc/config.gcc index 82a6ea5e66b..ded0b1c7f67 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -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" ;; diff --git a/gcc/config/mips/sde.h b/gcc/config/mips/sde.h index f80b6f71b08..ee8b20b0996 100644 --- a/gcc/config/mips/sde.h +++ b/gcc/config/mips/sde.h @@ -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} \ diff --git a/gcc/config/mips/t-isa3264 b/gcc/config/mips/t-isa3264 index cec7e5e64b5..ef2de4e8675 100644 --- a/gcc/config/mips/t-isa3264 +++ b/gcc/config/mips/t-isa3264 @@ -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 diff --git a/gcc/config/mips/t-sde b/gcc/config/mips/t-sde index a6d4290750f..64180d9ecf1 100644 --- a/gcc/config/mips/t-sde +++ b/gcc/config/mips/t-sde @@ -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 diff --git a/gcc/config/mips/t-sdemtk b/gcc/config/mips/t-sdemtk index 5169dee53b3..1135015f665 100644 --- a/gcc/config/mips/t-sdemtk +++ b/gcc/config/mips/t-sdemtk @@ -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 \ diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index c8b33622ccb..f73b8c7c89c 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -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. diff --git a/libgcc/config.host b/libgcc/config.host index 1b0cc110065..747fd7e336b 100644 --- a/libgcc/config.host +++ b/libgcc/config.host @@ -395,6 +395,8 @@ mipsisa32r2-*-elf* | mipsisa32r2el-*-elf*) ;; mipsisa64-*-elf* | mipsisa64el-*-elf*) ;; +mipsisa64r2-*-elf* | mipsisa64r2el-*-elf*) + ;; mipsisa64sr71k-*-elf*) ;; mipsisa64sb1-*-elf* | mipsisa64sb1el-*-elf*) |