This fixes a SIGSEGV failure in ReaderArchive while trying to trace what
InputFile is being pulled from the Archive library to resolve a symbol. 

The buffer which was being used was already being handed over to the
MemoryBuffer object and was being accessed after the hand over. 

Moving it before the buffer is handed over.

llvm-svn: 178838
diff --git a/lld/lib/ReaderWriter/ReaderArchive.cpp b/lld/lib/ReaderWriter/ReaderArchive.cpp
index d3287dd..1928e2f 100644
--- a/lld/lib/ReaderWriter/ReaderArchive.cpp
+++ b/lld/lib/ReaderWriter/ReaderArchive.cpp
@@ -45,9 +45,9 @@
     OwningPtr<MemoryBuffer> buff;
     if (ci->getMemoryBuffer(buff, true))
       return nullptr;
-    std::unique_ptr<MemoryBuffer> mb(buff.take());
     if (_targetInfo.logInputFiles())
       llvm::outs() << buff->getBufferIdentifier() << "\n";
+    std::unique_ptr<MemoryBuffer> mb(buff.take());
     if (_targetInfo.parseFile(mb, result))
       return nullptr;
 
@@ -153,7 +153,7 @@
     }
   }
 
-  std::unordered_map<StringRef, 
+  std::unordered_map<StringRef,
                      llvm::object::Archive::child_iterator> _symbolMemberMap;
 }; // class FileArchive