From mboxrd@z Thu Jan 1 00:00:00 1970 From: hjl@lucon.org (H.J. Lu) To: ian@cygnus.com (Ian Lance Taylor) Cc: schmid@ltoi.iap.physik.tu-darmstadt.de, gas2@cygnus.com, egcs@cygnus.com Subject: Re: binutils 2.9 is broken on x86 Date: Wed, 08 Apr 1998 12:19:00 -0000 Message-id: References: <199804081805.OAA24674@subrogation.cygnus.com> X-SW-Source: 1998/msg00099.html > > 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. It is not an error in my 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 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. -- H.J. Lu (hjl@gnu.org)