This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]