[PATCH] D24370: Add support for writing TPI hash values

Zachary Turner via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 8 19:40:19 PDT 2016


zturner created this revision.
zturner added reviewers: ruiu, rnk, amccarth.
zturner added a subscriber: llvm-commits.
Herald added a subscriber: beanz.

This only adds support for writing hash values of the record types we currently understand.  For all other record types, we write a hash value of 0.  A quick look at a PDB generated by Microsoft confirms that they have actual values for every single recofd type, so we will likely need to do some more work to figure out how to hash these other record types.  It's probably as trivial as just applying one of these hashing functions to the entire record contents, mostly just need to try it and see.

https://reviews.llvm.org/D24370

Files:
  include/llvm/DebugInfo/CodeView/CVRecord.h
  include/llvm/DebugInfo/CodeView/TypeSerializationVisitor.h
  include/llvm/DebugInfo/MSF/MSFBuilder.h
  include/llvm/DebugInfo/PDB/Raw/DbiStreamBuilder.h
  include/llvm/DebugInfo/PDB/Raw/InfoStreamBuilder.h
  include/llvm/DebugInfo/PDB/Raw/RawConstants.h
  include/llvm/DebugInfo/PDB/Raw/TpiRecordHashVisitor.h
  include/llvm/DebugInfo/PDB/Raw/TpiStream.h
  include/llvm/DebugInfo/PDB/Raw/TpiStreamBuilder.h
  lib/DebugInfo/MSF/MSFBuilder.cpp
  lib/DebugInfo/PDB/CMakeLists.txt
  lib/DebugInfo/PDB/Raw/DbiStreamBuilder.cpp
  lib/DebugInfo/PDB/Raw/InfoStreamBuilder.cpp
  lib/DebugInfo/PDB/Raw/PDBFileBuilder.cpp
  lib/DebugInfo/PDB/Raw/TpiRecordHashVisitor.cpp
  lib/DebugInfo/PDB/Raw/TpiStream.cpp
  lib/DebugInfo/PDB/Raw/TpiStreamBuilder.cpp
  test/DebugInfo/PDB/pdbdump-readwrite.test
  test/DebugInfo/PDB/pdbdump-write.test
  tools/llvm-pdbdump/PdbYaml.cpp
  tools/llvm-pdbdump/llvm-pdbdump.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D24370.70774.patch
Type: text/x-patch
Size: 37888 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160909/f826e066/attachment.bin>


More information about the llvm-commits mailing list