[lld] r194560 - [PECOFF] Make ReaderCOFF more robust against planned identity_magic() changes.

Rui Ueyama ruiu at google.com
Tue Nov 12 23:04:34 PST 2013


Author: ruiu
Date: Wed Nov 13 01:04:33 2013
New Revision: 194560

URL: http://llvm.org/viewvc/llvm-project?rev=194560&view=rev
Log:
[PECOFF] Make ReaderCOFF more robust against planned identity_magic() changes.

No functionality change.

Modified:
    lld/trunk/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp

Modified: lld/trunk/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp?rev=194560&r1=194559&r2=194560&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp (original)
+++ lld/trunk/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp Wed Nov 13 01:04:33 2013
@@ -758,9 +758,9 @@ public:
 
     if (fileType == llvm::sys::fs::file_magic::windows_resource)
       return convertAndParseResourceFile(mb, result);
-    if (fileType == llvm::sys::fs::file_magic::coff_object)
-      return parseCOFFFile(mb, result);
-    return lld::coff::parseCOFFImportLibrary(_context, mb, result);
+    if (isImportLibrary(magic))
+      return lld::coff::parseCOFFImportLibrary(_context, mb, result);
+    return parseCOFFFile(mb, result);
   }
 
 private:
@@ -929,6 +929,10 @@ private:
     return error_code::success();
   }
 
+  static bool isImportLibrary(StringRef magic) {
+    return magic[2] == (char)0xff && magic[3] == (char)0xff;
+  }
+
   PECOFFLinkingContext &_PECOFFLinkingContext;
   mutable BumpPtrStringSaver _stringSaver;
 };





More information about the llvm-commits mailing list