Remove text-relocs support for apps targeting M+
Remove support of text-relocations for apps targeting sdk version > 22
Bug: http://b/20013628
Change-Id: I2127739544480c747315e32df15dfbd1b79de4f5
diff --git a/linker/linker.cpp b/linker/linker.cpp
index bbdd1b0..d1b2ad2 100644
--- a/linker/linker.cpp
+++ b/linker/linker.cpp
@@ -2851,6 +2851,13 @@
#if !defined(__LP64__)
if (has_text_relocations) {
+ // Fail if app is targeting sdk version > 22
+ // TODO (dimitry): remove != __ANDROID_API__ check once http://b/20020312 is fixed
+ if (get_application_target_sdk_version() != __ANDROID_API__
+ && get_application_target_sdk_version() > 22) {
+ DL_ERR("%s: has text relocations", get_realpath());
+ return false;
+ }
// Make segments writable to allow text relocations to work properly. We will later call
// phdr_table_protect_segments() after all of them are applied and all constructors are run.
DL_WARN("%s has text relocations. This is wasting memory and prevents "