This patch handles unaligned loads and stores in Mips JIT. Mips backend
[oota-llvm.git] / lib / Support / DynamicLibrary.cpp
index 5ee6a82ad7bcdc82f7d0d27824e45b478b413663..fb02c07e4af81e81221d720289ed6ea2061b9144 100644 (file)
@@ -72,6 +72,8 @@ static DenseSet<void *> *OpenedHandles = 0;
 
 DynamicLibrary DynamicLibrary::getPermanentLibrary(const char *filename,
                                                    std::string *errMsg) {
+  SmartScopedLock<true> lock(getMutex());
+
   void *handle = dlopen(filename, RTLD_LAZY|RTLD_GLOBAL);
   if (handle == 0) {
     if (errMsg) *errMsg = dlerror();
@@ -85,7 +87,6 @@ DynamicLibrary DynamicLibrary::getPermanentLibrary(const char *filename,
     handle = RTLD_DEFAULT;
 #endif
 
-  SmartScopedLock<true> lock(getMutex());
   if (OpenedHandles == 0)
     OpenedHandles = new DenseSet<void *>();