  #define EXPLICIT_SYMBOL2(SYMFROM, SYMTO) EXPLICIT_SYMBOL(SYMTO)
  
  #include "explicit_symbols.inc"
-@@ -113,51 +115,14 @@ extern "C" {
+@@ -113,51 +119,14 @@ extern "C" {
  #undef EXPLICIT_SYMBOL
  #undef EXPLICIT_SYMBOL2
  
 -void* DynamicLibrary::SearchForAddressOfSymbol(const char* symbolName) {
 -  SmartScopedLock<true> Lock(getMutex());
-+void PopulateSpecialSymbolsImpl(StringMap<void *>& symMap) {
++void PopulateSpecialSymbolsImpl(StringMap<void *>& SymMap) {
  
 -  // First check symbols added via AddSymbol().
 -  if (ExplicitSymbols) {
 -    StringMap<void *>::iterator i = ExplicitSymbols->find(symbolName);
 +#define EXPLICIT_SYMBOL(SYM)                    \
-+  symMap[#SYM] = &SYM;
++  SymMap[#SYM] = &SYM;
 +#define EXPLICIT_SYMBOL2(SYMFROM, SYMTO) EXPLICIT_SYMBOL(SYMTO)
  
 -    if (i != ExplicitSymbols->end())

===================================================================
--- lib/Support/Unix/DynamicLibrary.inc	(revision 0)
+++ lib/Support/Unix/DynamicLibrary.inc	(revision 0)
@@ -0,0 +1,105 @@
+//===--- Unix/DynamicLibrary.cpp - Unix DL Implementation -------*- C++ -*-===//
+//
+//                     The LLVM Compiler Infrastructure

+    return &OpenedHandles;
   }
   
-  HMODULE a_handle = LoadLibrary(filename);
+  HMODULE a_handle = LoadLibrary(Filename);
 
   if (a_handle == 0) {
-    MakeErrMsg(errMsg, std::string(filename) + ": Can't open : ");
-    return DynamicLibrary();
+    MakeErrMsg(ErrMsg, std::string(Filename) + ": Can't open : ");
+    return NULL;
   }
 
