200x-xx-xx Nathan Sidwell <nathan@codesourcery.com> Richard Sandiford...
authorNathan Sidwell <nathan@codesourcery.com>
Fri, 12 Jan 2007 09:28:34 +0000 (09:28 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Fri, 12 Jan 2007 09:28:34 +0000 (09:28 +0000)
gcc/
200x-xx-xx  Nathan Sidwell  <nathan@codesourcery.com>
    Richard Sandiford  <richard@codesourcery.com>
    Julian Brown  <julian@codesourcery.com>

* config.gcc (m68k-*-aout*, m68k-*-coff*, m68020-*-elf*, m68k-*-elf*)
(m68k-*-uclinux*, m68k-*-linux*, m68k-*-rtems*): Set default_m68k_cpu
to the configuration's default CPU.
(m68010-*-netbsdelf*, m68k*-*-netbsdelf*, m68k*-*-openbsd*): Likewise.
Remove default masks.
(m680[012]0-*-*): Set the default with_cpu to the first part of
the target name.
(m68k*-*-*): Set the default with_cpu to m$default_m68k_cpu.
(m68k*-*-linux): Extend the --with-cpu handling to...
(m680[012]0-*-*, m68k*-*-*): ...these configurations.  Allow m68000
and m68010.  Don't set target_cpu_default2.
* doc/install.texi: Document --with-cpu for m68k.
* config/m68k/m68k.h (OPTION_DEFAULT_SPECS): Define.
* config/m68k/m68k-none.h (TARGET_CPU_DEFAULT, M68K_CPU_m68k)
(M68K_CPU_m68000, M68K_CPU_m68010, M68K_CPU_m68020, M68K_CPU_m68030)
(M68K_CPU_m68040, M68K_CPU_m68302, M68K_CPU_m68332, TARGET_DEFAULT)
(ASM_CPU_DEFAULT_SPEC, CC1_CPU_DEFAULT_SPEC): Delete.
(ASM_SPEC): Remove use of %(asm_cpu_default).
(EXTRA_SPECS, SUBTARGET_EXTRA_SPECS, MULTILIB_DEFAULTS): Delete.
* config/m68k/linux.h (TARGET_DEFAULT): Delete.
(CPP_SPEC): Merge definitions.  Do not handle __HAVE_68881__ here.
* config/m68k/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define
__HAVE_FPU__ if TARGET_HARD_FLOAT.
(TARGET_DEFAULT): Delete.
(EXTRA_SPECS): Delete cpp_cpu_default_spec, cpp_cpu_spec,
cpp_fpu_spec, asm_default_spec and netbsd_cpp_spec.
(CPP_CPU_SPEC): Delete.
(TARGET_VERSION): Merge definitions, using TARGET_68010 to pick
the appropriate string.
(CPP_CPU_DEFAULT_SPEC, ASM_DEFAULT_SPEC, CPP_FPU_SPEC): Delete.
(CPP_SPEC): Define to NETBSD_CPP_SPEC.
(ASM_SPEC): Don't use %(asm_default_spec).
* config/m68k/m68k.c (TARGET_DEFAULT_TARGET_FLAGS): Remove
TARGET_DEFAULT and add MASK_68881.
* config/m68k/m68k.md: Remove mention of TARGET_DEFAULT from comments.

Co-Authored-By: Julian Brown <julian@codesourcery.com>
Co-Authored-By: Richard Sandiford <richard@codesourcery.com>
From-SVN: r120711

gcc/ChangeLog
gcc/config.gcc
gcc/config/m68k/linux.h
gcc/config/m68k/m68k-none.h
gcc/config/m68k/m68k.c
gcc/config/m68k/m68k.h
gcc/config/m68k/m68k.md
gcc/config/m68k/netbsd-elf.h
gcc/doc/install.texi

index c7af79d..e1167f1 100644 (file)
@@ -1,3 +1,43 @@
+2007-01-12  Nathan Sidwell  <nathan@codesourcery.com>
+           Richard Sandiford  <richard@codesourcery.com>
+           Julian Brown  <julian@codesourcery.com>
+
+       * config.gcc (m68k-*-aout*, m68k-*-coff*, m68020-*-elf*, m68k-*-elf*)
+       (m68k-*-uclinux*, m68k-*-linux*, m68k-*-rtems*): Set default_m68k_cpu
+       to the configuration's default CPU.
+       (m68010-*-netbsdelf*, m68k*-*-netbsdelf*, m68k*-*-openbsd*): Likewise.
+       Remove default masks.
+       (m680[012]0-*-*): Set the default with_cpu to the first part of
+       the target name.
+       (m68k*-*-*): Set the default with_cpu to m$default_m68k_cpu.
+       (m68k*-*-linux): Extend the --with-cpu handling to...
+       (m680[012]0-*-*, m68k*-*-*): ...these configurations.  Allow m68000
+       and m68010.  Don't set target_cpu_default2.
+       * doc/install.texi: Document --with-cpu for m68k.
+       * config/m68k/m68k.h (OPTION_DEFAULT_SPECS): Define.
+       * config/m68k/m68k-none.h (TARGET_CPU_DEFAULT, M68K_CPU_m68k)
+       (M68K_CPU_m68000, M68K_CPU_m68010, M68K_CPU_m68020, M68K_CPU_m68030)
+       (M68K_CPU_m68040, M68K_CPU_m68302, M68K_CPU_m68332, TARGET_DEFAULT)
+       (ASM_CPU_DEFAULT_SPEC, CC1_CPU_DEFAULT_SPEC): Delete.
+       (ASM_SPEC): Remove use of %(asm_cpu_default).
+       (EXTRA_SPECS, SUBTARGET_EXTRA_SPECS, MULTILIB_DEFAULTS): Delete.
+       * config/m68k/linux.h (TARGET_DEFAULT): Delete.
+       (CPP_SPEC): Merge definitions.  Do not handle __HAVE_68881__ here.
+       * config/m68k/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define
+       __HAVE_FPU__ if TARGET_HARD_FLOAT.
+       (TARGET_DEFAULT): Delete.
+       (EXTRA_SPECS): Delete cpp_cpu_default_spec, cpp_cpu_spec,
+       cpp_fpu_spec, asm_default_spec and netbsd_cpp_spec.
+       (CPP_CPU_SPEC): Delete.
+       (TARGET_VERSION): Merge definitions, using TARGET_68010 to pick
+       the appropriate string.
+       (CPP_CPU_DEFAULT_SPEC, ASM_DEFAULT_SPEC, CPP_FPU_SPEC): Delete.
+       (CPP_SPEC): Define to NETBSD_CPP_SPEC.
+       (ASM_SPEC): Don't use %(asm_default_spec).
+       * config/m68k/m68k.c (TARGET_DEFAULT_TARGET_FLAGS): Remove
+       TARGET_DEFAULT and add MASK_68881.
+       * config/m68k/m68k.md: Remove mention of TARGET_DEFAULT from comments.
+
 2007-01-12  Richard Sandiford  <richard@codesourcery.com>
 
        * config.gcc (m68010-*-netbsdelf*): Add MASK_68010.
index 28d6f27..17a69dc 100644 (file)
@@ -1478,42 +1478,40 @@ m68hc12-*-*|m6812-*-*)
        use_fixproto=yes
         ;;
 m68k-*-aout*)
