This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: Gas is broken for x86-64
- From: "Jan Beulich" <JBeulich at novell dot com>
- To: <hjl at lucon dot org>
- Cc: <binutils at sources dot redhat dot com>
- Date: Mon, 08 Nov 2004 09:20:22 +0100
- Subject: Re: Gas is broken for x86-64
>>> "H. J. Lu" <hjl@lucon.org> 06.11.04 00:17:59 >>>
>On Fri, Nov 05, 2004 at 03:04:29PM -0800, H. J. Lu wrote:
>> On Fri, Nov 05, 2004 at 03:00:27PM -0800, H. J. Lu wrote:
>> > On Fri, Nov 05, 2004 at 02:47:58PM -0800, H. J. Lu wrote:
>> > > Hi Jan,
>> > >
>> > > Your i386 opcode change breaks x86-64. I got
>> > >
>> > > [hjl@gnu-64 gas]$ cat /tmp/x.s
>> > > movzb (%rax),%edx
>> > > [hjl@gnu-64 gas]$ ./as-new -o x.o /tmp/x.s
>> > > /tmp/x.s: Assembler messages:
>> > > /tmp/x.s:1: Error: no such instruction: `movzb (%rax),%edx'
>> > >
>> > >
>> >
>> > Your patch
>> >
>> >
http://sources.redhat.com/ml/binutils/2004-11/msg00033/binutils-mainline-x86-intel-syntax.patch
>> >
>> > removed movzb. It is wrong.
This change was for consistency reasons, as indicated also by an added
comment. If inconsistencies are intentional, then these should be very
clearly marked in my opinion. In this case, since there's no support
for
movsb (%eax), %eax
I can't see why you'd want
movzb (%eax), %eax
>> BTW, do you know what other instructions you have removed? We can't
>> remove any of them unless we have a very good reason.
None.
>I checked in a patch to restore "movzb":
>
>http://sources.redhat.com/ml/binutils-cvs/2004-11/msg00045.html
I would think your patch should have added both suffix-less movsb and
movzb, or neither.
Jan