Releases: weizhiao/Relink
Releases · weizhiao/Relink
v0.14.0 - Initial Release
🚀 v0.14.0 - Initial Release
Relink is a high-performance runtime linker (JIT Linker) tailor-made for the Rust ecosystem. It efficiently parses ELF formats and performs flexible dynamic and static hybrid linking.
🌟 Key Features
- Memory Safety: Leverages Rust's lifetime system to ensure symbol safety and eliminate
use-after-freerisks. - Hybrid Linking: Supports loading and linking both Relocatable Objects (
.o) and Dynamic Shared Objects (.so). no_stdSupport: The core library has no OS dependencies, making it ideal for kernels, embedded systems, and bare-metal development.- Extreme Performance: Provides near-native symbol resolution speeds with support for Lazy Binding and RELR optimizations.
📦 Quick Start
Add this to your Cargo.toml:
[dependencies]
elf_loader = "0.14.0"
Simple loading example:
let lib = Loader::new()
.load_dylib("plugin.so")?
.relocator()
.relocate()?;
// Safely retrieve and call a function
let func = unsafe { lib.get::<fn()>("hello")? };
func();💬 Feedback
If you have any suggestions or encounter any bugs, please feel free to open an [Issue](https://github.com/weizhiao/Relink/issues)