From 74a46c24f3be4a8a758d9c9d3d838b8851cb010d Mon Sep 17 00:00:00 2001 From: Zachary Turner Date: Wed, 27 Aug 2014 17:51:43 +0000 Subject: Revert "Limit the symbol search in DynamicLibrary to the module that was opened." This reverts commit r216563, which breaks lli's dynamic symbol resolution. llvm-svn: 216569 --- llvm/lib/Support/DynamicLibrary.cpp | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) (limited to 'llvm/lib/Support/DynamicLibrary.cpp') diff --git a/llvm/lib/Support/DynamicLibrary.cpp b/llvm/lib/Support/DynamicLibrary.cpp index 40072636608..d2b551e8a0a 100644 --- a/llvm/lib/Support/DynamicLibrary.cpp +++ b/llvm/lib/Support/DynamicLibrary.cpp @@ -56,15 +56,8 @@ static DenseSet *OpenedHandles = nullptr; DynamicLibrary DynamicLibrary::getPermanentLibrary(const char *filename, std::string *errMsg) { SmartScopedLock lock(*SymbolsMutex); - int flags = RTLD_LAZY | RTLD_GLOBAL; -#if defined(__APPLE__) - // RTLD_FIRST is an apple specific flag which causes dlsym() to search only - // the module specified in |filename|, and not dependent modules. This - // behavior would be desirable for other platforms as well, except that - // there's not a good way to implement it. - flags |= RTLD_FIRST; -#endif - void *handle = dlopen(filename, flags); + + void *handle = dlopen(filename, RTLD_LAZY|RTLD_GLOBAL); if (!handle) { if (errMsg) *errMsg = dlerror(); return DynamicLibrary(); -- cgit v1.2.3