I am using the XED2 decoder in the Pin 2.21.53271 release to unit test a disassembler I'm writing, and I may have found a bug when generating textual output for a relative call.
Decoding the following bytes using XED and generating Intel or AT&T syntax generates the following:
Data: 40E8006F5D75 (XED_MACHINE_MODE_LONG_64, Instruction Address 0x00)
Intel: call 0x755d6f00
AT&T: callq 0x755d6f00
The instruction is 0xE8 which is a "call rel32" and the description is "Call near, relative, displacement relative to the next instruction". The displacement is 0x755D6F00 and it is relative to rip + instructionLength which is 0 + 6. Should the call not be displaying the absolute target address and be "call 0x755d6f06" or "rip + length + displacement"?
Thanks for your time,