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: useunsafecode 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.