[committed, PATCH] Remove Disp16|Disp32 from 64-bit direct branches
Michael Matz
matz@suse.de
Tue May 12 15:37:00 GMT 2015
Hi,
On Tue, 12 May 2015, Jan Beulich wrote:
> 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.
Actually also that one is correctly printed I think (from a hello world
main, where I added a jmprel16 +0):
000000000040055c <main>:
40055c: 55 push %rbp
40055d: 48 89 e5 mov %rsp,%rbp
400560: 48 83 ec 30 sub $0x30,%rsp
400564: c6 45 d1 00 movb $0x0,-0x2f(%rbp)
400568: c6 45 d0 61 movb $0x61,-0x30(%rbp)
40056c: 48 8d 45 d0 lea -0x30(%rbp),%rax
400570: 48 89 c2 mov %rax,%rdx
400573: be 44 06 40 00 mov $0x400644,%esi
400578: 66 e9 00 00 jmpw 57c <_init-0x3ffe8c>
000000000040057c <next>:
40057c: bf 52 06 40 00 mov $0x400652,%edi
...
It shows that rip is going to be truncated.
Ciao,
Michael.
More information about the Binutils
mailing list