From 07cb5010c806d4d41d4ecf06acab9306a3d4cdc6 Mon Sep 17 00:00:00 2001 From: Steve Ellcey Date: Thu, 7 Nov 2013 20:42:51 +0000 Subject: [PATCH] mti-linux.h (SYSROOT_SUFFIX_SPEC): Add fp64 directory. 2013-11-07 Steve Ellcey * config/mips/mti-linux.h (SYSROOT_SUFFIX_SPEC): Add fp64 directory. * config/mips/t-mti-linux (MULTILIB_OPTIONS): Add -mfp64 flag. (MULTILIB_DIRNAMES): Add fp64 directory. (MULTILIB_EXCEPTIONS): Add new exclusions. From-SVN: r204542 --- gcc/ChangeLog | 7 +++++++ gcc/config/mips/mti-linux.h | 2 +- gcc/config/mips/t-mti-elf | 14 +++++++++++--- gcc/config/mips/t-mti-linux | 14 +++++++++++--- 4 files changed, 30 insertions(+), 7 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 74b5a862854..e59e37a52cc 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2013-11-07 Steve Ellcey + + * config/mips/mti-linux.h (SYSROOT_SUFFIX_SPEC): Add fp64 directory. + * config/mips/t-mti-linux (MULTILIB_OPTIONS): Add -mfp64 flag. + (MULTILIB_DIRNAMES): Add fp64 directory. + (MULTILIB_EXCEPTIONS): Add new exclusions. + 2013-11-07 Aldy Hernandez * gimplify.c (gimple_regimplify_operands): Do not set diff --git a/gcc/config/mips/mti-linux.h b/gcc/config/mips/mti-linux.h index 96dcac4dfb3..194fd1da723 100644 --- a/gcc/config/mips/mti-linux.h +++ b/gcc/config/mips/mti-linux.h @@ -20,7 +20,7 @@ along with GCC; see the file COPYING3. If not see /* This target is a multilib target, specify the sysroot paths. */ #undef SYSROOT_SUFFIX_SPEC #define SYSROOT_SUFFIX_SPEC \ - "%{mips32:/mips32}%{mips64:/mips64}%{mips64r2:/mips64r2}%{mips16:/mips16}%{mmicromips:/micromips}%{mabi=64:/64}%{mel|EL:/el}%{msoft-float:/sof}%{mnan=2008:/nan2008}" + "%{mips32:/mips32}%{mips64:/mips64}%{mips64r2:/mips64r2}%{mips16:/mips16}%{mmicromips:/micromips}%{mabi=64:/64}%{mel|EL:/el}%{msoft-float:/sof}%{mfp64:/fp64}%{mnan=2008:/nan2008}" #undef DRIVER_SELF_SPECS #define DRIVER_SELF_SPECS \ diff --git a/gcc/config/mips/t-mti-elf b/gcc/config/mips/t-mti-elf index 4aec70cb807..f2c714b9331 100644 --- a/gcc/config/mips/t-mti-elf +++ b/gcc/config/mips/t-mti-elf @@ -19,8 +19,8 @@ # The default build is mips32r2, hard-float big-endian. Add mips32, # soft-float, and little-endian variations. -MULTILIB_OPTIONS = mips32/mips64/mips64r2 mips16/mmicromips mabi=64 EL msoft-float/mnan=2008 -MULTILIB_DIRNAMES = mips32 mips64 mips64r2 mips16 micromips 64 el sof nan2008 +MULTILIB_OPTIONS = mips32/mips64/mips64r2 mips16/mmicromips mabi=64 EL msoft-float/mfp64 mnan=2008 +MULTILIB_DIRNAMES = mips32 mips64 mips64r2 mips16 micromips 64 el sof fp64 nan2008 MULTILIB_MATCHES = EL=mel EB=meb # The 64 bit ABI is not supported on the mips32 architecture. @@ -37,6 +37,14 @@ MULTILIB_EXCEPTIONS += *mips64*/*mips16* MULTILIB_EXCEPTIONS += *mips16/mabi=64* # We only want micromips for mips32r2 architecture. -MULTILIB_EXCEPTIONS += *mips64*/mmicromips* MULTILIB_EXCEPTIONS += *mips32/mmicromips* +MULTILIB_EXCEPTIONS += *mips64*/mmicromips* MULTILIB_EXCEPTIONS += *mmicromips/mabi=64* + +# We do not want nan2008 libraries for soft-float. +MULTILIB_EXCEPTIONS += *msoft-float*/*mnan=2008* + +# -mfp64 libraries are only built for mips32r2 and not in mips16 mode. +MULTILIB_EXCEPTIONS += *mips32/*mfp64* +MULTILIB_EXCEPTIONS += *mips64*/*mfp64* +MULTILIB_EXCEPTIONS += *mips16*/*mfp64* diff --git a/gcc/config/mips/t-mti-linux b/gcc/config/mips/t-mti-linux index 4aec70cb807..f2c714b9331 100644 --- a/gcc/config/mips/t-mti-linux +++ b/gcc/config/mips/t-mti-linux @@ -19,8 +19,8 @@ # The default build is mips32r2, hard-float big-endian. Add mips32, # soft-float, and little-endian variations. -MULTILIB_OPTIONS = mips32/mips64/mips64r2 mips16/mmicromips mabi=64 EL msoft-float/mnan=2008 -MULTILIB_DIRNAMES = mips32 mips64 mips64r2 mips16 micromips 64 el sof nan2008 +MULTILIB_OPTIONS = mips32/mips64/mips64r2 mips16/mmicromips mabi=64 EL msoft-float/mfp64 mnan=2008 +MULTILIB_DIRNAMES = mips32 mips64 mips64r2 mips16 micromips 64 el sof fp64 nan2008 MULTILIB_MATCHES = EL=mel EB=meb # The 64 bit ABI is not supported on the mips32 architecture. @@ -37,6 +37,14 @@ MULTILIB_EXCEPTIONS += *mips64*/*mips16* MULTILIB_EXCEPTIONS += *mips16/mabi=64* # We only want micromips for mips32r2 architecture. -MULTILIB_EXCEPTIONS += *mips64*/mmicromips* MULTILIB_EXCEPTIONS += *mips32/mmicromips* +MULTILIB_EXCEPTIONS += *mips64*/mmicromips* MULTILIB_EXCEPTIONS += *mmicromips/mabi=64* + +# We do not want nan2008 libraries for soft-float. +MULTILIB_EXCEPTIONS += *msoft-float*/*mnan=2008* + +# -mfp64 libraries are only built for mips32r2 and not in mips16 mode. +MULTILIB_EXCEPTIONS += *mips32/*mfp64* +MULTILIB_EXCEPTIONS += *mips64*/*mfp64* +MULTILIB_EXCEPTIONS += *mips16*/*mfp64*