summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--linker/dlfcn.cpp2
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);