diff options
author | Dmitriy Ivanov <dimitry@google.com> | 2015-05-22 12:34:42 -0700 |
---|---|---|
committer | Dmitriy Ivanov <dimitry@google.com> | 2015-05-22 15:24:13 -0700 |
commit | 15309fde91b3989a1af139db422acf68e16a9258 (patch) | |
tree | 337e98f9f8c84f5e372c3502b9a6c77d8a7758e3 /linker | |
parent | c15a935202319a41ee0be94afcdbde1d07568ec8 (diff) | |
download | bionic-15309fde91b3989a1af139db422acf68e16a9258.zip bionic-15309fde91b3989a1af139db422acf68e16a9258.tar.gz bionic-15309fde91b3989a1af139db422acf68e16a9258.tar.bz2 |
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 b96ac41b32e61799c48f3fd07831cc168b95068d)
Diffstat (limited to 'linker')
-rw-r--r-- | linker/linker.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/linker/linker.cpp b/linker/linker.cpp index 4c98afe..f3ca761 100644 --- a/linker/linker.cpp +++ b/linker/linker.cpp @@ -980,7 +980,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; |