libstdc++/5198: 3.0.3 linux x m68k build fail: invalid opcodes in c++locale.cc

Don Lindsay lindsayd@cisco.com
Fri Jan 4 13:56:00 GMT 2002


The following reply was made to PR libstdc++/5198; it has been noted by GNATS.

From: Don Lindsay <lindsayd@cisco.com>
To: Craig Rodrigues <rodrigc@mediaone.net>
Cc: <rodrigc@gcc.gnu.org>, <aaron@frye.com>, <gcc-bugs@gcc.gnu.org>,
   <gcc-prs@gcc.gnu.org>, <nobody@gcc.gnu.org>, <gcc-gnats@gcc.gnu.org>
Subject: Re: libstdc++/5198: 3.0.3 linux x m68k build fail: invalid opcodes
 in c++locale.cc
Date: Fri, 4 Jan 2002 13:53:00 -0800 (PST)

 On Fri, 4 Jan 2002, Craig Rodrigues wrote:
 
 > OK, according to your specs file, everything should be defaulting
 > to 68020, so I don't know why the assembler is being called
 > with the 68000 flag.
 
 gcc/Makefile is specifying -m68000 on the xgcc invocation, so that's
 passed through to the assembler. Changing the command line to -m68020 does
 allow this command to complete OK.
 
 Notice, also, that /m68000/ is in the pathname of the affected build area
 (within the overall build subtree). This appears to be because
 gcc/Makefile specifies m68000 in its MULTILIB_* vars. My build subtree, at
 the time when things died, had /m68000/, /m5200/, /mcpu32/ and
 /msoft-float/ subdirectories.
 
 > (1)  Edit your specs file so that you change the predefines section to:
 > -Dmc68020 -D__embedded__ -Asystem=embedded   -Amachine=mc68020
 
 Didn't help.
 
 I see two questions:
  - should the makefile be specifying -m68000?
 	(I'm out of practice on multilib rules, but I think the
 	MULTILIB_* stuff is asking for just that, and means to.)
  - given that -m68000 was on the command line, how come the assembler
 	output contains "casl" opcodes, which "as" tells us are only
 	present on the 68020 and up?
 
 I'm guessing that cc1 has to be fixed to not emit "casl" when invoked with
 -m68000.
 
 -- 
 Don
 



More information about the Gcc-prs mailing list