From 0a4a51c75b941c517d8ac26dfdd92469bc0f621a Mon Sep 17 00:00:00 2001 From: Adam Nemet Date: Tue, 18 Nov 2008 21:00:28 +0000 Subject: config.gcc (mips*-sde-elf*): Handle mipsisa64r2*. 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/config/mips/sde.h | 2 +- gcc/config/mips/t-isa3264 | 10 +++++----- gcc/config/mips/t-sde | 12 ++++++++---- gcc/config/mips/t-sdemtk | 4 ++-- 4 files changed, 16 insertions(+), 12 deletions(-) (limited to 'gcc/config') diff --git a/gcc/config/mips/sde.h b/gcc/config/mips/sde.h index f80b6f7..ee8b20b 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 cec7e5e..ef2de4e 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 a6d4290..64180d9 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 5169dee..1135015 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 \ -- cgit v1.1