Fix RTLD_NEXT lookup for the local_group
Linker used to skip RTLD_NEXT within local_group when
caller->next is nullptr (which represents load order
but not the order within local_group dependency tree)
Bug: http://b/21380474
Change-Id: I178fc4657b19bceb871635b177c1df67855b1708
(cherry picked from commit b96ac41b32
)
This commit is contained in:
@@ -980,7 +980,7 @@ const ElfW(Sym)* dlsym_linear_lookup(const char* name,
|
|||||||
soinfo* start = solist;
|
soinfo* start = solist;
|
||||||
|
|
||||||
if (handle == RTLD_NEXT) {
|
if (handle == RTLD_NEXT) {
|
||||||
if (caller == nullptr || caller->next == nullptr) {
|
if (caller == nullptr) {
|
||||||
return nullptr;
|
return nullptr;
|
||||||
} else {
|
} else {
|
||||||
start = caller->next;
|
start = caller->next;
|
||||||
|
Reference in New Issue
Block a user