标签 · RISC-V
3 篇文章,记录每一次探索。
[链接器的世界-实验篇11] 看穿间接层:GOT、指令松弛与静态 TLS
2026-10-06
在 class9 的静态 PIE 上构建 GOT,实施课程支持的 mov 松弛,布局 TLS 模板,并用提供的启动代码安装主线程 TLS。
阅读全文
[链接器的世界-原理篇10] 链接器脚本:当程序需要自己安排内存
2026-10-04
链接器脚本把输入节组织成输出映像,并约定符号地址、存储区域与入口。本文区分 ELF 文件偏移、VMA 和 LMA,解释启动代码如何完成映射、数据复制与 BSS 清零,再以 QEMU、xv6、JOS 和 ROM/RAM 布局分析地址约定失配的后果。最后讨论数据嵌入、节保留、排序、对齐与脚本断言。
阅读全文
[链接器的世界-原理篇04] 重定位:一次调用,四个字节的距离
2026-10-04
从一个真正能运行的 Linux 程序出发,追踪 call 指令里的四个字节:输入节偏移如何变成 P,CPU 为什么从下一条指令算起,S+A-P 又如何落成机器码。再逐步进入负位移、绝对指针、不同加数、溢出和链接期指令改写。
阅读全文