This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
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.