Crate local_storage_initializer
source ·Expand description
Logic for generating thread-local storage (TLS) and CPU-local storage (CLS) images.
The two key types are:
LocalStorageInitializer
: a “factory” that maintains a list of loaded sections in order to correctly generate new local storage data images.LocalStorageDataImage
: a generated local storage data image that can be set as the current data image.
TODO FIXME: currently we are unsure of the virt_addr_value
s calculated
for TLS sections on aarch64. The placement of those sections in the
TLS data image is correct, but relocations against them may not be.
TODO: We don’t really need a TLS self pointer for CLS.
Structs
- An initialized data image ready to be used by a CPU/new task.
- A “factory” that creates local storage data images.
Enums
- Errors that may occur when adding sections to a
LocalStorageInitializer
.