m68k.c (m68k_handle_option): Don't handle OPT_m68000...
authorJoseph Myers <joseph@codesourcery.com>
Thu, 7 Apr 2011 21:25:55 +0000 (22:25 +0100)
committerJoseph Myers <jsm28@gcc.gnu.org>
Thu, 7 Apr 2011 21:25:55 +0000 (22:25 +0100)
* config/m68k/m68k.c (m68k_handle_option): Don't handle
OPT_m68000, OPT_mc68000, OPT_m68010, OPT_m68020, OPT_mc68020,
OPT_m68030, OPT_m68040, OPT_m68060, OPT_m68302, OPT_m68332 and
OPT_mcpu32.
* config/m68k/m68k.h (OPTION_DEFAULT_SPECS, ASM_CPU_SPEC): Don't
handle -mc68000, -m68000, -m68302, -m68010, -mc68020, -m68020,
-m68030, -m68040, -m68060, -mcpu32 and -m68332.
* config/m68k/m68k.opt (m68000, m68010, m68020, m68030, m68040,
m68060, m68302, m68332, mc68000, mc68020, mcpu32): Use Alias.
* config/m68k/t-mlibs (CANONICALIZE_OPTIONS): Remove.
(MULTILIB_OPTIONS): Don't use $(CANONICALIZE_OPTIONS).
(MULTILIB_MATCHES): Map -march= options to corresponding -mcpu=
options.  Don't map other m68k options manually.  Don't handle
old-style options as canonical.
(MULTILIB_EXCEPTIONS): Don't use $(CANONICALIZE_OPTIONS).
* doc/install.texi (m68k-*-*): Document binutils version
requirement.

From-SVN: r172130

gcc/ChangeLog
gcc/config/m68k/m68k.c
gcc/config/m68k/m68k.h
gcc/config/m68k/m68k.opt
gcc/config/m68k/t-mlibs
gcc/doc/install.texi

index 2c180856c1c3e32d96ae850cdf3db9910eb75308..f54b864eabd8448ecc3e41d29eb5e487d41cdb06 100644 (file)
@@ -1,3 +1,23 @@
+2011-04-07  Joseph Myers  <joseph@codesourcery.com>
+
+       * config/m68k/m68k.c (m68k_handle_option): Don't handle
+       OPT_m68000, OPT_mc68000, OPT_m68010, OPT_m68020, OPT_mc68020,
+       OPT_m68030, OPT_m68040, OPT_m68060, OPT_m68302, OPT_m68332 and
+       OPT_mcpu32.
+       * config/m68k/m68k.h (OPTION_DEFAULT_SPECS, ASM_CPU_SPEC): Don't
+       handle -mc68000, -m68000, -m68302, -m68010, -mc68020, -m68020,
+       -m68030, -m68040, -m68060, -mcpu32 and -m68332.
+       * config/m68k/m68k.opt (m68000, m68010, m68020, m68030, m68040,
+       m68060, m68302, m68332, mc68000, mc68020, mcpu32): Use Alias.
+       * config/m68k/t-mlibs (CANONICALIZE_OPTIONS): Remove.
+       (MULTILIB_OPTIONS): Don't use $(CANONICALIZE_OPTIONS).
+       (MULTILIB_MATCHES): Map -march= options to corresponding -mcpu=
+       options.  Don't map other m68k options manually.  Don't handle
+       old-style options as canonical.
+       (MULTILIB_EXCEPTIONS): Don't use $(CANONICALIZE_OPTIONS).
+       * doc/install.texi (m68k-*-*): Document binutils version
+       requirement.
+
 2011-04-07  Eric Botcazou  <ebotcazou@adacore.com>
 
        * basic-block.h (force_nonfallthru): Move to...
