diff options
author | Steve Ellcey <sellcey@mips.com> | 2012-10-30 21:21:41 +0000 |
---|---|---|
committer | Steve Ellcey <sje@gcc.gnu.org> | 2012-10-30 21:21:41 +0000 |
commit | e64d0f556d4d52682d242af0efab9a587013baec (patch) | |
tree | b6db3d38f4fd6a718d234a15add279e89af9fd95 /gcc | |
parent | 606e7d3a082ead945cd3804525fea467886a0187 (diff) | |
download | gcc-e64d0f556d4d52682d242af0efab9a587013baec.zip gcc-e64d0f556d4d52682d242af0efab9a587013baec.tar.gz gcc-e64d0f556d4d52682d242af0efab9a587013baec.tar.bz2 |
mti-linux.h (SYSROOT_SUFFIX_SPEC): Change order and add mabi=64.
2012-10-30 Steve Ellcey <sellcey@mips.com>
* config/mips/mti-linux.h (SYSROOT_SUFFIX_SPEC): Change order
and add mabi=64.
(DRIVER_SELF_SPECS): Make -n32 the default on mips64* archs.
* config/mips/t-mti-linux (MULTILIB_OPTIONS): Change order.
(MULTILIB_DIRNAMES): Ditto.
(MULTILIB_EXCEPTIONS): New.
From-SVN: r192995
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/config/mips/mti-linux.h | 6 | ||||
-rw-r--r-- | gcc/config/mips/t-mti-linux | 13 |
3 files changed, 25 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e3b2edaa..80c968c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2012-10-30 Steve Ellcey <sellcey@mips.com> + + * config/mips/mti-linux.h (SYSROOT_SUFFIX_SPEC): Change order + and add mabi=64. + (DRIVER_SELF_SPECS): Make -n32 the default on mips64* archs. + * config/mips/t-mti-linux (MULTILIB_OPTIONS): Change order. + (MULTILIB_DIRNAMES): Ditto. + (MULTILIB_EXCEPTIONS): New. + 2012-10-30 Joern Rennecke <joern.rennecke@embecosm.com> * lra-constraints.c (check_secondary_memory_needed_p): diff --git a/gcc/config/mips/mti-linux.h b/gcc/config/mips/mti-linux.h index 36c003c..cda9bdc 100644 --- a/gcc/config/mips/mti-linux.h +++ b/gcc/config/mips/mti-linux.h @@ -21,7 +21,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}%{msoft-float:/sof}%{mel|EL:/el}%{mabi=64:/64}%{mabi=n32:/n32}" + "%{mips32:/mips32}%{mips64:/mips64}%{mips64r2:/mips64r2}%{mabi=64:/64}%{mel|EL:/el}%{msoft-float:/sof}" #undef DRIVER_SELF_SPECS #define DRIVER_SELF_SPECS \ @@ -36,6 +36,10 @@ along with GCC; see the file COPYING3. If not see /* Infer the -msynci setting from -march if not explicitly set. */ \ MIPS_ISA_SYNCI_SPEC, \ \ + /* If no ABI option is specified, infer one from the ISA level \ + or -mgp setting. */ \ + "%{!mabi=*: %{" MIPS_32BIT_OPTION_SPEC ": -mabi=32;: -mabi=n32}}", \ + \ /* Base SPECs. */ \ BASE_DRIVER_SELF_SPECS \ \ diff --git a/gcc/config/mips/t-mti-linux b/gcc/config/mips/t-mti-linux index ba11706..6d280cd 100644 --- a/gcc/config/mips/t-mti-linux +++ b/gcc/config/mips/t-mti-linux @@ -19,6 +19,15 @@ # The default build is mips32r2, hard-float big-endian. Add mips32, # soft-float, and little-endian variations. -MULTILIB_OPTIONS = mips32/mips64/mips64r2 msoft-float EL -MULTILIB_DIRNAMES = mips32 mips64 mips64r2 sof el +MULTILIB_OPTIONS = mips32/mips64/mips64r2 mabi=64 EL msoft-float +MULTILIB_DIRNAMES = mips32 mips64 mips64r2 64 el sof MULTILIB_MATCHES = EL=mel EB=meb + +# The 64 bit ABI is not supported on the mips32 architecture. +MULTILIB_EXCEPTIONS += *mips32*/*mabi=64* + +# The 64 bit ABI is not supported on the mips32r2 architecture. +# Because mips32r2 is the default we can't use that flag to trigger +# the exception so we check for mabi=64 with no specific mips flag +# instead. +MULTILIB_EXCEPTIONS += mabi=64* |