标签 · 动态链接

2 篇文章,记录每一次探索。

[链接器的世界-原理篇15] 走出 ELF:Mach-O 与 PE/COFF 的另一套规则
从文件头、目录记录与内容的关系出发,对照 Mach-O 与 PE/COFF 的符号、重定位和加载机制;通过字节布局与地址换算解释导入、指针链、展开记录、去重及 TLS,并区分文件结构、链接接口与运行时契约。
阅读全文
[链接器的世界-原理篇07] 动态链接:把最后的地址留给运行时
共享库的加载地址要到运行时才知道,它引用的符号甚至可能被别的库替换。链接器在链接时能做的,是把所有"现在还填不了"的地址集中到少数几处,再给动态链接器 ld.so 写一份说明书。本文从 PIC、GOT、PLT 讲到几类动态重定位、惰性绑定、RELRO、符号插入、符号版本和 ld.so 的启动顺序,全部配真实的目标文件与链接输出。
阅读全文