This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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



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