config.gcc (mips64vrel-*-elf*): Include the tm_file prior to vr.h.
authorCatherine Moore <clm@codesourcery.com>
Mon, 10 Nov 2008 23:56:24 +0000 (18:56 -0500)
committerCatherine Moore <clm@gcc.gnu.org>
Mon, 10 Nov 2008 23:56:24 +0000 (18:56 -0500)
        * config.gcc (mips64vrel-*-elf*): Include the tm_file
        prior to vr.h.
        * config/mips/linux.h (LINUX_DRIVER_SELF_SPECS): New.
        (BASE_DRIVER_SELF_SPECS): Remove.
        (DRIVER_SELF_SPECS): New definition.
        * config/mips/elfoabi.h: (DRIVER_SELF_SPECS): Include
        BASE_DRIVER_SELF_SPECS.
        * config/mips/sde.h: Likewise.
        * config/mips/iris6.h: Likewise.
        * config/mips/vr.h: Likewise.
        * config/mips/mips.h (BASE_DRIVER_SELF_SPECS): New.

From-SVN: r141754

gcc/ChangeLog
gcc/config.gcc
gcc/config/mips/elfoabi.h
gcc/config/mips/iris6.h
gcc/config/mips/linux.h
gcc/config/mips/mips.h
gcc/config/mips/sde.h
gcc/config/mips/vr.h

index 49df4e79ac0484ecec55c0ee9141aab63c424b3c..a09fd980c3b62db687dbf52abf9b4785f55eee69 100644 (file)
@@ -1,3 +1,17 @@
+2008-11-10  Catherine Moore  <clm@codesourcery.com>
+
+       * config.gcc (mips64vrel-*-elf*): Include the tm_file
+       prior to vr.h.
+       * config/mips/linux.h (LINUX_DRIVER_SELF_SPECS): New.
+       (BASE_DRIVER_SELF_SPECS): Remove.
+       (DRIVER_SELF_SPECS): New definition.
+       * config/mips/elfoabi.h: (DRIVER_SELF_SPECS): Include
+       BASE_DRIVER_SELF_SPECS.
+       * config/mips/sde.h: Likewise.
+       * config/mips/iris6.h: Likewise.
+       * config/mips/vr.h: Likewise.
+       * config/mips/mips.h (BASE_DRIVER_SELF_SPECS): New. 
+
 2008-11-07  Vladimir Makarov  <vmakarov@redhat.com>
            
        PR rtl-optimizations/37948
index 788e4351a9b69131a7a816dc0f46db90b136066a..99f7c89b9453776aee8ddbedc77f9a3aa61ea343 100644 (file)
@@ -1672,7 +1672,7 @@ mips64-*-elf* | mips64el-*-elf*)
        tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64"
        ;;
 mips64vr-*-elf* | mips64vrel-*-elf*)
-        tm_file="mips/vr.h elfos.h ${tm_file} mips/elf.h"
+        tm_file="elfos.h ${tm_file} mips/vr.h mips/elf.h"
         tmake_file=mips/t-vr
         ;;
 mips64orion-*-elf* | mips64orionel-*-elf*)
index a8c92b869d8ec949d1b70d5821e0191a2583cf71..add44b4cae84219d55dfd3b3b344e11037538986 100644 (file)
@@ -19,6 +19,7 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
+#undef DRIVER_SELF_SPECS
 #define DRIVER_SELF_SPECS                                              \
   /* Make sure a -mips option is present.  This helps us to pick       \
      the right multilib, and also makes the later specs easier         \
@@ -32,4 +33,8 @@ along with GCC; see the file COPYING3.  If not see
   /* Remove a redundant -mfp64 for -mabi=o64; we want the !mfp64       \
      multilibs.  There's no need to check whether the architecture     \
      is 64-bit; cc1 will complain if it isn't.  */                     \
-  "%{mabi=o64: %<mfp64}"
+  "%{mabi=o64: %<mfp64}",                                              \
+                                                                       \
+  /* Configuration-independent MIPS rules.*/                           \
+  BASE_DRIVER_SELF_SPECS
+
index ffd918e8aaa1ed84e61e16483c7af08b82a6a48c..b47c38f1218c6fa45254a255911f77777e41cd48 100644 (file)
@@ -29,9 +29,12 @@ along with GCC; see the file COPYING3.  If not see
 
 /* Force the default ABI onto the command line in order to make the specs
    easier to write.  Default to the mips2 ISA for the O32 ABI.  */
-#define DRIVER_SELF_SPECS \
-  "%{!mabi=*: -mabi=n32}", \
-  "%{mabi=32: %{!mips*: %{!march*: -mips2}}}"
+#undef DRIVER_SELF_SPECS
+#define DRIVER_SELF_SPECS                      \
+  "%{!mabi=*: -mabi=n32}",                     \
+  "%{mabi=32: %{!mips*: %{!march*: -mips2}}}",         \
+  /* Configuration-independent MIPS rules.  */ \
+  BASE_DRIVER_SELF_SPECS
 
 /* Force the generation of dwarf .debug_frame sections even if not
    compiling -g.  This guarantees that we can unwind the stack.  */
