sprof“PLTREL未find错误”

我试图分析我们的共享库,但每当我有环境variablesLD_PROFILE设置,我得到“PLTREL找不到对象”。 是什么赋予了? 是否有某种链接标志我失踪或什么? 在互联网上似乎没有关于这方面的信息。 sprof的手册页大约10个字。

Solutions Collecting From Web of "sprof“PLTREL未find错误”"

根据Google网上论坛上一个没有回答的问题 ,看起来你并不是第一个遇到这个问题的人。

我认为pltrel的意思是相对的 。 在一些ELF设计笔记中 ,

在代码段中创建了一个.plt节,它是一个用于处理库调用的运行时解析的函数存根的数组。

还有一点点:

下一节我想提到的是.plt部分。 这包含我们在共享库中调用函数时使用的跳转表。 默认情况下,链接器不会将.plt条目初始化为指向正确的目标函数,而是指向动态装载器本身。 因此,第一次调用任何给定的函数时,动态加载器将查找函数并修复.plt的目标,以便下次使用此.plt插槽时,我们调用正确的函数。 做这个改变之后,动态加载器调用函数本身。

听起来像共享库是如何编译或组装的。 希望有更多的搜索精灵PLT部分让你在正确的轨道上。

发现这可能是相关的你:

LD_AUDIT的已知问题

➢LD_AUDIT不适用于共享库,其中没有代码。

➢示例ICU-4.0“libicudata.so”

➢错误:“对象/usr/lib/libicudata.so.40中找不到PLTREL”

➢通过sed'ing -nostdlib等修补libicudata后重新编译sed -i – “s / -nodefaultlibs -nostdlib //”config / mh-linux

这似乎也适用于LD_PROFILE