+       default_m68k_cpu=68020
        tmake_file=m68k/t-m68kbare
        tm_file="m68k/m68k.h m68k/m68k-none.h m68k/m68kemb.h m68k/m68k-aout.h libgloss.h"
        ;;
 m68k-*-coff*)
+       default_m68k_cpu=68020
        tmake_file=m68k/t-m68kbare
        tm_defines="${tm_defines} MOTOROLA USE_GAS"
        tm_file="m68k/m68k.h m68k/m68k-none.h m68k/m68kemb.h dbxcoff.h m68k/coff.h dbx.h"
        use_fixproto=yes
        ;;
 m68020-*-elf* | m68k-*-elf*)
+       default_m68k_cpu=68020
        tm_file="m68k/m68k.h m68k/m68k-none.h m68k/m68kelf.h dbxelf.h elfos.h m68k/m68kemb.h m68k/m68020-elf.h"
        tm_defines="${tm_defines} MOTOROLA USE_GAS"
        tmake_file=m68k/t-m68kelf
        extra_parts="crtbegin.o crtend.o"
        ;;
 m68010-*-netbsdelf* | m68k*-*-netbsdelf*)
+       default_m68k_cpu=68020
        tm_file="${tm_file} dbxelf.h elfos.h netbsd.h netbsd-elf.h m68k/netbsd-elf.h"
        tm_defines="${tm_defines} MOTOROLA USE_GAS"
