The RTLD_GLOBAL flag allows symbols to be globally accessible, which makes
resolution of symbols in the .so possible (currently assists debugging with
bugpoint).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7366 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Support/PluginLoader.cpp b/lib/Support/PluginLoader.cpp
index b973b16..76c5e81 100644
--- a/lib/Support/PluginLoader.cpp
+++ b/lib/Support/PluginLoader.cpp
@@ -18,7 +18,7 @@
 namespace {
   struct PluginLoader {
     void operator=(const std::string &Filename) {
-      if (dlopen(Filename.c_str(), RTLD_NOW) == 0)
+      if (dlopen(Filename.c_str(), RTLD_NOW|RTLD_GLOBAL) == 0)
         std::cerr << "Error opening '" << Filename << "': " << dlerror()
                   << "\n  -load request ignored.\n";
     }