linker: Update find_library call for shimlibs
commits 0cdef7e7f3c6837b56a969120d9098463d1df8d8
"Respect caller DT_RUNPATH in dlopen()."
and 42d5fcb9f494eb45de3b6bf759f4a18076e84728
"Introducing linker namespaces"
added new arguments to find_library, add them here.
Change-Id: I8f35a45b00d14f8b2ce01a0a96d2dc7759be04a6
diff --git a/linker/linker.cpp b/linker/linker.cpp
index 31736a4..9ddb60e 100644
--- a/linker/linker.cpp
+++ b/linker/linker.cpp
@@ -1230,7 +1230,10 @@
typedef linked_list_t<const char> StringLinkedList;
typedef std::vector<LoadTask*> LoadTaskList;
-static soinfo* find_library(const char* name, int rtld_flags, const android_dlextinfo* extinfo);
+static soinfo* find_library(android_namespace_t* ns,
+ const char* name, int rtld_flags,
+ const android_dlextinfo* extinfo,
+ soinfo* needed_by);
// g_ld_all_shim_libs maintains the references to memory as it used
// in the soinfo structures and in the g_active_shim_libs list.
@@ -1282,7 +1285,7 @@
for (const auto& one_pair : matched) {
const char* const pair = one_pair->c_str();
const char* sep = strchr(pair, '|');
- soinfo *child = find_library(sep+1, RTLD_GLOBAL, nullptr);
+ soinfo *child = find_library(&g_default_namespace, sep+1, RTLD_GLOBAL, nullptr, nullptr);
if (child) {
INFO("Using shim lib \"%s\"\n", sep+1);
action(child);