Merge "Look into ld_preloads before current library"
This commit is contained in:
commit
5120bcf9f1
@ -525,6 +525,15 @@ static ElfW(Sym)* soinfo_do_lookup(soinfo* si, const char* name, soinfo** lsi, s
|
|||||||
*lsi = si;
|
*lsi = si;
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Next, look for it in the preloads list */
|
||||||
|
for (int i = 0; g_ld_preloads[i] != NULL; i++) {
|
||||||
|
s = soinfo_elf_lookup(g_ld_preloads[i], elf_hash, name);
|
||||||
|
if (s != NULL) {
|
||||||
|
*lsi = g_ld_preloads[i];
|
||||||
|
goto done;
|
||||||
|
}
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
/* Order of symbol lookup is controlled by DT_SYMBOLIC flag */
|
/* Order of symbol lookup is controlled by DT_SYMBOLIC flag */
|
||||||
|
|
||||||
@ -542,6 +551,15 @@ static ElfW(Sym)* soinfo_do_lookup(soinfo* si, const char* name, soinfo** lsi, s
|
|||||||
*lsi = somain;
|
*lsi = somain;
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Next, look for it in the preloads list */
|
||||||
|
for (int i = 0; g_ld_preloads[i] != NULL; i++) {
|
||||||
|
s = soinfo_elf_lookup(g_ld_preloads[i], elf_hash, name);
|
||||||
|
if (s != NULL) {
|
||||||
|
*lsi = g_ld_preloads[i];
|
||||||
|
goto done;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Look for symbols in the local scope (the object who is
|
/* Look for symbols in the local scope (the object who is
|
||||||
@ -573,16 +591,16 @@ static ElfW(Sym)* soinfo_do_lookup(soinfo* si, const char* name, soinfo** lsi, s
|
|||||||
*lsi = somain;
|
*lsi = somain;
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Next, look for it in the preloads list */
|
/* Next, look for it in the preloads list */
|
||||||
for (int i = 0; g_ld_preloads[i] != nullptr; i++) {
|
for (int i = 0; g_ld_preloads[i] != NULL; i++) {
|
||||||
s = soinfo_elf_lookup(g_ld_preloads[i], elf_hash, name);
|
s = soinfo_elf_lookup(g_ld_preloads[i], elf_hash, name);
|
||||||
if (s != nullptr) {
|
if (s != NULL) {
|
||||||
*lsi = g_ld_preloads[i];
|
*lsi = g_ld_preloads[i];
|
||||||
goto done;
|
goto done;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user