binutils 2.9 is broken on x86
Robert Lipe
robertl@dgii.com
Wed Apr 8 23:35:00 GMT 1998
> > > gcc.sum:FAIL: gcc.c-torture/compile/980329-1.c, -O2
> > > /tmp/cca17739.s: Assembler messages:
> > > /tmp/cca17739.s:75: Error: register does not match opcode suffix
>
> I guess it is ok for short term. If I am correct, as on SCO doesn't
> like it either. My egcs patch should fix gcc.c-torture/compile/980329-1.c
> on SCO too. That is a real bug in egcs. But the current gas doesn't
> catch it. Mine and as on SCO do.
(SCO makes a couple of different operating systems. I'm commenting
on OpenServer 5.0.4.)
As luck would have it, I just happen to have handy an egcs build tree
with GNU as wired into it.
(robertl) rjlhome:/play/negcs/gcc
$ ./xgcc -mcoff -B./ -O3 /tmp/980329-1.c
/usr/tmp/cca000Yh.s: Assembler messages:
/usr/tmp/cca000Yh.s:75: Error: register does not match opcode suffix
(robertl) rjlhome:/play/negcs/gcc
$ ./xgcc -melf -B./ -O3 /tmp/980329-1.c
/usr/tmp/cca000Yo.s: Assembler messages:
/usr/tmp/cca000Yo.s:76: Error: register does not match opcode suffix
(robertl) rjlhome:/play/negcs/gcc
$ mv as as_
(robertl) rjlhome:/play/negcs/gcc
$ ./xgcc -mcoff -B./ -O3 /tmp/980329-1.c
Assembler: 980329-1.c
aline 75 : Syntax error
(robertl) rjlhome:/play/negcs/gcc
$ ./xgcc -melf -B./ -O3 /tmp/980329-1.c
/usr/tmp/cca000Z0.s:76:invalid register for instruction: %di in incb
This test case fails to assemble for {COFF,ELF} {GAS,OpenServer as}.
./as in this example is that nasty shell script wrapper I've had hanging
around forever.
The GAS I use is the one from the binutils 2.9 candidates area. I think
there has been one more since.
I don't understand the issue well enough to register an opinion. I'm
just offering that the behaviour (fatal error) I see from GAS is very
consistent with what we see from OpenServer's as.
--
Robert Lipe http://www.dgii.com/people/robertl robertl@dgii.com
(WEB ADDRESS TEMPORARILY UNAVAILABLE)
More information about the Gcc
mailing list