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
(cherry picked from commit f8093a9485
)
This commit is contained in:
parent
cb73d0e0da
commit
53ba663617
@ -2444,7 +2444,7 @@ bool soinfo::prelink_image() {
|
||||
/* 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_);
|
||||
}
|
||||
|
||||
@ -3150,6 +3150,7 @@ static ElfW(Addr) __linker_init_post_relocation(KernelArgumentBlock& args, ElfW(
|
||||
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) {
|
||||
|
Loading…
Reference in New Issue
Block a user