【发布时间】:2016-09-09 08:04:57
【问题描述】:
根据我收集到的信息,共享库的默认可见性符号的符号名称查找以呼吸优先顺序遍历共享库依赖树,可执行程序是此搜索树的根。由一个 DT_NEEDED 列表链接的所有库都位于此树的同一级别。
因此,当查找符号“foo”时,在我看来,它的查找总是确定性地绑定到相同的库或运行时的可执行文件。动态链接器是否利用了这一点并具有某种“全局符号表”(可能与链接映射列表相关联),一旦第一次查找符号就知道哪个符号属于哪个共享库,并获取当另一个共享库第二次查找符号时,该库的 GOT 中的符号?还是总是像第一次查找一样查找符号?
【问题讨论】:
标签: linux linker shared-libraries elf