Wenn ich versuche, meine .so-Datei auf Android 6 ich diese Nachricht erhalten laufen: verstehe ich kannWie finden Sie Textverlagerungen in .so Datei?
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
Von der Nachricht, dass ich Text Verlagerungen in meiner .so-Datei haben. Kompilieren mit -fPIC hilft nicht, da die Textverlagerungen in Assemblierungsdateien sind, die ich zur Optimierung einiger Berechnungen verwende. Woher wissen Sie, wo sich die Textumsetzungen im Quellcode genau befinden?
Nun, die Verschiebung der Tabelle selbst ist trivial mit etwas wie readelf oder objdump - Fragen Sie, wie diese Offsets zurück zu Orten im Quellcode zu beziehen? – Notlikethat
@Notlikethat, ich frage, wie man die GOT-Tabelle liest und wie man die Offsets wieder auf meinen Quellcode bezieht. – VitalyD