Use MD5::hash(). NFC.

llvm-svn: 303893
This commit is contained in:
Rui Ueyama 2017-05-25 18:17:43 +00:00
parent 40d54d408b
commit 236e781011
1 changed files with 6 additions and 10 deletions

View File

@ -805,19 +805,15 @@ void Writer::writeBuildId() {
if (BuildId == nullptr)
return;
MD5 Hash;
MD5::MD5Result Res;
Hash.update(ArrayRef<uint8_t>{Buffer->getBufferStart(),
Buffer->getBufferEnd()});
Hash.final(Res);
assert(BuildId->DI->Signature.CVSignature == OMF::Signature::PDB70 &&
"only PDB 7.0 is supported");
assert(sizeof(Res) == sizeof(BuildId->DI->PDB70.Signature) &&
assert(sizeof(BuildId->DI->PDB70.Signature) == 16 &&
"signature size mismatch");
memcpy(BuildId->DI->PDB70.Signature, Res.Bytes.data(),
sizeof(codeview::PDB70DebugInfo::Signature));
// Compute an MD5 hash.
ArrayRef<uint8_t> Buf(Buffer->getBufferStart(), Buffer->getBufferEnd());
memcpy(BuildId->DI->PDB70.Signature, MD5::hash(Buf).data(), 16);
// TODO(compnerd) track the Age
BuildId->DI->PDB70.Age = 1;
}