-       case ${target} in
-       m68010*)
-               target_cpu_default="MASK_68010"
-               ;;
-       *)
-               target_cpu_default="MASK_68020|MASK_68010|MASK_68881|MASK_BITFIELD"
-               ;;
-       esac
        ;;
 m68k*-*-openbsd*)
+       default_m68k_cpu=68020
        # needed to unconfuse gdb
-       tm_defines="${tm_defines} OBSD_OLD_GAS TARGET_DEFAULT=(MASK_68020|MASK_68010|MASK_68881|MASK_BITFIELD)"
+       tm_defines="${tm_defines} OBSD_OLD_GAS"
        tm_file="m68k/m68k.h openbsd.h m68k/openbsd.h"
        tmake_file="t-libc-ok t-openbsd m68k/t-openbsd"
        # we need collect2 until our bug is fixed...
        use_collect2=yes
        ;;
 m68k-*-uclinux*)               # Motorola m68k/ColdFire running uClinux with uClibc
+       default_m68k_cpu=68020
        tm_file="m68k/m68k.h m68k/m68k-none.h m68k/m68kelf.h dbxelf.h elfos.h m68k/uclinux.h"
        tm_defines="${tm_defines} MOTOROLA USE_GAS"
        tmake_file=m68k/t-uclinux
@@ -1522,6 +1520,7 @@ m68k-*-uclinux*)          # Motorola m68k/ColdFire running uClinux with uClibc
 m68k-*-linux*)         # Motorola m68k's running GNU/Linux
                                # with ELF format using glibc 2
                                # aka the GNU/Linux C library 6.
+       default_m68k_cpu=68020
        tm_file="m68k/m68k.h dbxelf.h elfos.h svr4.h linux.h m68k/linux.h"
        extra_options="${extra_options} m68k/ieee.opt"
        tm_defines="${tm_defines} MOTOROLA USE_GAS"
@@ -1532,6 +1531,7 @@ m68k-*-linux*)            # Motorola m68k's running GNU/Linux
        fi
        ;;
 m68k-*-rtems*)
+       default_m68k_cpu=68020
        tmake_file="m68k/t-m68kbare m68k/t-crtstuff t-rtems m68k/t-rtems"
        tm_file="m68k/m68k.h m68k/m68k-none.h m68k/m68kelf.h dbxelf.h elfos.h m68k/m68kemb.h m68k/m68020-elf.h m68k/rtemself.h rtems.h"
        tm_defines="${tm_defines} MOTOROLA USE_GAS"
@@ -2625,6 +2625,12 @@ if test x$with_cpu = x ; then
     frv550-*-*linux*)
       with_cpu=fr550
       ;;
+    m680[012]0-*-*)
+      with_cpu=`echo ${target} | sed 's/-.*$//'`
+      ;;
+    m68k*-*-*)
+      with_cpu=m${default_m68k_cpu}
+      ;;
     sparc*-*-*)
       with_cpu="`echo ${target} | sed 's/-.*$//'`"
       ;;
@@ -2773,15 +2779,17 @@ case "${target}" in
                esac
                ;;
 
-       m68k*-linux*)
+       m680[012]0-*-* | m68k*-*-*)
                supported_defaults="cpu"
+
+               # We always have a $with_cpu setting here.
                case "$with_cpu" in
-               "" | "m68020" | "m68030" | "m68040" | "m68060" | "m68020-40" | "m68020-60")
+               "m68000" | "m68010" | "m68020" | "m68030" | "m68040" | "m68060" | "m68020-40" | "m68020-60")
                        # OK
                        ;;
                *)
                        echo "Unknown CPU used in --with-cpu=$with_cpu, known values:"  1>&2
-                       echo "m68020 m68030 m68040 m68060 m68020-40 m68020-60" 1>&2
+                       echo "m68000 m68010 m68020 m68030 m68040 m68060 m68020-40 m68020-60" 1>&2
                        exit 1
                        ;;
                esac
@@ -3033,37 +3041,6 @@ case ${target} in
                fi
                ;;
 
