Merge "x86_64: Add R_X86_64_64 relocation handling"

This commit is contained in:
Elliott Hughes 2013-10-17 19:51:10 +00:00 committed by Gerrit Code Review
commit 41b87c6512

View file

@ -947,6 +947,14 @@ static int soinfo_relocate_a(soinfo* si, Elf_Rela* rela, unsigned count, soinfo*
*reinterpret_cast<Elf_Addr*>(reloc) = sym_addr + rela->r_addend; *reinterpret_cast<Elf_Addr*>(reloc) = sym_addr + rela->r_addend;
break; 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: case R_X86_64_PC32:
count_relocation(kRelocRelative); count_relocation(kRelocRelative);
MARK(rela->r_offset); MARK(rela->r_offset);