This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[patch] m68k -mcpu32 incorrectly sets __mc68020__
- From: "Aaron J. Grier" <aaron at frye dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Fri, 19 Nov 2004 12:32:48 -0800
- Subject: [patch] m68k -mcpu32 incorrectly sets __mc68020__
now that TARGET_CPU_CPP_BUILTINS is generating #defines for m68k
variants, it's more important to make sure that those #defines are
correct.
unfortunately the TARGET_* macros are incorrectly evaluated in the cpu32
case, since the cpu32 ISA isn't strictly speaking a 68020 minus bitfield
instructions. as the comments in m68k.h state, it's a heuristic, and
not completely accurate.
the attached patch modifies the TARGET_68020 and TARGET_CPU32 macros to
be more specific, so that mc68020 isn't defined when -mcpu32 is passed
to gcc.
I ran into problems compiling RTEMS, which uses the mc68020 #define for
selecting in-line assembly for interrupt service routines. a true 68020
has a separate interrupt stack pointer which is absent on all cpu32
variants. previous versions of gcc did not #define mc68020 if -mcpu32
was passed. this patch addresses that.
longer-term, some work is still needed to categorize and separate the
various ISA vs chip defines in the hodge-podge m68k world.
--
Aaron J. Grier | Frye Electronics, Tigard, OR | aaron@frye.com
"Note that many bands' backline amps produce levels exceeding OSHA
standards for industrial facilities. Yet this is considered normal
working conditions for musicians. That's showbiz." -- Scott Dorsey