[Bug bootstrap/11777] m68k bootstrap failure on HEAD multilib build (-mcpu32)
bernie at develer dot com
gcc-bugzilla@gcc.gnu.org
Sun Aug 3 22:18:00 GMT 2003
PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11777
bernie at develer dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|m68k bootstrap failure on |m68k bootstrap failure on
|3.4-branch and HEAD multilib|HEAD multilib build (-
|build (-mcpu32) |mcpu32)
------- Additional Comments From bernie at develer dot com 2003-08-03 22:18 -------
I've checked and it seems to be as you say. __mc68020__ is not defined for
-mcpu32 in 3.3.1-20030720.
I've grepped gcc/config/m68k/ and it seems the proposed fix is
already there in gcc/config/m68k/m68k.h:
if (TARGET_68020) \
builtin_define ("__mc68020__");
But it doesn't work because CPU32 actually defines TARGET_68020:
{ "cpu32", - (MASK_5200|MASK_68060|MASK_68040|MASK_68040_ONLY \
|MASK_BITFIELD|MASK_68881), \
N_("Generate code for a cpu32") }, \
{ "cpu32", MASK_68020, "" }, \
and here's how to distinguish between CPU32 and a real 68020:
/* Compile for a CPU32 */
/* A 68020 without bitfields is a good heuristic for a CPU32 */
#define TARGET_CPU32 (TARGET_68020 && !TARGET_BITFIELD)
We could either change the check like this:
if (TARGET_68020 && !TARGET_CPU32)
builtin_define ("__mc68020__");
O we could leave it like this and use __mcpu32__ in
those very few places where inline asm uses bitfield
instructions. I'd prefer this solution.
(sorry, I meant gcc-3.4 snapshot, not branch :-)
More information about the Gcc-bugs
mailing list