OSDN Git Service

Log dlopen failures caused by text relocations
authorDmitriy Ivanov <dimitry@google.com>
Tue, 13 Oct 2015 18:07:56 +0000 (11:07 -0700)
committerDmitriy Ivanov <dimitry@google.com>
Tue, 13 Oct 2015 22:48:57 +0000 (15:48 -0700)
Some apps will fail to load native libraries with
text relocations when switching target sdk version to M.
It could be hard to diagnose because some of them
suppress dlerror and/or UnsatisfiedLinkError.

This change unconditionally logs the error message making
the cause of the failure more visible to developers.

Bug: http://b/24876001
Change-Id: I0477a0d1307d0879000f3a3a43b974b4cf34bdb2
(cherry picked from commit f32b689d3dbe7a1317bce58d1d9bef9bba173c66)

linker/linker.cpp

index 4e899c3..406cdee 100644 (file)
@@ -3108,6 +3108,7 @@ bool soinfo::link_image(const soinfo_list_t& global_group, const soinfo_list_t&
   if (has_text_relocations) {
     // Fail if app is targeting sdk version > 22
     if (get_application_target_sdk_version() > 22) {
+      PRINT("%s: has text relocations", get_realpath());
       DL_ERR("%s: has text relocations", get_realpath());
       return false;
     }