This is the mail archive of the gas2@sourceware.cygnus.com mailing list for the gas2 project.


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

Re: binutils 2.9 is broken on x86


> 
>    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.

I am not sure about it. There is no "incb %di" in Intel x86
instrucntion set. It should be either "incw %di" or "incl %edi".
I am not sure if they are the same. In that case, I don't know
why egcs emits "incb %di". It doesn't look right.


H.J.
-- 
H.J. Lu (hjl@gnu.org)