linker: remove link from external library on unload am: b37d10cc80 am: 3a644889b2 am: cb40eec87c
am: 0399816edb
Change-Id: Ic7c3a9f3dc52cca6edf3933b33b04e6a82e77aca
diff --git a/linker/linker.cpp b/linker/linker.cpp
index 9dc928e..a043b85 100644
--- a/linker/linker.cpp
+++ b/linker/linker.cpp
@@ -2246,6 +2246,9 @@
if (local_unload_list.contains(child)) {
continue;
} else if (child->is_linked() && child->get_local_group_root() != root) {
+ child->get_parents().remove_if([&] (const soinfo* parent) {
+ return parent == si;
+ });
external_unload_list.push_back(child);
} else {
unload_list.push_front(child);