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
This commit is contained in:
Dmitriy Ivanov 2015-05-22 12:34:42 -07:00 committed by Dimitry Ivanov
parent ffe01a3de6
commit b96ac41b32

View File

@ -965,7 +965,7 @@ const ElfW(Sym)* dlsym_linear_lookup(const char* name,
soinfo* start = solist;
if (handle == RTLD_NEXT) {
if (caller == nullptr || caller->next == nullptr) {
if (caller == nullptr) {
return nullptr;
} else {
start = caller->next;