Expand description
Relocation configuration, symbol scopes, and binding policy.
Raw images returned by crate::Loader become executable through the relocation
pipeline. In practice, most users configure that pipeline through the builder
returned by .relocator(), then call relocate().
This module exposes the main customization points used during relocation:
crate::image::SyntheticModulefor providing external symbol addressesRelocationHandlerfor intercepting or overriding relocationsEmulatorfor guest runtime hooks during non-native relocationRelocationContextfor inspecting the current relocation and search scope- binding policy and lazy-fixup support configured through
Relocator
Structs§
- EmuContext
- Image context visible to an emulator.
- EmuRelocation
Context - Relocation-specific context visible to an emulator.
- Relocation
Context - Context passed to
RelocationHandler::handle. - Relocator
- A builder for configuring and executing relocation.
- TlsDesc
EmuRequest - Input data for an emulated TLSDESC relocation.
- TlsDesc
EmuValue - Two-word TLSDESC value produced by an emulator.
Enums§
- Binding
Mode - Binding mode configuration for relocation.
- Handle
Result - A trait for intercepting relocations during relocation.
Traits§
- Emulated
Arch - Marker for non-native target architectures that may be driven through an emulator.
- Emulator
- Guest execution hooks used while relocating a non-native image.
- Relocation
Arch - Architecture-specific dynamic relocation numbering.
- Relocation
Handler - Hook trait for observing or overriding relocation processing.