1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2026-01-19 09:01:00 +00:00
serenity/Userland/Libraries/LibELF
Tim Schumacher 082a7baa3b LibELF: Check if initializers ran instead of trusting s_global_objects
The original heuristic of "a library being in `s_global_objects` means
that it was fully initialized already" doesn't hold up anymore since we
changed the loading order. This was causing us to skip parts of the
initialization of dependency libraries when running dlopen (since it was
the only user of that setting).

Instead, set a flag after we run stage 4 (which is the "run the global
initializers" stage) and check that flag when determining unfinished
dependencies. This entirely replaces the `skip_global_objects` logic.
2022-06-24 11:28:05 +01:00
..
Arch LibELF: Store SSE registers in x86_64 PLT Trampoline 2021-10-31 00:21:31 +02:00
AuxiliaryVector.h Kernel+LibELF+LibVT: Remove unused AK::String header includes 2022-02-16 22:21:37 +01:00
CMakeLists.txt LibELF+LibTest: Fix serenity_install_sources() paths 2021-03-15 09:06:10 +01:00
Core.h LibELF: Exclude MemoryRegionInfo::object_name() from the Kernel 2022-02-16 22:21:37 +01:00
DynamicLinker.cpp LibELF: Check if initializers ran instead of trusting s_global_objects 2022-06-24 11:28:05 +01:00
DynamicLinker.h Everywhere: Pass AK::StringView by value 2021-11-11 01:27:46 +01:00
DynamicLoader.cpp LibELF: Check if initializers ran instead of trusting s_global_objects 2022-06-24 11:28:05 +01:00
DynamicLoader.h LibELF: Check if initializers ran instead of trusting s_global_objects 2022-06-24 11:28:05 +01:00
DynamicObject.cpp LibELF: Add support for IFUNCs 2022-05-01 12:42:01 +02:00
DynamicObject.h LibELF: Add support for IFUNCs 2022-05-01 12:42:01 +02:00
Hashes.h Everywhere: Pass AK::StringView by value 2021-11-11 01:27:46 +01:00
Image.cpp LibELF: Add support for IFUNCs 2022-05-01 12:42:01 +02:00
Image.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
Relocation.cpp LibELF: Implement support for DT_RELR relative relocations 2022-02-11 18:07:53 +01:00
Relocation.h Kernel+LibELF+LibVT: Remove unused AK::String header includes 2022-02-16 22:21:37 +01:00
Validation.cpp LibELF: Relax restriction on allowed values of EI_OSABI to allow GNU 2022-05-01 12:42:01 +02:00
Validation.h LibELF: Remove unused m_program_interpreter member from DynamicLoader 2022-03-31 10:18:07 +02:00