aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/mips/t-isa3264
diff options
context:
space:
mode:
authorRichard Sandiford <richard@codesourcery.com>2007-07-02 10:11:56 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2007-07-02 10:11:56 +0000
commite2c14f5d512a5a5e8a658030789dea947c42068e (patch)
tree0032f4d9416bd1cb36c8e003f578b206cb2e73b1 /gcc/config/mips/t-isa3264
parent36618b93d0cbf25b1de5ec50998c3430e29c4585 (diff)
downloadgcc-e2c14f5d512a5a5e8a658030789dea947c42068e.zip
gcc-e2c14f5d512a5a5e8a658030789dea947c42068e.tar.gz
gcc-e2c14f5d512a5a5e8a658030789dea947c42068e.tar.bz2
gcc/
* config.gcc (mipsisa32-*-elf*, mipsisa32el-*-elf*) (mipsisa32r2-*-elf*, mipsisa32r2el-*-elf*) (mipsisa64-*-elf*, mipsisa64el-*-elf*): Combine top-level stanzas. Use the first part of the triplet to set MIPS_ISA_DEFAULT. Remove redundant setting of MASK_FLOAT64 and MASK_64BIT for the 64-bit targets. Add support for *-elfoabi*. * config/mips/t-isa3264 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Use different settings if $(tm_defines) does not select the EABI. (MULTILIB_EXCLUSIONS): Define in those circumstances. * config/mips/mips.h (MIPS_ISA_LEVEL_OPTION_SPEC): New macro. (MIPS_ARCH_OPTION_SPEC): Likewise. (MIPS_ISA_LEVEL_SPEC): Likewise. (OPTION_DEFAULT_SPECS): Use MIPS_ARCH_OPTION_SPEC. * config/mips/elfoabi.h: New file. From-SVN: r126195
Diffstat (limited to 'gcc/config/mips/t-isa3264')
-rw-r--r--gcc/config/mips/t-isa326410
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/config/mips/t-isa3264 b/gcc/config/mips/t-isa3264
index be1fc86..fb5a55d 100644
--- a/gcc/config/mips/t-isa3264
+++ b/gcc/config/mips/t-isa3264
@@ -36,8 +36,18 @@ 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
+else
+MULTILIB_OPTIONS = msoft-float/mfp64 EL/EB mips32/mips32r2/mips64
+MULTILIB_DIRNAMES = soft-float fp64 el eb mips32 mips32r2 mips64
+ifneq ($(filter MIPS_ISA_DEFAULT=33,$(tm_defines)),)
+MULTILIB_EXCLUSIONS = mips32/mfp64 mips64/mfp64
+else
+MULTILIB_EXCLUSIONS = !mips32r2/mfp64
+endif
+endif
MULTILIB_MATCHES = EL=mel EB=meb
EXTRA_MULTILIB_PARTS = crtbegin.o crtend.o crti.o crtn.o