1. dl_runtime_resolve 1.1 函數流程 作用:對動態鏈接的函數進行重定位,延遲綁定機制中調用。 _dl_runtime_resolve(link_map_obj, reloc_index) 的兩個參數分別是link_map 指針和 got 表中關於 plt 重定位的索引值。主要流程是遍歷所有的link_map,往下取出當前 link_map 的符號表 ELF Symbol Table和字符串表ELF String Table,據此找到對應的符號/函數名。最後往got表寫入查找到的函數地址。具體步驟如下: (1)link_map 訪問 .dynamic,取出 .dynstr、.dynsym、.rel.plt的地址。 (2)當前函數的重定位表項指針 rel = .rel.plt + reloc_index。 (3)當前函數的符號表項指針 sym = .dynsym [(rel->r_info) >>8]。