This is the mail archive of the binutils@sourceware.org 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: [PATCH] x86: fix handling of %eip/%rip


On Wed, Sep 26, 2007 at 07:51:35AM +0100, Jan Beulich wrote:
> >> --- 2007-09-25/opcodes/i386-reg.tbl	2007-09-25 16:27:55.000000000 +0200
> >> +++ 2007-09-25/opcodes/i386-reg.tbl	2007-09-25 17:19:30.000000000 +0200
> >> @@ -187,9 +187,10 @@ xmm12, RegXMM, RegRex, 4
> >>  xmm13, RegXMM, RegRex, 5
> >>  xmm14, RegXMM, RegRex, 6
> >>  xmm15, RegXMM, RegRex, 7
> >> -// No type will make this register rejected for all purposes except
> >> -// for addressing.  This saves creating one extra type for RIP.
> >> -rip, BaseIndex, 0, RegRip
> >> +// No type will make these registers rejected for all purposes except
> >> +// for addressing.  This saves creating one extra type for RIP/EIP.
> >> +rip, BaseIndex, RegRex64, RegRip
> >> +eip, BaseIndex, RegRex64, RegEip
> >
> >Why is RegRex64 needed?
> 
> In order to avoid these being considered a register name in 16/32-bit code.
> Either RegRex or RegRex64 would do here, but using RegRex64 seemed
> much safer due to the very few places where it is actually being used.
> 
> OK to commit with that explanation?
> 

OK. Thanks.


H.J.


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