This effectively reverts
https://android.googlesource.com/platform/bionic/+/
e4ad91f86a47b39612e030a162f4793cb3421d31%5E%21/#F0
for x86 platforms. Unfortunately, this seems like it is required
if we are going to support ffmpeg. The ffmpeg team decreed that they
require text relocations for x86 (only) and that they would not
fix the fact that android 6.0 makes ffmpeg unusable on x86:
https://trac.ffmpeg.org/ticket/4928
Change-Id: I68397f4d62f4f6acd8e0d41b7ecdc115969b890a
#if !defined(__LP64__)
if (has_text_relocations) {
+#if !defined(__i386__) // ffmpeg says that they require text relocations on x86
// Fail if app is targeting M or above.
if (get_application_target_sdk_version() >= __ANDROID_API_M__) {
DL_ERR_AND_LOG("\"%s\" has text relocations (https://android.googlesource.com/platform/"
"Enforced-for-API-level-23)", get_realpath());
return false;
}
+#endif
// Make segments writable to allow text relocations to work properly. We will later call
// phdr_table_protect_segments() after all of them are applied.
DL_WARN("\"%s\" has text relocations (https://android.googlesource.com/platform/"