[committed, PATCH] Remove Disp16|Disp32 from 64-bit direct branches

Jan Beulich JBeulich@suse.com
Tue May 12 15:17:00 GMT 2015


>>> On 12.05.15 at 17:11, <hjl.tools@gmail.com> wrote:
> On Tue, May 12, 2015 at 8:09 AM, Jan Beulich <JBeulich@suse.com> wrote:
>>>>> On 12.05.15 at 17:03, <hjl.tools@gmail.com> wrote:
>>> On Tue, May 12, 2015 at 7:59 AM, Jan Beulich <JBeulich@suse.com> wrote:
>>>> Yes. But then what was the point of you ripping out Disp16?
>>>
>>> I removed it since it doesn't jump to the target.  Can you verify
>>> that it does jump to "(nextip + disp16) & 0xffff, not jump to
>>> "(nextip + disp16)"?
>>
>> Yes - see the gdb output I provided yesterday.
>>
> 
> Does it mean it is wrong to display
> 
>  0:   66 e9 00 00             jmpw   4 <bar>
>                         2: R_X86_64_PC16        foo-0x2
> 
> 0000000000000004 <bar>:
>    4:   89 c2                   mov    %eax,%edx

I don't think so - this looks quite okay. It would become more of an
issue when looking at other than relocatable object files (namely
when their image base is non-zero), or ones with .text exceeding
32k.

Jan



More information about the Binutils mailing list