mirror of
https://github.com/RGBCube/serenity
synced 2025-07-23 16:57:35 +00:00
![]() The dynamic loader was mistakenly assuming that there are only two types of program load headers: text (RX) and data (RW). Now that we're linking with `-z separate-code`, we will also get some read-onlydata (R) segments. These can be memory-mapped directly without making a private per-process copy. To solve this, the code now instead separates the headers into map/copy instead of text/data. Writable segments get copied, while non-writable segments get memory-mapped. :^) |
||
---|---|---|
.. | ||
Arch | ||
AuxiliaryVector.h | ||
CMakeLists.txt | ||
Core.h | ||
DynamicLinker.cpp | ||
DynamicLinker.h | ||
DynamicLoader.cpp | ||
DynamicLoader.h | ||
DynamicObject.cpp | ||
DynamicObject.h | ||
Hashes.h | ||
Image.cpp | ||
Image.h | ||
Relocation.cpp | ||
Relocation.h | ||
Validation.cpp | ||
Validation.h |