gpt4 book ai didi

linux-kernel - ld-linux.so* 本身是如何链接和加载的?

转载 作者:行者123 更新时间:2023-12-02 21:03:46 24 4
gpt4 key购买 nike

enter image description here

出于好奇,Linux 动态链接器/加载器 ld-linux.so* 本身是如何链接和加载的?

  1. 上面的屏幕截图显示,fileldd 似乎给出了矛盾的结果:一个说静态链接,另一个说<强>动态链接。

  2. 那么加载器本身是如何加载的呢?

最佳答案

  1. ld-linux.so* 不依赖于任何其他库。当加载到内存中时,它可以自行运行。

  2. ldd是一个脚本,它通过加载器加载对象文件,加载器检查对象是动态链接还是静态链接,试试这个:

LD_TRACE_LOADED_OBJECTS=1 /lib64/ld-linux-x86-64.so.2 /lib64/ld-linux-x86-64.so.2

  • file读取magic number或elf头来判断对象是动态链接还是静态链接,它可能会输出与ldd不同的值
  • IMO,ld-linux.so 是静态链接的,因为它没有所有动态链接对象必须具有的 .interp 部分。

    关于linux-kernel - ld-linux.so* 本身是如何链接和加载的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37026193/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com