DIEHash: Include the trailing zero byte after the children of a DIE

llvm-svn: 192836
This commit is contained in:
David Blaikie 2013-10-16 20:29:06 +00:00
parent 1a7cf8c23a
commit 71a0ad66a9
2 changed files with 4 additions and 1 deletions

View File

@ -383,6 +383,9 @@ void DIEHash::computeHash(DIE *Die) {
E = Die->getChildren().end();
I != E; ++I)
computeHash(*I);
// Following the last (or if there are no children), append a zero byte.
Hash.update((uint8_t)0);
}
/// This is based on the type signature computation given in section 7.27 of the

View File

@ -23,6 +23,6 @@ TEST(DIEHashData1Test, DIEHash) {
DIEInteger Size(4);
Die.addValue(dwarf::DW_AT_byte_size, dwarf::DW_FORM_data1, &Size);
uint64_t MD5Res = Hash.computeTypeSignature(&Die);
ASSERT_EQ(MD5Res, 0x540e9ff30ade3e4aULL);
ASSERT_EQ(MD5Res, 0x4F68EF1039F8D2BULL);
}
}