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

No functionality change.

llvm-svn: 194560
This commit is contained in:
Rui Ueyama 2013-11-13 07:04:33 +00:00
parent 750db65bac
commit cc10b5b07e
1 changed files with 7 additions and 3 deletions

View File

@ -758,9 +758,9 @@ public:
if (fileType == llvm::sys::fs::file_magic::windows_resource) if (fileType == llvm::sys::fs::file_magic::windows_resource)
return convertAndParseResourceFile(mb, result); return convertAndParseResourceFile(mb, result);
if (fileType == llvm::sys::fs::file_magic::coff_object) if (isImportLibrary(magic))
return parseCOFFFile(mb, result); return lld::coff::parseCOFFImportLibrary(_context, mb, result);
return lld::coff::parseCOFFImportLibrary(_context, mb, result); return parseCOFFFile(mb, result);
} }
private: private:
@ -929,6 +929,10 @@ private:
return error_code::success(); return error_code::success();
} }
static bool isImportLibrary(StringRef magic) {
return magic[2] == (char)0xff && magic[3] == (char)0xff;
}
PECOFFLinkingContext &_PECOFFLinkingContext; PECOFFLinkingContext &_PECOFFLinkingContext;
mutable BumpPtrStringSaver _stringSaver; mutable BumpPtrStringSaver _stringSaver;
}; };