-       m68k*-linux*)
-               case "x$with_cpu" in
-               x)
-                       # The most generic
-                       target_cpu_default2="(MASK_68020|MASK_68010|MASK_68881|MASK_BITFIELD)"
-                       ;;
-               xm68020)
-                       target_cpu_default2="(MASK_68020|MASK_68010|MASK_68881|MASK_BITFIELD)"
-                       ;;
-               xm68030)
-                       target_cpu_default2="(MASK_68030|MASK_68020|MASK_68010|MASK_68881|MASK_BITFIELD)"
-                       ;;
-               xm68040)
-                       target_cpu_default2="(MASK_68040|MASK_68040_ONLY|MASK_68020|MASK_68010|MASK_68881|MASK_BITFIELD)"
-                       ;;
-               xm68060)
-                       target_cpu_default2="(MASK_68060|MASK_68040_ONLY|MASK_68020|MASK_68010|MASK_68881|MASK_BITFIELD)"
-                       ;;
-               xm68020-40)
-                       target_cpu_default2="(MASK_BITFIELD|MASK_68881|MASK_68020|MASK_68010|MASK_68040)"
-                       ;;
-               xm68020-60)
-                       target_cpu_default2="(MASK_BITFIELD|MASK_68881|MASK_68020|MASK_68010|MASK_68040|MASK_68060)"
-                       ;;
-               *)
-                       echo "Unknown CPU used in --with-cpu=$with_cpu"  1>&2
-                       exit 1
-                       ;;
-               esac
-               ;;
-
        hppa*-*-* | parisc*-*-*)
                target_cpu_default2="MASK_BIG_SWITCH"
                if test x$gas = xyes
index f148fba..eacc7fe 100644 (file)
@@ -23,15 +23,6 @@ Boston, MA 02110-1301, USA.  */
 #undef TARGET_VERSION
 #define TARGET_VERSION fprintf (stderr, " (68k GNU/Linux with ELF)");
 
-/* Default target comes from config.gcc.  */
-
-#undef TARGET_DEFAULT
-#ifdef TARGET_CPU_DEFAULT
-#define TARGET_DEFAULT TARGET_CPU_DEFAULT
-#else
-#define TARGET_DEFAULT (MASK_BITFIELD|MASK_68881|MASK_68010|MASK_68020)
-#endif
-
 /* for 68k machines this only needs to be TRUE for the 68000 */
 
 #undef STRICT_ALIGNMENT
@@ -92,13 +83,7 @@ Boston, MA 02110-1301, USA.  */
   while (0)
 
 #undef CPP_SPEC
-#if TARGET_DEFAULT & MASK_68881
-#define CPP_SPEC \
-  "%{!msoft-float:-D__HAVE_68881__} %{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
-#else
-#define CPP_SPEC \
-  "%{m68881:-D__HAVE_68881__} %{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
-#endif
+#define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
 
 /* We override the ASM_SPEC from svr4.h because we must pass -m68040 down
    to the assembler.  */
index 8a92d74..b30fb94 100644 (file)
@@ -18,70 +18,11 @@ along with GCC; see the file COPYING.  If not, write to
 the Free Software Foundation, 51 Franklin Street, Fifth Floor,
 Boston, MA 02110-1301, USA.  */
 