index 654b681eb8e2c4d626ac92a8620b09933137a621..3953d01578c6224ccc1023c571ac8ac34c022783 100644 (file)
@@ -499,17 +499,6 @@ m68k_handle_option (struct gcc_options *opts, struct gcc_options *opts_set,
     case OPT_mtune_:
       return m68k_find_selection (&m68k_tune_entry, all_microarchs, arg);
 
-    case OPT_m68000:
-    case OPT_mc68000:
-      return m68k_find_selection (&m68k_cpu_entry, all_devices, "68000");
-
-    case OPT_m68010:
-      return m68k_find_selection (&m68k_cpu_entry, all_devices, "68010");
-
-    case OPT_m68020:
-    case OPT_mc68020:
-      return m68k_find_selection (&m68k_cpu_entry, all_devices, "68020");
-
     case OPT_m68020_40:
       return (m68k_find_selection (&m68k_tune_entry, all_microarchs,
                                   "68020-40")
@@ -520,22 +509,6 @@ m68k_handle_option (struct gcc_options *opts, struct gcc_options *opts_set,
                                   "68020-60")
              && m68k_find_selection (&m68k_cpu_entry, all_devices, "68020"));
 
-    case OPT_m68030:
-      return m68k_find_selection (&m68k_cpu_entry, all_devices, "68030");
-
-    case OPT_m68040:
-      return m68k_find_selection (&m68k_cpu_entry, all_devices, "68040");
-
-    case OPT_m68060:
-      return m68k_find_selection (&m68k_cpu_entry, all_devices, "68060");
-
-    case OPT_m68302:
-      return m68k_find_selection (&m68k_cpu_entry, all_devices, "68302");
-
-    case OPT_m68332:
-    case OPT_mcpu32:
-      return m68k_find_selection (&m68k_cpu_entry, all_devices, "68332");
-
     case OPT_mshared_library_id_:
       if (value > MAX_LIBRARY_ID)
        error ("-mshared-library-id=%s is not between 0 and %d",
index d2805f3b424d7cf82d3073842c7d69ef1eb5063f..d853d783fd0d868762ddd6dbc19c472398c1f3da 100644 (file)
@@ -30,9 +30,8 @@ along with GCC; see the file COPYING3.  If not see
 
 /* Handle --with-cpu default option from configure script.  */
 #define OPTION_DEFAULT_SPECS                                           \
-  { "cpu",   "%{!mc68000:%{!m68000:%{!m68302:%{!m68010:%{!mc68020:%{!m68020:\
-%{!m68030:%{!m68040:%{!m68020-40:%{!m68020-60:%{!m68060:%{!mcpu32:%{!m68332:\
-%{!mcpu=*:%{!march=*:-%(VALUE)}}}}}}}}}}}}}}}" },
+  { "cpu",   "%{!m68020-40:%{!m68020-60:\
+%{!mcpu=*:%{!march=*:-%(VALUE)}}}}" },
 
 /* Pass flags to gas indicating which type of processor we have.  This
    can be simplified when we can rely on the assembler supporting .cpu
@@ -40,9 +39,7 @@ along with GCC; see the file COPYING3.  If not see
 
 #define ASM_CPU_SPEC "\
 %{m68851}%{mno-68851} %{m68881}%{mno-68881} %{msoft-float:-mno-float} \
-%{m68000}%{m68302}%{mc68000}%{m68010}%{m68020}%{mc68020}%{m68030}\
-%{m68040}%{m68020-40:-m68040}%{m68020-60:-m68040}\
-%{m68060}%{mcpu32}%{m68332}\
+%{m68020-40:-m68040}%{m68020-60:-m68040}\
 %{mcpu=*:-mcpu=%*}%{march=*:-march=%*}\
 "
 #define ASM_PCREL_SPEC "%{fPIC|fpic|mpcrel:--pcrel} \
index d1a5e11825121ae507e527b64ec22dbff0509e2a..2f0a63e9ead246e502b65d2c067750bda83ba8ba 100644 (file)
@@ -40,15 +40,15 @@ Target RejectNegative Alias(mcpu=, 5407)
 Generate code for a 5407
 
 m68000
-Target RejectNegative
+Target RejectNegative Alias(mcpu=, 68000)
 Generate code for a 68000
 
 m68010
-Target RejectNegative
+Target RejectNegative Alias(mcpu=, 68010)
 Generate code for a 68010
 
 m68020
-Target RejectNegative
+Target RejectNegative Alias(mcpu=, 68020)
 Generate code for a 68020
 
 m68020-40
@@ -60,23 +60,23 @@ Target RejectNegative
 Generate code for a 68060, without any new instructions
 
 m68030
-Target RejectNegative
+Target RejectNegative Alias(mcpu=, 68030)
 Generate code for a 68030
 
 m68040
-Target RejectNegative
+Target RejectNegative Alias(mcpu=, 68040)
 Generate code for a 68040
 
 m68060
-Target RejectNegative
+Target RejectNegative Alias(mcpu=, 68060)
 Generate code for a 68060
 
 m68302
-Target RejectNegative
+Target RejectNegative Alias(mcpu=, 68302)
 Generate code for a 68302
 
 m68332
-Target RejectNegative
+Target RejectNegative Alias(mcpu=, 68332)
 Generate code for a 68332
 
 ; Has no effect on gcc
@@ -101,11 +101,11 @@ Target Report Mask(BITFIELD)
 Use the bit-field instructions
 
 mc68000
-Target RejectNegative
+Target RejectNegative Alias(mcpu=, 68000)
 Generate code for a 68000
 
 mc68020
-Target RejectNegative
+Target RejectNegative Alias(mcpu=, 68020)
 Generate code for a 68020
 
 mcfv4e
@@ -117,7 +117,7 @@ Target RejectNegative Joined
 Specify the target CPU
 
 mcpu32
-Target RejectNegative
+Target RejectNegative Alias(mcpu=, 68332)
 Generate code for a cpu32
 
 mdiv
index 00fee73b7ea8e639aab3d55f61abe470105bebd4..11df31f210e7f977fe8c244093980b5f01d0ddab 100644 (file)
@@ -45,15 +45,9 @@ ifeq ($(filter m$(M68K_MLIB_DEFAULT),$(M68K_MLIB_CPUS)),)
 $(error Error default cpu '$(target_cpu_default)' is not in multilib set '$(M68K_MLIB_CPUS)')
 endif
 
-# Sed arguments that convert mcpu=* arguments into canonical forms.
-# We want to use the legacy m68* options instead of the new -mcpu=68*
-# options when compiling multilibs because the former are recognised
-# by older binutils.
-CANONICALIZE_OPTIONS = -e 's|mcpu=68|m68|g' -e 's|mcpu=cpu32|mcpu32|g'
-
 MULTILIB_DIRNAMES := $(filter-out m$(M68K_MLIB_DEFAULT),$(M68K_MLIB_CPUS))
 MULTILIB_OPTIONS := $(shell echo $(MULTILIB_DIRNAMES:m%=mcpu=%) \
-                     | sed -e 's| |/|g' $(CANONICALIZE_OPTIONS))
+                     | sed -e 's| |/|g' )
 
 # Add subtarget specific options & dirs.
 MULTILIB_DIRNAMES += $(M68K_MLIB_DIRNAMES)
@@ -62,14 +56,13 @@ MULTILIB_OPTIONS += $(M68K_MLIB_OPTIONS)
 MULTILIB_MATCHES :=
 
 ifneq ($(M68K_ARCH),cf)
-# Map the new-style options to the legacy m68k ones.
-MULTILIB_MATCHES += m68000=mcpu?68000 m68000=march?68000 m68000=mc68000 \
-                   m68000=m68302 \
-                   m68020=mcpu?68020 m68020=march?68020 m68020=mc68020 \
-                   m68030=mcpu?68030 m68030=march?68030 \
-                   m68040=mcpu?68040 m68040=march?68040 \
-                   m68060=mcpu?68060 m68060=march?68060 \
-                   mcpu32=mcpu?cpu32 mcpu32=march?cpu32 mcpu32=m68332
+# Map -march=* options to the representative -mcpu=* option.
+MULTILIB_MATCHES += mcpu?68000=march?68000 \
+                   mcpu?68020=march?68020 \
+                   mcpu?68030=march?68030 \
+                   mcpu?68040=march?68040 \
+                   mcpu?68060=march?68060 \
+                   mcpu?cpu32=march?cpu32
 endif
 
 ifneq ($(M68K_ARCH),m68k)
@@ -82,9 +75,7 @@ endif
 MULTILIB_MATCHES += \
   $(call M68K_AWK, \
         (CPU_NAME != MLIB) $(M68K_MLIB_CPU), \
-        (match(MLIB, "^68") || MLIB == "cpu32" \
-         ? "m"MLIB"=mcpu?"CPU_NAME \
-         : "mcpu?"MLIB"=mcpu?"CPU_NAME))
+        ("mcpu?"MLIB"=mcpu?"CPU_NAME))
 
 MULTILIB_EXCEPTIONS :=
 
@@ -102,9 +93,5 @@ endif
 MULTILIB_EXCEPTIONS := \
        $(patsubst mcpu=$(M68K_MLIB_DEFAULT)/%,%,$(MULTILIB_EXCEPTIONS))
 
-# Convert all options to canonical form.
-MULTILIB_EXCEPTIONS := $(shell echo $(MULTILIB_EXCEPTIONS) | \
-                        sed $(CANONICALIZE_OPTIONS))
-
 LIBGCC = stmp-multilib
 INSTALL_LIBGCC = install-multilib
index d8a6a59d7ef254877e65dd0d9436d55025b0ca1b..dfadb9d59defb4e0ad1f75fdaa9a2dbfc69e367d 100644 (file)
@@ -3773,6 +3773,8 @@ be a @option{-mcpu} argument or one of the following values:
 @samp{m68000}, @samp{m68010}, @samp{m68020}, @samp{m68030},
 @samp{m68040}, @samp{m68060}, @samp{m68020-40} and @samp{m68020-60}.
 
+GCC requires at least binutils version 2.17 on these targets.
+
 @html
 <hr />
 @end html