1 [extern _foo] 2 3 call _foo 4 ; r_type=X86_64_RELOC_BRANCH, r_length=2, r_extern=1, r_pcrel=1, r_symbolnum=_foo 5 ; E8 00 00 00 00 6 7 call _foo+4 8 ; r_type=X86_64_RELOC_BRANCH, r_length=2, r_extern=1, r_pcrel=1, r_symbolnum=_foo 9 ; E8 04 00 00 00 10 11 mov rax, [rel _foo wrt ..gotpcrel] 12 ; r_type=X86_64_RELOC_GOT_LOAD, r_length=2, r_extern=1, r_pcrel=1, r_symbolnum=_foo 13 ; 48 8B 05 00 00 00 00 14 15 push qword [rel _foo wrt ..gotpcrel] 16 ; r_type=X86_64_RELOC_GOT, r_length=2, r_extern=1, r_pcrel=1, r_symbolnum=_foo 17 ; FF 35 00 00 00 00 18 19 mov eax, [rel _foo] 20 ; r_type=X86_64_RELOC_SIGNED, r_length=2, r_extern=1, r_pcrel=1, r_symbolnum=_foo 21 ; 8B 05 00 00 00 00 22 23 mov eax, [rel _foo+4] 24 ; r_type=X86_64_RELOC_SIGNED, r_length=2, r_extern=1, r_pcrel=1, r_symbolnum=_foo 25 ; 8B 05 04 00 00 00 26 27 mov [rel _foo], byte 12h 28 ; r_type=X86_64_RELOC_SIGNED, r_length=2, r_extern=1, r_pcrel=1, r_symbolnum=_foo 29 ; C6 05 FF FF FF FF 12 30 31 mov dword [rel _foo], 0x12345678 32 ; r_type=X86_64_RELOC_SIGNED, r_length=2, r_extern=1, r_pcrel=1, r_symbolnum=_foo 33 ; C7 05 FC FF FF FF 78 56 34 12 34 35