From 346fea0805b8c2a20171c9b4ab1aac5f66ede5de Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Tue, 20 May 2014 15:06:37 -0700 Subject: [PATCH] HACK: linker: check for handle==0xffffffff on LP64 bionic RTLD_NEXT was changed from 0xffffffff to -1L, which breaks existing binaries compiled. Temporarily look either until we can get recompiled binaries. Bug: 15113039 Change-Id: I1568fa0e4a832c5e6df21da74a33b22bde7f16f6 --- linker/dlfcn.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/linker/dlfcn.cpp b/linker/dlfcn.cpp index 8ef121294..7e3b3f41d 100644 --- a/linker/dlfcn.cpp +++ b/linker/dlfcn.cpp @@ -102,7 +102,7 @@ void* dlsym(void* handle, const char* symbol) { ElfW(Sym)* sym = NULL; if (handle == RTLD_DEFAULT) { sym = dlsym_linear_lookup(symbol, &found, NULL); - } else if (handle == RTLD_NEXT) { + } else if (handle == RTLD_NEXT || handle == (void*)0xffffffffL) { void* caller_addr = __builtin_return_address(0); soinfo* si = find_containing_library(caller_addr);