【发布时间】:2013-10-13 23:23:39
【问题描述】:
我们正在 SELinux 环境中测试我们的应用程序。现在,我们收到以下错误:
dlopen failed to load libFoo.so -libFoo.so: cannot restore segment prot after reloc: Permission denied
据我从my searches 了解到,这与共享库中.text 部分中的重定位有关。据我所知,我们已经在所有共享库中使用-fPIC。虽然可能有一些静态库也链接到这些共享库中。
如何找出导致此错误弹出的重定位/符号?我应该在共享库的nm 或objdump -rR 输出中寻找什么?
或者我是否在寻找错误的信息,而问题出在共享库中生成的重定位之外的其他地方?
【问题讨论】:
-
好吧,不到一小时后,我发现了这个:akkadia.org/drepper/textrelocs.html,基本上归结为使用
eu-findtextrel。
标签: c++ linux selinux relocation