ld-linux.so 解释器,什么是ld-linux.so.2和linux-gate.so.1?

我希望你不是在询问主要的条目,而是指出对于所请求的库libm.so.6,例如在文件/lib/libm.so.6中找到,但是询问两个异常值。

为什么它们显示不同?对于linux-gate.so.1它是因为它实际上不是磁盘上的文件 – 它被内核暴露为进行系统调用的机制。对于/lib/ld-linux.so.2,这是因为这是用于实际运行应用程序的程序解释器。

有一个非常好的blog entry描述linux-gate.so,它解释很好。

对于/lib/ld-linux.so.2,您必须了解启动ELF二进制文件时会发生什么。简单的答案是这些类型的二进制文件的内核处理程序使用这个文件来启动应用程序。

该程序的主要目的是将二进制文件映射到内存中,加载程序中任何引用的库(例如前面提到的libm.so.6),然后将控制权交给正在执行的二进制文件的起始地址。

该程序被定义为ELF文件的结构的一部分,位于程序标题的INTERP部分。对于32位linux二进制文件,这是32位解释器的典型名称。对于64位二进制文​​件,您会发现它通常称为ld-linux-x86_64.so.2(对于64位x86平台)。

您可以使用readelf -l和INTERP部分自己确定此信息:

INTERP 0x0000000000000238 0x0000000000400238 0x0000000000400238

0x000000000000001c 0x000000000000001c R 1

[Requesting program interpreter: /lib64/ld-linux-x86-64.so.2]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值