diff options
-rw-r--r-- | gcc/ChangeLog | 14 | ||||
-rw-r--r-- | gcc/config.gcc | 2 | ||||
-rw-r--r-- | gcc/config/mips/elfoabi.h | 7 | ||||
-rw-r--r-- | gcc/config/mips/iris6.h | 9 | ||||
-rw-r--r-- | gcc/config/mips/linux.h | 8 | ||||
-rw-r--r-- | gcc/config/mips/mips.h | 6 | ||||
-rw-r--r-- | gcc/config/mips/sde.h | 6 | ||||
-rw-r--r-- | gcc/config/mips/vr.h | 8 |
8 files changed, 51 insertions, 9 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 49df4e79ac0..a09fd980c3b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 diff --git a/gcc/config.gcc b/gcc/config.gcc index 788e4351a9b..99f7c89b945 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -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*) diff --git a/gcc/config/mips/elfoabi.h b/gcc/config/mips/elfoabi.h index a8c92b869d8..add44b4cae8 100644 --- a/gcc/config/mips/elfoabi.h +++ b/gcc/config/mips/elfoabi.h @@ -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 + diff --git a/gcc/config/mips/iris6.h b/gcc/config/mips/iris6.h index ffd918e8aaa..b47c38f1218 100644 --- a/gcc/config/mips/iris6.h +++ b/gcc/config/mips/iris6.h @@ -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. */ diff --git a/gcc/config/mips/linux.h b/gcc/config/mips/linux.h index b30289741fe..c028f563de0 100644 --- a/gcc/config/mips/linux.h +++ b/gcc/config/mips/linux.h @@ -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 diff --git a/gcc/config/mips/mips.h b/gcc/config/mips/mips.h index ecf7d910fa1..bf2e0d0fae7 100644 --- a/gcc/config/mips/mips.h +++ b/gcc/config/mips/mips.h @@ -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) diff --git a/gcc/config/mips/sde.h b/gcc/config/mips/sde.h index beb8d1df7bf..f80b6f71b08 100644 --- a/gcc/config/mips/sde.h +++ b/gcc/config/mips/sde.h @@ -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". diff --git a/gcc/config/mips/vr.h b/gcc/config/mips/vr.h index 9492cac759d..b5b32c8ea21 100644 --- a/gcc/config/mips/vr.h +++ b/gcc/config/mips/vr.h @@ -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 |