index b30289741fe136e1d99243f789f720a8d31c1a1f..c028f563de07f5bc6c573d144a1ec0cd0a4270cc 100644 (file)
@@ -134,7 +134,7 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
 # define MARCH_MTUNE_NATIVE_SPECS ""
 #endif
 
-#define BASE_DRIVER_SELF_SPECS \
+#define LINUX_DRIVER_SELF_SPECS \
   NO_SHARED_SPECS                                                      \
   MARCH_MTUNE_NATIVE_SPECS,                                            \
   /* -mplt has no effect without -mno-shared.  Simplify later          \
@@ -142,4 +142,8 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
   "%{!mno-shared:%<mplt}",                                             \
   /* -mplt likewise has no effect for -mabi=64 without -msym32.  */    \
   "%{mabi=64:%{!msym32:%<mplt}}"
-#define DRIVER_SELF_SPECS BASE_DRIVER_SELF_SPECS
+
+#undef DRIVER_SELF_SPECS
+#define DRIVER_SELF_SPECS \
+  BASE_DRIVER_SELF_SPECS, \
+  LINUX_DRIVER_SELF_SPECS
index ecf7d910fa1150e6e27026f31914fe2b232d7221..bf2e0d0fae7b5c777804ceb7c6e23db2ef7e3a17 100644 (file)
@@ -742,6 +742,12 @@ enum mips_code_readable_setting {
   {"mips-plt", "%{!mplt:%{!mno-plt:-m%(VALUE)}}" }
 
 
+/* A spec that infers the -mdsp setting from an -march argument.  */
+#define BASE_DRIVER_SELF_SPECS \
+  "%{!mno-dsp:%{march=24ke*|march=34k*|march=74k*: -mdsp}}"
+
+#define DRIVER_SELF_SPECS BASE_DRIVER_SELF_SPECS
+
 #define GENERATE_DIVIDE_TRAPS (TARGET_DIVIDE_TRAPS \
                                && ISA_HAS_COND_TRAP)
 
index beb8d1df7bf41b6065a04136ed3e2058c75f295c..f80b6f71b08c8485f3825099cf61ecf2c27b4aa6 100644 (file)
@@ -19,6 +19,7 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
+#undef DRIVER_SELF_SPECS
 #define DRIVER_SELF_SPECS                                              \
   /* Make sure a -mips option is present.  This helps us to pick       \
      the right multilib, and also makes the later specs easier         \
@@ -46,7 +47,10 @@ along with GCC; see the file COPYING3.  If not see
      The latter trumps the former.  */                                 \
   "%{mno-data-in-code: -mcode-readable=no}",                           \
   "%{!mcode-readable=no: %{mcode-xonly: -mcode-readable=pcrel}}",      \
-  "%<mno-data-in-code %<mcode-xonly"
+  "%<mno-data-in-code %<mcode-xonly",                                  \
+                                                                       \
+  /* Configuration-independent MIPS rules.  */                         \
+  BASE_DRIVER_SELF_SPECS                               
 
 /* Use trap rather than break for all but MIPS I ISA.  Force -no-mips16,
    so that MIPS16 assembler code requires an explicit ".set mips16".
index 9492cac759df795fc0f7007657fd6a4d74e3b7ee..b5b32c8ea2149948436ba757a0083a6736b84bc1 100644 (file)
@@ -20,12 +20,15 @@ along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
 #define DEFAULT_VR_ARCH "mfix-vr4130"
+#undef MIPS_ABI_DEFAULT
 #define MIPS_ABI_DEFAULT ABI_EABI
+#undef MULTILIB_DEFAULTS
 #define MULTILIB_DEFAULTS \
        { MULTILIB_ENDIAN_DEFAULT,              \
          MULTILIB_ABI_DEFAULT,                 \
          DEFAULT_VR_ARCH }
 
+#undef DRIVER_SELF_SPECS
 #define DRIVER_SELF_SPECS \
        /* Enforce the default architecture.  This is mostly for        \
           the assembler's benefit.  */                                 \
@@ -51,4 +54,7 @@ along with GCC; see the file COPYING3.  If not see
        "%{mabi=eabi:%{!mlong*:%{!mgp32:-mlong64}}}",                   \
                                                                        \
        /* Remove -mgp32 if it is redundant.  */                        \
-       "%{mabi=32:%<mgp32}"
+       "%{mabi=32:%<mgp32}",                                           \
+                                                                       \
+       /* Configuration-independent MIPS rules.  */                    \
+       BASE_DRIVER_SELF_SPECS