Change to use LinkDynamicObject instead of dlopen.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9011 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Support/PluginLoader.cpp b/lib/Support/PluginLoader.cpp
index 76c5e81..4cacd01 100644
--- a/lib/Support/PluginLoader.cpp
+++ b/lib/Support/PluginLoader.cpp
@@ -10,6 +10,7 @@
 //
 //===----------------------------------------------------------------------===//
 
+#include "Support/DynamicLinker.h"
 #include "Support/CommandLine.h"
 #include "Config/dlfcn.h"
 #include "Config/link.h"
@@ -18,9 +19,10 @@
 namespace {
   struct PluginLoader {
     void operator=(const std::string &Filename) {
-      if (dlopen(Filename.c_str(), RTLD_NOW|RTLD_GLOBAL) == 0)
-        std::cerr << "Error opening '" << Filename << "': " << dlerror()
-                  << "\n  -load request ignored.\n";
+      std::string ErrorMessage;
+      if (LinkDynamicObject (Filename.c_str (), &ErrorMessage))
+        std::cerr << "Error opening '" << Filename << "': " << ErrorMessage
+                  << "\n  -load request ignored.\n";	
     }
   };
 }