Fix LD_PRELOAD for dlopen()
We did not set DF_1_GLOBAL flag for LD_PRELOADed
libraries which led to the situation when ld_preloads
where ignored during on dlopen()
Change-Id: I696b3b2506a8ed4c0984ad2c803210a7a4f8e686
diff --git a/linker/linker.cpp b/linker/linker.cpp
index 63e1b17..2f32c0e 100644
--- a/linker/linker.cpp
+++ b/linker/linker.cpp
@@ -2429,7 +2429,7 @@
/* We can't log anything until the linker is relocated */
bool relocating_linker = (flags_ & FLAG_LINKER) != 0;
if (!relocating_linker) {
- INFO("[ linking %s ]", get_soname());
+ INFO("[ linking %s ]", get_realpath());
DEBUG("si->base = %p si->flags = 0x%08x", reinterpret_cast<void*>(base), flags_);
}
@@ -3135,6 +3135,7 @@
for (const auto& ld_preload_name : g_ld_preload_names) {
needed_library_name_list.push_back(ld_preload_name.c_str());
++needed_libraries_count;
+ ++ld_preloads_count;
}
for_each_dt_needed(si, [&](const char* name) {