From: Joseph Myers Date: Thu, 7 Apr 2011 21:25:55 +0000 (+0100) Subject: m68k.c (m68k_handle_option): Don't handle OPT_m68000... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=39e7722bbfdce2277b92dd8d0df62399051c7c7a;p=gcc.git m68k.c (m68k_handle_option): Don't handle OPT_m68000... * 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2c180856c1c..f54b864eabd 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,23 @@ +2011-04-07 Joseph Myers + + * 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 * basic-block.h (force_nonfallthru): Move to... diff --git a/gcc/config/m68k/m68k.c b/gcc/config/m68k/m68k.c index 654b681eb8e..3953d01578c 100644 --- a/gcc/config/m68k/m68k.c +++ b/gcc/config/m68k/m68k.c @@ -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", diff --git a/gcc/config/m68k/m68k.h b/gcc/config/m68k/m68k.h index d2805f3b424..d853d783fd0 100644 --- a/gcc/config/m68k/m68k.h +++ b/gcc/config/m68k/m68k.h @@ -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} \ diff --git a/gcc/config/m68k/m68k.opt b/gcc/config/m68k/m68k.opt index d1a5e118251..2f0a63e9ead 100644 --- a/gcc/config/m68k/m68k.opt +++ b/gcc/config/m68k/m68k.opt @@ -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 diff --git a/gcc/config/m68k/t-mlibs b/gcc/config/m68k/t-mlibs index 00fee73b7ea..11df31f210e 100644 --- a/gcc/config/m68k/t-mlibs +++ b/gcc/config/m68k/t-mlibs @@ -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 diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi index d8a6a59d7ef..dfadb9d59de 100644 --- a/gcc/doc/install.texi +++ b/gcc/doc/install.texi @@ -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
@end html