没想到上次更新已经是上个月。
llvm 中 RuntimeDyld 和 JITLink 都是 JIT 链接器。
RuntimeDyld 是早期运行时链接器,加载目标文件(ELF/MachO/COFF)、分配内存、解析symbol、执行 relocation。但 target-specific 代码太多,每个架构都要手工写 relocation patch 逻辑。
llvm 后来引入 ORC(on request compilation) v2。JITLink 是 graph-based linker