-/* Default to m68k (m68020).  */
-#ifndef TARGET_CPU_DEFAULT
-#define TARGET_CPU_DEFAULT M68K_CPU_m68k
-#endif
-
-/* These are values set by the configure script in TARGET_CPU_DEFAULT.
-   They are (sequential integer + (desired value for TARGET_DEFAULT) << 4).  */
-#define M68K_CPU_m68k  (0 + ((MASK_68020|MASK_68010|MASK_68881|MASK_BITFIELD)<<4))
-#define M68K_CPU_m68000 (1 + (0 << 4))
-#define M68K_CPU_m68010 (1 + (MASK_68010 << 4))
-#define M68K_CPU_m68020 (2 + ((MASK_68020|MASK_68010|MASK_68881|MASK_BITFIELD) << 4))
-#define M68K_CPU_m68030 (3 + ((MASK_68030|MASK_68020|MASK_68010|MASK_68881|MASK_BITFIELD) << 4))
-#define M68K_CPU_m68040 (4 + ((MASK_68040_ONLY|MASK_68020|MASK_68010|MASK_68881|MASK_BITFIELD) << 4))
-#define M68K_CPU_m68302 (5 + (0 << 4))
-#define M68K_CPU_m68332 (6 + ((MASK_68020|MASK_68010) << 4))
-
-/* This is tested for below, so if target wants to override this, it
-   just set this first in cover file.  */
-#ifndef TARGET_DEFAULT
-#define TARGET_DEFAULT (TARGET_CPU_DEFAULT >> 4)
-#endif
-\f
-/* Defaults for the various specs below.
-   These are collected here so we only test TARGET_CPU_DEFAULT once.  */
-/* ??? CC1_CPU_DEFAULT_SPEC was copied over from the earlier version of
-   this file.  However, it's not used anywhere here because it doesn't
-   seem to be necessary.  */
-#if TARGET_CPU_DEFAULT == M68K_CPU_m68k || TARGET_CPU_DEFAULT == M68K_CPU_m68020
-#define ASM_CPU_DEFAULT_SPEC "-mc68020"
-#define CC1_CPU_DEFAULT_SPEC "-m68020"
-#else
-#if TARGET_CPU_DEFAULT == M68K_CPU_m68000
-#define ASM_CPU_DEFAULT_SPEC "-mc68000"
-#define CC1_CPU_DEFAULT_SPEC "-m68000"
-#else
-#if TARGET_CPU_DEFAULT == M68K_CPU_m68030
-#define ASM_CPU_DEFAULT_SPEC "-mc68030"
-#define CC1_CPU_DEFAULT_SPEC "-m68030"
-#else
-#if TARGET_CPU_DEFAULT == M68K_CPU_m68040
-#define ASM_CPU_DEFAULT_SPEC "-mc68040"
-#define CC1_CPU_DEFAULT_SPEC "-m68040"
-#else
-#if TARGET_CPU_DEFAULT == M68K_CPU_m68302
-#define ASM_CPU_DEFAULT_SPEC "-mc68302"
-#define CC1_CPU_DEFAULT_SPEC "-m68302"
-#else
-#if TARGET_CPU_DEFAULT == M68K_CPU_m68332
-#define ASM_CPU_DEFAULT_SPEC "-mc68332"
-#define CC1_CPU_DEFAULT_SPEC "-m68332"
-#else
-Unrecognized value in TARGET_CPU_DEFAULT.
-#endif
-#endif
-#endif
-#endif
-#endif
-#endif
-
 /* Pass flags to gas indicating which type of processor we have.  */
 
 #undef ASM_SPEC
 #define ASM_SPEC "\
-%{m68851}%{mno-68851}%{m68881}%{mno-68881}%{msoft-float:-mno-68881} %{m68000}%{m68302}%{mc68000}%{m68010}%{m68020}%{mc68020}%{m68030}%{m68040}%{m68020-40:-mc68040} %{m68020-60:-mc68040} %{m68060}%{mcpu32}%{m68332}%{m5200}%{m5206e}%{m528x}%{m5307}%{m5407}%{mcfv4e}%{!mc68000:%{!m68000:%{!m68302:%{!m68010:%{!mc68020:%{!m68020:%{!m68030:%{!m68040:%{!m68020-40:%{!m68020-60:%{!m68060:%{!mcpu32:%{!m68332:%{!m5200:%{!m5206e:%{!m528x:%{!m5307:%{!m5407:%{!mcfv4e:%(asm_cpu_default)}}}}}}}}}}}}}}}}}}} \
+%{m68851}%{mno-68851}%{m68881}%{mno-68881}%{msoft-float:-mno-68881} %{m68000}%{m68302}%{mc68000}%{m68010}%{m68020}%{mc68020}%{m68030}%{m68040}%{m68020-40:-mc68040} %{m68020-60:-mc68040} %{m68060}%{mcpu32}%{m68332}%{m5200}%{m5206e}%{m528x}%{m5307}%{m5407}%{mcfv4e} \
 %{fPIC:--pcrel} %{fpic:--pcrel} %{msep-data:--pcrel} %{mid-shared-library:--pcrel} \
 "
 
@@ -92,40 +33,4 @@ Unrecognized value in TARGET_CPU_DEFAULT.
 #undef CC1_SPEC
 #define CC1_SPEC ""
 
