mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 12:48:10 +00:00
Loader.so+LibELF: Move most of Loader.so's logic into ELF::DynamicLinker
Loader.so now just performs the initial self relocations and static LibC initialisation before handing over to ELF::DynamicLinker::linker_main to handle the rest of the process. As a trade-off, ELF::DynamicLinker needs to be explicitly excluded from Lagom unless we really want to try writing a cross platform dynamic loader
This commit is contained in:
parent
4d32121293
commit
3e815ad5b1
8 changed files with 327 additions and 220 deletions
|
@ -162,8 +162,6 @@ RefPtr<DynamicObject> DynamicLoader::load_from_image(unsigned flags, size_t tota
|
|||
m_dynamic_object = DynamicObject::construct(m_text_segment_load_address, m_dynamic_section_address);
|
||||
m_dynamic_object->set_tls_offset(m_tls_offset);
|
||||
m_dynamic_object->set_tls_size(m_tls_size);
|
||||
ASSERT(m_global_symbol_lookup_func);
|
||||
m_dynamic_object->m_global_symbol_lookup_func = m_global_symbol_lookup_func;
|
||||
|
||||
auto rc = load_stage_2(flags, total_tls_size);
|
||||
if (!rc) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue