summaryrefslogtreecommitdiffstats
path: root/linker
diff options
context:
space:
mode:
authorDmitriy Ivanov <dimitry@google.com>2015-06-22 19:25:15 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2015-06-22 19:25:15 +0000
commit5fa858c5655ed721696719ce07d81a983d4b0f5e (patch)
treeeb8ecc9af67dd2c3cb516afca88f376bb624df37 /linker
parentcb0607590341ed2512a55015e66e19e7f7db3723 (diff)
parent3e6f7807541bab8157f9c26e55829fd193683349 (diff)
downloadbionic-5fa858c5655ed721696719ce07d81a983d4b0f5e.zip
bionic-5fa858c5655ed721696719ce07d81a983d4b0f5e.tar.gz
bionic-5fa858c5655ed721696719ce07d81a983d4b0f5e.tar.bz2
Merge "Remove text-relocs support for apps targeting M+" into mnc-dev
Diffstat (limited to 'linker')
-rw-r--r--linker/linker.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/linker/linker.cpp b/linker/linker.cpp
index 2c51ed9..e147a13 100644
--- a/linker/linker.cpp
+++ b/linker/linker.cpp
@@ -2884,6 +2884,13 @@ bool soinfo::link_image(const soinfo_list_t& global_group, const soinfo_list_t&
#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 "