-/* This macro defines names of additional specifications to put in the specs
-   that can be used in various specifications like CC1_SPEC.  Its definition
-   is an initializer with a subgrouping for each command option.
-
-   Each subgrouping contains a string constant, that defines the
-   specification name, and a string constant that used by the GCC driver
-   program.
-
-   Do not define this macro if it does not need to do anything.  */
-
-#define EXTRA_SPECS                                    \
-  { "asm_cpu_default", ASM_CPU_DEFAULT_SPEC },         \
-  { "cc1_cpu_default", CC1_CPU_DEFAULT_SPEC },         \
-  SUBTARGET_EXTRA_SPECS
-
 #define CPP_SUBTARGET_SPEC ""
-#define SUBTARGET_EXTRA_SPECS
-\f
-/* Avoid building multilib libraries for the defaults.
-   For targets not handled here, just build the full set of multilibs.
-   The default is m68k 99.9% of the time anyway.  */
-
-#if TARGET_CPU_DEFAULT == M68K_CPU_m68k || TARGET_CPU_DEFAULT == M68K_CPU_m68020
-#if TARGET_DEFAULT & MASK_68881
-#define MULTILIB_DEFAULTS { "m68020", "m68881" }
-#else
-#define MULTILIB_DEFAULTS { "m68020", "msoft-float" }
-#endif
-#endif
-
-#if TARGET_CPU_DEFAULT == M68K_CPU_m68000 || TARGET_CPU_DEFAULT == M68K_CPU_m68302
-#if TARGET_DEFAULT & MASK_68881
-#define MULTILIB_DEFAULTS { "m68000", "m68881" }
-#else
-#define MULTILIB_DEFAULTS { "m68000", "msoft-float" }
-#endif
-#endif
index c0a43b2..81ad31b 100644 (file)
@@ -176,7 +176,7 @@ int m68k_last_compare_had_fp_operands;
 #define TARGET_ASM_FILE_START_APP_OFF true
 
 #undef TARGET_DEFAULT_TARGET_FLAGS
-#define TARGET_DEFAULT_TARGET_FLAGS (TARGET_DEFAULT | MASK_STRICT_ALIGNMENT)
+#define TARGET_DEFAULT_TARGET_FLAGS (MASK_STRICT_ALIGNMENT|MASK_68881)
 #undef TARGET_HANDLE_OPTION
 #define TARGET_HANDLE_OPTION m68k_handle_option
 
index f3b48a4..5b017e4 100644 (file)
@@ -32,6 +32,13 @@ Boston, MA 02110-1301, USA.  */
 # define MOTOROLA 0  /* Use the MIT assembly syntax.  */
 #endif
 
+/* 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:%{!m5200:%{!m5206e:%{!m528x:%{!m5307:%{!m5407:%{!mcfv4e:\
+-%(VALUE)}}}}}}}}}}}}}}}}}}}" },
+
 /* Note that some other tm.h files include this one and then override
    many of the definitions that relate to assembler syntax.  */
 
index 105721c..41ba5e0 100644 (file)
@@ -90,8 +90,7 @@
 ;;- issues of excess precision accumulating in the extended registers.
 ;;- By default, GCC does not use these instructions, since such code will
 ;;- not run on an '030.  To use these instructions, use the -m68040-only
-;;- switch.  By changing TARGET_DEFAULT to include TARGET_68040_ONLY,
-;;- you can make these instructions the default.
+;;- switch.
 
 ;;- These new instructions aren't directly in the md.  They are brought
 ;;- into play by defining "%$" and "%&" to expand to "s" and "d" rather
index d25b945..73673fd 100644 (file)
@@ -31,14 +31,11 @@ Boston, MA 02110-1301, USA.  */
       builtin_define ("__m68k__");             \
       builtin_define ("__SVR4_ABI__");         \
       builtin_define ("__motorola__");         \
+      if (TARGET_HARD_FLOAT)                   \
+       builtin_define ("__HAVE_FPU__");        \
     }                                          \
   while (0)
 
-/* Default target comes from config.gcc */
-#undef TARGET_DEFAULT
-#define TARGET_DEFAULT TARGET_CPU_DEFAULT
-
-
 /* Don't try using XFmode on the 68010.  */ 
 #undef LONG_DOUBLE_TYPE_SIZE
 #define LONG_DOUBLE_TYPE_SIZE (TARGET_68020 ? 80 : 64)
@@ -50,35 +47,15 @@ Boston, MA 02110-1301, USA.  */
 #endif
 
 #define EXTRA_SPECS \
