diff --git a/elf.cc b/elf.cc index 109c4df4945509567af89f366459b43b489d2319..f4339acf72807c92e387274834f1df3c50747fec 100644 --- a/elf.cc +++ b/elf.cc @@ -86,7 +86,7 @@ namespace elf { [](Elf64_Phdr a, Elf64_Phdr b) { return a.p_type == PT_LOAD && a.p_vaddr < b.p_vaddr; }); - _base = align(base, p->p_align, p->p_vaddr & (p->p_align - 1)); + _base = align(base, p->p_align, p->p_vaddr & (p->p_align - 1)) - p->p_vaddr; auto q = std::min_element(_phdrs.begin(), _phdrs.end(), [](Elf64_Phdr a, Elf64_Phdr b) { return a.p_type == PT_LOAD