介绍链接器的功能和Go链接器的实现。
链接器概述
Go语言编译流程透视
ELF文件格式解析
Go链接器工作流程
重定位
史斌(benshi001@github)
给 Go语言提交过 131 个补丁(排名全球前 50)
给 llvm 提交过 130 个补丁
同时拥有 go 和 llvm 官方 gerrit 的 code review 权限
同时拥有 go 和 llvm 官方 git 仓库的 push 权限
Go语言中国贡献者俱乐部成员
2022-07-28 21:00:00 UTC+8
Bilibili 直播:哔哩哔哩直播,二次元弹幕直播平台
金山文档:https://kdocs.cn/l/cbCC83vUlmwS
编译原理龙书:https://book.douban.com/subject/3296317/
Go链接器源码:go/src/cmd/link at master · golang/go · GitHub
Intel X86 处理器手册:
These manuals describe the architecture and programming environment of the Intel® 64 and IA-32 architectures.
RISCV 处理器手册:GitHub - riscv/riscv-isa-manual: RISC-V Instruction Set Manual
PPT下载地址一(附件):Go夜读-Go链接器-史斌.pptx (3.6 MB)
PPT下载地址二(金山文档):https://kdocs.cn/l/cbCC83vUlmwS
问问里面的汇编通过什么工具看的?objdump没有这么详细的信息.
除了 objdump , 还有别的二进制工具可以查看 ELF 信息。
https://www.gnu.org/software/binutils/
常用的 nm, readelf, objdump ,可以仔细看看他们的命令行选项。