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!

llvm-svn: 48270
This commit is contained in:
Chris Lattner 2008-03-12 00:50:01 +00:00
parent 0d98256c05
commit 1f49988a7a

View File

@ -63,7 +63,8 @@ bool DynamicLibrary::LoadLibraryPermanently(const char *Filename,
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);