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

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

相关推荐
星栈8 小时前
我用 Rust + Dioxus 做了个全栈跨平台笔记应用:再把新建、编辑和交付补上
前端·rust·前端框架
AlfredZhao10 小时前
生产环境里,为什么不建议把普通端口直接暴露到公网?
linux·https·443·80
独孤留白12 小时前
从C到Rust:基本类型 C 的隐式不确定 vs Rust 的显式确定
rust
清晨很温柔啊12 小时前
# 用 Rust 手搓 AI 自演化主板:当 18 个异构器官长出 C++ 骨骼
rust
星栈1 天前
我用 Rust + Dioxus 做了个全栈跨平台笔记应用:第一版先把列表和详情跑通
前端·rust·前端框架
戴为沐2 天前
Linux内存扩容指南
linux
doiito2 天前
【Agent Harness】Gliding Horse 工具结果压缩体系:如何用“指针”驯服上下文膨胀
ai·rust·架构设计·系统设计·ai agent
zylyehuo2 天前
Linux 彻底且安全地删除文件
linux
用户805533698032 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式
星栈2 天前
Dioxus 接数据库最容易写歪的 3 个地方:sqlx + SQLite 怎么接才顺
前端·rust·前端框架