[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Serious bug in C compiler on 2.6
- To: misc@openbsd.org
- Subject: Serious bug in C compiler on 2.6
- From: Lars Hecking <lhecking@nmrc.ucc.ie>
- Date: Thu, 2 Mar 2000 01:33:26 +0000
- Content-Disposition: inline
- Mail-Followup-To: misc@openbsd.org
- User-Agent: Mutt/1.1.7i
Affected platform: Amiga, possibly all m68k based platforms
Gcc version: GNU C version 2.95.1 19990816 (release) (m68k-unknown-openbsd2.6)
The compiler front end, both cc and gcc, doesn't pass target specific options
to the assembler. This leads to gobs of "instruction/operands mismatch"
errors.
[ I presume that as produces 68020 objects by default. If that's the case,
only -m680x0, x>2 options are affected. I further think that the
instructions causing problems are the fpu commands which need to be
emulated on 68040/68060. ]
$ gcc -m68040 -Wall -O -fomit-frame-pointer -v -c pngset.c
[...]
as -o pngset.o /var/tmp/ccH32537.s
/var/tmp/ccH32537.s: Assembler messages:
/var/tmp/ccH32537.s:33: Error: "instruction/operands mismatch" -- Statement 'fsmoved sp@(12),fp0' ignored
/var/tmp/ccH32537.s:35: Error: "instruction/operands mismatch" -- Statement 'fsmoved sp@(20),fp0' ignored
[...]
Workaround: use -Wa,-m68040 (or -Wa,-m68060).