This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [committed, PATCH] Remove Disp16|Disp32 from 64-bit direct branches
- From: Michael Matz <matz at suse dot de>
- To: "H.J. Lu" <hjl dot tools at gmail dot com>
- Cc: Jan Beulich <JBeulich at suse dot com>, Binutils <binutils at sourceware dot org>
- Date: Tue, 12 May 2015 17:14:28 +0200 (CEST)
- Subject: Re: [committed, PATCH] Remove Disp16|Disp32 from 64-bit direct branches
- Authentication-results: sourceware.org; auth=none
- References: <20150511212331 dot GA1838 at intel dot com> <5551F4E70200007800079575 at mail dot emea dot novell dot com> <CAMe9rOpDbkeFbmNbQh0a1AKhAQy-cH4HJu20o_ERQaoR6sTxbQ at mail dot gmail dot com> <55520C440200007800079718 at mail dot emea dot novell dot com> <CAMe9rOpFgSyJm-oceuDkrBYnBQGv01ywCc43WySqX21NTJYi4Q at mail dot gmail dot com> <555216370200007800079773 at mail dot emea dot novell dot com> <CAMe9rOpOx=SSUZnCFimn4fBzFqNRDch8QYLn3Os_y7EfQH65Qw at mail dot gmail dot com> <alpine dot LSU dot 2 dot 20 dot 1505121548100 dot 4883 at wotan dot suse dot de> <CAMe9rOqg_H9YXHdoWv-k4zoQm77OoQ19j3djHZ74pgUORiDECw at mail dot gmail dot com> <alpine dot LSU dot 2 dot 20 dot 1505121559480 dot 4883 at wotan dot suse dot de> <CAMe9rOpmOBJoRNy8QGQn03eQJrzsUk+MTzJJuQu_DD1kxXV5pg at mail dot gmail dot com>
Hi,
On Tue, 12 May 2015, H.J. Lu wrote:
> >> 2. Can you speculate what
> >>
> >> " jmpw 4"
> >>
> >> does?
> >
> > It should do a jump to $nextip+offset, of course, just like a 32bit
> > jump. The disassembly is correct, because with a zero offset, that's
> > indeed '4'.
>
> I thought it did jump to "(nextip + offset) & 0xffff" on AMD. Can you
> verify if it is true?
Sorry, yes, this is true, the 16bit operand size prefix truncates RIP to
16 bit. Nevertheless it's a valid instruction and works as documented.
Ciao,
Michael.
- References:
- [committed, PATCH] Remove Disp16|Disp32 from 64-bit direct branches
- Re: [committed, PATCH] Remove Disp16|Disp32 from 64-bit direct branches
- Re: [committed, PATCH] Remove Disp16|Disp32 from 64-bit direct branches
- Re: [committed, PATCH] Remove Disp16|Disp32 from 64-bit direct branches
- Re: [committed, PATCH] Remove Disp16|Disp32 from 64-bit direct branches
- Re: [committed, PATCH] Remove Disp16|Disp32 from 64-bit direct branches
- Re: [committed, PATCH] Remove Disp16|Disp32 from 64-bit direct branches
- Re: [committed, PATCH] Remove Disp16|Disp32 from 64-bit direct branches
- Re: [committed, PATCH] Remove Disp16|Disp32 from 64-bit direct branches
- Re: [committed, PATCH] Remove Disp16|Disp32 from 64-bit direct branches
- Re: [committed, PATCH] Remove Disp16|Disp32 from 64-bit direct branches