[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