Relink 0.15.1:一个 no_std 的 ELF 加载器/链接器

Relink 0.15.1 发布了!也希望借助这个版本,吸引更多对底层系统开发感兴趣的朋友一起参与进来。

Relink 是一个 Rust 写的 no_std ELF loader / runtime linker / JIT linker。它不只是 dlopen 的替代品,而是希望把 ELF 加载、依赖解析、符号查找、重定位、scan-first 布局规划这些能力拆成可组合的模块。

(3 封私信 / 1 条消息) Relink:Rust ELF 加载器与 Runtime/JIT 链接器 - 知乎https://zhuanlan.zhihu.com/p/251523947380.15.1 主要变化:

  • 新增 Linker::load() 运行时依赖加载流程

  • 新增 SearchPathResolver,支持 DT_RUNPATH / DT_RPATH 和 $ORIGIN

  • 新增 scan-first 链接规划,可以在映射前做 section 布局和 materialization

  • 支持 synthetic module,用于宿主符号、bridge symbol、测试和自定义链接场景

  • 改进 relocation error、文档、示例和测试覆盖

  • 发布了 mini-loader 和 windows-elf-loader companion crates

后续还有很多适合入门的工作,比如 ELF dynamic flags、更多架构支持、文档示例、测试 fixture 等。

Good first issue:

https://github.com/weizhiao/Relink/issues/61github.com/weizhiao/Relink/issues/61https://github.com/weizhiao/Relink/issues/61github.com/weizhiao/Relink/issues/61

GitHub:

https://github.com/weizhiao/Relinkgithub.com/weizhiao/Relinkhttps://github.com/weizhiao/Relinkgithub.com/weizhiao/RelinkCrates.io:

elf_loader - crates.io: Rust Package Registryhttps://crates.io/crates/elf_loader

欢迎感兴趣的朋友一起贡献!

相关推荐
邪修king7 小时前
Re:Linux 系统篇(二十九):动静态库Chapter2:动态库深度辨析 —— 核心本质、制作流程、双阶段查找模型与排错指南
android·java·linux·开发语言
云泽8089 小时前
从零搭建 WSL2 + Ubuntu C/C++ 开发环境:原理、实践与底层架构解析
linux·c++·windows·ubuntu·wsl2
bosins15 小时前
彻底解决 WSL 2.7+ 空闲自动关闭/内存回收导致 Docker 中断的问题
linux·docker·wsl·dashboard
LongRunning15 小时前
【Linux】H3网络(二)
linux
xx~t17 小时前
嵌入式学习——ARM1
linux·arm开发·嵌入式硬件·arm
xx~t17 小时前
嵌入式——ARM1(详细篇)
linux·arm开发·嵌入式硬件·arm
DYWorker00120 小时前
Linux驱动子系统:DMA-Buf —— Consumer和Provider(008)
linux·驱动开发
雯宝21 小时前
Linux 内核函数集
linux
GeW21 小时前
从挂科到高分通过:RHCE快速拿证的10个提分技巧
linux
Ramble_Naylor1 天前
错误是一种值:Result、? 与 panic!
rust