Когда я пытаюсь запустить свой файл .so на Android 6 я получил это сообщение:Как найти перемещение текста в файле .so?
Loading Native Audio Library...
03-20 15:07:55.182 19446 19446 : Cannot Load Native Library !!!
03-20 15:07:55.182 19446 19446 : java.lang.UnsatisfiedLinkError: dlopen failed: /data/app/com.myapp.android.sdk-1/lib/arm/myso.so: has text relocations
Из сообщения я могу понять, что у меня есть текст переезды в моем .so файл. скомпилировать с -fPIC не помогает, поскольку перемещение текста происходит в файлах сборки, которые я использую для оптимизации некоторых вычислений. Как узнать, где именно находятся текстовые перестановки в исходном коде?
Ну, глядя на таблицу перемещений, тривиально с чем-то вроде readelf или objdump - вы спрашиваете, как связать эти смещения с местами в исходном коде? – Notlikethat
@Notlikethat, я спрашиваю, как читать таблицу GOT и как связать смещения с исходным кодом. – VitalyD