x64 call instruction E8 00 00 00 00?

Martin Nowak dawg at dawgfoto.de
Thu Jan 5 21:23:22 PST 2012


On Thu, 05 Jan 2012 19:49:23 +0100, Shahid <govellius at gmail.com> wrote:

> On Thu, 05 Jan 2012 19:29:06 +0100, Trass3r wrote:
>
>> I can't wrap my brain around how the calls in dmd's x64 output code
>> work. According to http://siyobik.info/main/reference/instruction/CALL
>> it is a call relative to the next instruction (RIP).
>
> objdump shows the address as 0 because the offsets are calculated at
> runtime by the linker from the global offset table (R_X86_64_32,
> R_X86_64_PC32)
>
Those are relocated at link time.
Runtime relocations only happen for shared libraries
and global data.
> use objdump with -r and things should make more sense


More information about the Digitalmars-d mailing list