summaryrefslogtreecommitdiffstats
path: root/linker
diff options
context:
space:
mode:
authorDmitriy Ivanov <dimitry@google.com>2014-09-12 16:55:42 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2014-09-12 16:55:42 +0000
commitd74aa580354037b9972524e9d654c0a336974838 (patch)
tree189b7fade3764e5105c37bc53b5366e15037fd53 /linker
parentaad92067bf4eecda81a4c331ee4dec70483c5104 (diff)
parenta6ac54a215d6b64f5cc5a59b66c1dbfbb41ea9f5 (diff)
downloadbionic-d74aa580354037b9972524e9d654c0a336974838.zip
bionic-d74aa580354037b9972524e9d654c0a336974838.tar.gz
bionic-d74aa580354037b9972524e9d654c0a336974838.tar.bz2
Merge "Fix unload of recursively linked library"
Diffstat (limited to 'linker')
-rw-r--r--linker/linker.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/linker/linker.cpp b/linker/linker.cpp
index 2e7e57e..6589684 100644
--- a/linker/linker.cpp
+++ b/linker/linker.cpp
@@ -839,6 +839,7 @@ static soinfo* load_library(LoadTaskList& load_tasks, const char* name, int dlfl
}
if ((dlflags & RTLD_NOLOAD) != 0) {
+ DL_ERR("library \"%s\" wasn't loaded and RTLD_NOLOAD prevented it", name);
return nullptr;
}
@@ -946,7 +947,6 @@ static bool find_libraries(const char* const library_names[], size_t library_nam
soinfo* needed_by = task->get_needed_by();
if (is_recursive(si, needed_by)) {
- soinfo_free(si);
return false;
}