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

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

相关推荐
桑榆41619 分钟前
WebRTC 本地视频文件推流 Demo 搭建指南 (Ubuntu 24.04)
linux·ubuntu·webrtc
meilindehuzi_a24 分钟前
深入理解 Linux 进程地址空间:从虚拟内存、页表映射到 fork 写时拷贝与 VMA 管理
java·linux·服务器
z203483152027 分钟前
Ubuntu双系统安装指南:从 UEFI 原理到 Ubuntu 分区方案的全面解析
linux·运维·ubuntu
wangjing_05221 小时前
通过CentOS 7虚拟机的Docker服务部署Node-RED及气象数据显示界面搭建完整教程
linux·docker·centos
万叶学编程1 小时前
服务器网站运维指令全解| Linux 实操完整教程
linux·运维·服务器
yushikong1 小时前
关于rust开发ch32x033f8p6的一些记录
开发语言·后端·rust
风曦Kisaki1 小时前
# Kubernetes(K8s)笔记Day13 :工作负载资源概述与 Job (CronJob)控制器
linux·笔记·云原生·容器·kubernetes
vortex52 小时前
ss 命令指南:网络排查神器
linux·运维·网络·终端
程序员爱钓鱼2 小时前
Rust Borrow借用详解:不转移所有权访问数据
后端·面试·rust