mti-linux.h (SYSROOT_SUFFIX_SPEC): Change order and add mabi=64.
authorSteve Ellcey <sellcey@mips.com>
Tue, 30 Oct 2012 21:21:41 +0000 (21:21 +0000)
committerSteve Ellcey <sje@gcc.gnu.org>
Tue, 30 Oct 2012 21:21:41 +0000 (21:21 +0000)
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

gcc/ChangeLog
gcc/config/mips/mti-linux.h
gcc/config/mips/t-mti-linux

index e3b2edaa0666bee2c1c41a8ac93e623322dede42..80c968c349b3b23ca335784261e7a724e60c7604 100644 (file)
@@ -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):
index 36c003c60cb3027b169e00230cec4c0b526660d1..cda9bdc83c977cb12e3230cd14a3b4ba398f5d74 100644 (file)
@@ -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                                               \
                                                                        \
index ba11706ffeef546a9fb599ffac4733d52725d5fe..6d280cdbcfd1cbf0d0bc05ec917efe9f57a6b4f4 100644 (file)
 # 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*