-  { "cpp_cpu_default_spec", CPP_CPU_DEFAULT_SPEC }, \
-  { "cpp_cpu_spec",         CPP_CPU_SPEC }, \
-  { "cpp_fpu_spec",         CPP_FPU_SPEC }, \
-  { "asm_default_spec",     ASM_DEFAULT_SPEC }, \
-  { "netbsd_cpp_spec",      NETBSD_CPP_SPEC }, \
   { "netbsd_entry_point",   NETBSD_ENTRY_POINT },
 
 
-#define CPP_CPU_SPEC \
-  "%(cpp_cpu_default_spec)"
-
-
 #undef TARGET_VERSION
-#if TARGET_DEFAULT & MASK_68020
-#define TARGET_VERSION fprintf (stderr, " (NetBSD/m68k ELF)");
-#define CPP_CPU_DEFAULT_SPEC "%{!m680*:-D__mc68020__}"
-#define ASM_DEFAULT_SPEC "%{!m680*:-m68020}"
-#else
-#define TARGET_VERSION fprintf (stderr, " (NetBSD/68010 ELF)");
-#define CPP_CPU_DEFAULT_SPEC "%{!m680*:-D__mc68010__}"
-#define ASM_DEFAULT_SPEC "%{!m680*:-m68010}"
-#endif
-
-
-#if TARGET_DEFAULT & MASK_68881
-#define CPP_FPU_SPEC "%{!msoft-float:-D__HAVE_68881__ -D__HAVE_FPU__}"
-#else
-#define CPP_FPU_SPEC "%{m68881:-D__HAVE_68881__ -D__HAVE_FPU__}"
-#endif
+#define TARGET_VERSION                 \
+  fprintf (stderr,                     \
+          TARGET_68010                 \
+          ? " (NetBSD/68010 ELF)"      \
+          : " (NetBSD/m68k ELF)");
 
 
 /* Provide a CPP_SPEC appropriate for NetBSD m68k targets.  Currently we
@@ -86,8 +63,7 @@ Boston, MA 02110-1301, USA.  */
    whether or not use of the FPU is allowed.  */
 
 #undef CPP_SPEC
-#define CPP_SPEC \
-  "%(netbsd_cpp_spec) %(cpp_cpu_spec) %(cpp_fpu_spec)"
+#define CPP_SPEC NETBSD_CPP_SPEC
 
 
 /* Provide an ASM_SPEC appropriate for NetBSD m68k ELF targets.  We pass
@@ -95,9 +71,8 @@ Boston, MA 02110-1301, USA.  */
 
 #undef ASM_SPEC
 #define ASM_SPEC \
-  "%(asm_default_spec) \
-    %{m68010} %{m68020} %{m68030} %{m68040} %{m68060} \
-    %{fpic|fpie:-k} %{fPIC|fPIE:-k -K}"
+  "%{m68010} %{m68020} %{m68030} %{m68040} %{m68060} \
+   %{fpic|fpie:-k} %{fPIC|fPIE:-k -K}"
 
 #define AS_NEEDS_DASH_FOR_PIPED_INPUT
 
index 2876e5a..427f638 100644 (file)
@@ -994,8 +994,8 @@ This is an alias for @option{--enable-tls=no}.
 @item --with-cpu=@var{cpu}
 Specify which cpu variant the compiler should generate code for by default.
 @var{cpu} will be used as the default value of the @option{-mcpu=} switch.
-This option is only supported on some targets, including ARM, i386, PowerPC,
-and SPARC@.
+This option is only supported on some targets, including ARM, i386, M68k,
+PowerPC, and SPARC@.
 
 @item --with-schedule=@var{cpu}
 @itemx --with-arch=@var{cpu}
@@ -3389,6 +3389,12 @@ applications.  There are no standard Unix configurations.
 @html
 <hr />
 @end html
+@heading @anchor{m68k-*-*}m68k-*-*
+You can specify a default target using @option{--with-cpu=@var{target}}.
+The recognized values for @var{target} are: @samp{m68000}, @samp{m68010},
+@samp{m68020}, @samp{m68030}, @samp{m68040}, @samp{m68060}, @samp{m68020-40}
+and @samp{m68020-60}.
+
 @heading @anchor{m68k-hp-hpux}m68k-hp-hpux
 HP 9000 series 300 or 400 running HP-UX@.  HP-UX version 8.0 has a bug in
 the assembler that prevents compilation of GCC@.  This