binutils 2.9 is broken on x86
Ian Lance Taylor
ian@cygnus.com
Wed Apr 8 17:25:00 GMT 1998
From: hjl@lucon.org (H.J. Lu)
Date: Wed, 8 Apr 1998 11:01:08 -0700 (PDT)
> These are the testsuite results for egcs-2.91.22 on the
> i386-pc-linux-gnulibc1 system. I had to add --disable-nls to configure
> to compile egcs. What about making --disable-nls a default option for
> the texinfo configure?
>
> Peter Schmid
>
> gcc:
> 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
This is an error which H.J. added to his version of the binutils. It
is not yet in the GNU binutils.
binutils 2.9 is broken on x86. It silently turns
incb %di
into
incl %edi
Although my binutils chokes on it, however it didn't generate
bogus opcode. I will make binutils 2.8.1.0.30 to fix it. In
the meantime, please don't go back to old binutils.
Ian, please don't make 2.9 as is. It turns out my worry comes
true. My x86 patch seems quite useful.
Although H.J. doesn't mention it, gas has behaved this way for many
years.
I do not plan to delay the 2.9 release to change this behaviour. The
potential bad consequences of adding errors, and thus failing to
assemble existing code, are serious. Turning `incb %di' into `incl
%edi' will almost always be harmless.
Ian
More information about the Gcc
mailing list