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

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

相关推荐
何中应2 小时前
服务器之间如何免密连接
linux·服务器·ssh
zzzsde2 小时前
【Linux】线程同步和互斥(1):线程互斥与加锁实现
linux·运维·服务器·开发语言·算法
Bert.Cai2 小时前
Linux iconv命令详解
linux·运维·服务器
WangLanguager2 小时前
Linux命令chfn(change finger information) 详细介绍
linux·运维·服务器
Vodka~2 小时前
一根网线——Windows共享网络给Linux访问互联网
linux·网络·windows
CHANG_THE_WORLD2 小时前
PE 文件 数据目录
linux·服务器·数据库
灵晔君3 小时前
【Linux】进程(三)——进程切换、O (1) 调度、环境变量、命令行参数
linux·运维·服务器
林熙蕾LXL3 小时前
进程间通信
linux
yzwlord3 小时前
【无标题】
linux·运维·rust·ssh