x86_64: Add R_X86_64_64 relocation handling
Change-Id: I86ffc56fa6a9053bed44e92a579530c2beb8eb2c
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
diff --git a/linker/linker.cpp b/linker/linker.cpp
index d08bf75..196acb6 100755
--- a/linker/linker.cpp
+++ b/linker/linker.cpp
@@ -947,6 +947,14 @@
*reinterpret_cast<Elf_Addr*>(reloc) = sym_addr + rela->r_addend;
break;
+ case R_X86_64_64:
+ count_relocation(kRelocRelative);
+ MARK(rela->r_offset);
+ TRACE_TYPE(RELO, "RELO R_X86_64_64 %08zx <- +%08zx %s", static_cast<size_t>(reloc),
+ static_cast<size_t>(sym_addr), sym_name);
+ *reinterpret_cast<Elf_Addr*>(reloc) = sym_addr + rela->r_addend;
+ break;
+
case R_X86_64_PC32:
count_relocation(kRelocRelative);
MARK(rela->r_offset);