diff options
| author | Colin Cross <ccross@android.com> | 2014-05-20 15:06:37 -0700 |
|---|---|---|
| committer | Colin Cross <ccross@android.com> | 2014-05-20 15:19:02 -0700 |
| commit | 346fea0805b8c2a20171c9b4ab1aac5f66ede5de (patch) | |
| tree | 126e8280445807a73bd9793bdb8babd948573bad | |
| parent | afb89c2a01089bb247456634a15a58f111bb55a6 (diff) | |
| download | bionic-346fea0805b8c2a20171c9b4ab1aac5f66ede5de.zip bionic-346fea0805b8c2a20171c9b4ab1aac5f66ede5de.tar.gz bionic-346fea0805b8c2a20171c9b4ab1aac5f66ede5de.tar.bz2 | |
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
| -rw-r--r-- | linker/dlfcn.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/linker/dlfcn.cpp b/linker/dlfcn.cpp index 8ef1212..7e3b3f4 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); |
