1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 03:57:43 +00:00

LibC+LibELF: Implement support for the dl_iterate_phdr helper

This helper is used by libgcc_s to figure out where the .eh_frame sections
are located for all loaded shared objects.
This commit is contained in:
Gunnar Beutner 2021-04-16 21:53:43 +02:00 committed by Andreas Kling
parent cf13fa57cd
commit 6cb28ecee8
20 changed files with 171 additions and 25 deletions

View file

@ -113,7 +113,7 @@ const DynamicObject& DynamicLoader::dynamic_object() const
});
VERIFY(!dynamic_section_address.is_null());
m_cached_dynamic_object = ELF::DynamicObject::create(VirtualAddress(m_elf_image.base_address()), dynamic_section_address);
m_cached_dynamic_object = ELF::DynamicObject::create(m_filename, VirtualAddress(m_elf_image.base_address()), dynamic_section_address);
}
return *m_cached_dynamic_object;
}
@ -170,7 +170,7 @@ RefPtr<DynamicObject> DynamicLoader::map()
VERIFY(!m_base_address.is_null());
m_dynamic_object = DynamicObject::create(m_base_address, m_dynamic_section_address);
m_dynamic_object = DynamicObject::create(m_filename, m_base_address, m_dynamic_section_address);
m_dynamic_object->set_tls_offset(m_tls_offset);
m_dynamic_object->set_tls_size(m_tls_size);