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: [committed, PATCH] Remove Disp16|Disp32 from 64-bit direct branches


On Tue, May 12, 2015 at 6:49 AM, Michael Matz <matz@suse.de> wrote:
> Hi,
>
> On Tue, 12 May 2015, H.J. Lu wrote:
>
>> This is what I got now:
>>
>> [hjl@gnu-6 tmp]$  cat x.s
>> .text
>> data16 jmp foo
>> bar:
>> mov %eax,%edx
>> [hjl@gnu-6 tmp]$ gcc -c x.s
>> [hjl@gnu-6 tmp]$ objdump -dwr x.o
>>
>> x.o:     file format elf64-x86-64
>>
>>
>> Disassembly of section .text:
>>
>> 0000000000000000 <bar-0x4>:
>>    0: 66 e9 00 00 89 c2     data16 jmpq ffffffffc2890006
>> <bar+0xffffffffc2890002> 2: R_X86_64_PC16 foo-0x2
>>
>> 0000000000000004 <bar>:
>>    4: 89 c2                 mov    %eax,%edx
>> [hjl@gnu-6 tmp]$
>>
>> Is that the same as what you got with binutils 2.25?
>
> This is with 2.23, so your patch would cause a regression:

1. This happened before 20140923.
2. Can you speculate what

" jmpw   4"

does?


> x.o:     file format elf64-x86-64
>
>
> Disassembly of section .text:
>
> 0000000000000000 <bar-0x4>:
>    0:   66 e9 00 00             jmpw   4 <bar>
>                         2: R_X86_64_PC16        foo-0x2
>
> 0000000000000004 <bar>:
>    4:   89 c2                   mov    %eax,%edx
>
>
> Ciao,
> Michael.



-- 
H.J.


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