This is a simple fix for getting error messages from dlerror in
LoadLibraryPermanently. The current code modifies the value of a pointer
that is passed by value, so the caller never gets the message.

Patch by Julien Lerouge!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48270 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/System/DynamicLibrary.cpp b/lib/System/DynamicLibrary.cpp
index 9c52c8a..bdbcbd4 100644
--- a/lib/System/DynamicLibrary.cpp
+++ b/lib/System/DynamicLibrary.cpp
@@ -63,7 +63,8 @@
                                             std::string *ErrMsg) {
   void *H = dlopen(Filename, RTLD_LAZY);
   if (H == 0) {
-    ErrMsg = new std::string(dlerror());
+    if (ErrMsg)
+      *ErrMsg = dlerror();
     return true;
   }
   OpenedHandles.push_back(H);