我們正在SELinux環境中測試我們的應用程序。現在,我們得到了以下錯誤:SELinux:在reloc後無法恢復segment prot:權限被拒絕
dlopen failed to load libFoo.so -libFoo.so: cannot restore segment prot after reloc: Permission denied
據我從明白了,這在共享庫.text
部分涉及搬遷。據我所見,我們已經在爲所有共享庫使用-fPIC
。雖然可能有一些靜態庫也鏈接到這些共享庫中。
如何找出重定位/符號導致此錯誤彈出?我應該在共享庫的輸出nm
或objdump -rR
中尋找什麼?
或者我是否在捕獲錯誤信息,問題在於除共享庫中生成的重定位之外的其他位置?
好吧,不是一個小時後,我發現這個:http://www.akkadia.org/drepper/textrelocs.html,基本上歸結爲使用'eu-findtextrel'。 – wilx