diff --git a/elf.cc b/elf.cc index 8ac7359224cd4c87f4a8692d48fd0b00eba892ea..7334bd4fdfb29f4fea7ccaea4a64b9fbf2af74e1 100644 --- a/elf.cc +++ b/elf.cc @@ -330,7 +330,7 @@ namespace elf { case R_X86_64_NONE: break; case R_X86_64_64: - *static_cast<u64*>(addr) = symbol(sym).symbol->st_value + addend; + *static_cast<void**>(addr) = symbol(sym).relocated_addr() + addend; break; case R_X86_64_RELATIVE: *static_cast<void**>(addr) = _base + addend;