patchelf 会修改 lib 的部分偏移量吗?

问题描述

我正在尝试检查以下问题

mylib.so 没有 SONAME。

所以,我使用 patchelf 添加了 SONAME,就像下面的命令

patchelf --set-soname "libmylib.so" libmylib.so

我使用 readelf -a 来检查精灵信息

接下来,我使用“预链接”来减少启动时间。

但是下面的日志发生错误

root@:~# prelink -aRm
prelink: /usr/lib/libmylib.so: section file offsets not monotonically increasing

也许...我认为 patchelf 对 mylib 的精灵信息、结构有影响

patchelf 是否修改 lib 部分偏移量?

我想知道 patchelf 如何影响精灵信息。

+) readelf 输出比较 左边是未应用 patchelf 的输出,另一个是应用了 patchelf 的输出

enter image description here

解决方法

我想知道 patchelf 如何影响精灵信息。

你不需要好奇——你可以看到

比较 readelf -WS libmyib.so 前后的输出,您会发现 patchelf 确实影响 ELF 信息(如果没有)。