summaryrefslogtreecommitdiffstats
path: root/linker
diff options
context:
space:
mode:
authorDmitriy Ivanov <dimitry@google.com>2015-05-22 12:34:42 -0700
committerDmitriy Ivanov <dimitry@google.com>2015-05-22 15:24:13 -0700
commit15309fde91b3989a1af139db422acf68e16a9258 (patch)
tree337e98f9f8c84f5e372c3502b9a6c77d8a7758e3 /linker
parentc15a935202319a41ee0be94afcdbde1d07568ec8 (diff)
downloadbionic-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.cpp2
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;