relox
Compress and decompress ELF32 relocation sections
This crate can be used to compress ELF32 relocation sections post-link time. It also provides a decompressing method which can be used during relocation.
The approach might be useful for embedded system if a relocation section uses too much static storage.
Decompressing relocations is a trade-off between used static storage and CPU time required to process relocations during initialization.
Compressed section layout for ELF32
/// ELF32 relocations grouped by relocation type.
/// A compressed ELF32 relocation section.
Recommended usage
On host machines, during post-link time processing,
use host
feature group.
When targeting embedded devices use either embedded
or embedded_minimal
feature group. The latter one enables no_bounds_check
and
no_sanity_check
features to further reduce memory footprint.
List of optional features
compress
: include methods and structures related to compressing.decompress
: include methods and structures related to decompressing.no-std
: do not use standard library.no_bounds_check
: useunsafe
code instead of bounds-checking variants.no_sanity_check
: do not perform extra sanity checks when processing LEB128 encodings.
License
Licensed under either of Apache License, Version 2.0 or MIT license at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in relox
by you, as defined in the Apache-2.0 license, shall be
dual licensed as above, without any additional terms or conditions.