200x-xx-xx Nathan Sidwell <nathan@codesourcery.com> Richard Sandiford...
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
This commit is contained in:
parent
3197c4892e
commit
59fbf3cbc7
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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. */
|
||||
|
|
|
@ -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
|
||||
|
||||
/* 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
|
||||
|
||||
/* 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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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. */
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue