This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: libstdc++/5198: 3.0.3 linux x m68k build fail: invalid opcodesin c++locale.cc
- From: Don Lindsay <lindsayd at cisco dot com>
- To: Craig Rodrigues <rodrigc at mediaone dot net>
- Cc: <rodrigc at gcc dot gnu dot org>, <aaron at frye dot com>, <gcc-bugs at gcc dot gnu dot org>, <gcc-prs at gcc dot gnu dot org>, <nobody at gcc dot gnu dot org>, <gcc-gnats at gcc dot gnu dot org>
- Date: Fri, 4 Jan 2002 13:53:00 -0800 (PST)
- Subject: Re: libstdc++/5198: 3.0.3 linux x m68k build fail: invalid opcodesin c++locale.cc
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