[PATCH] D34898: [PDB] Fill in "Parent" and "End" fields of scope-like symbol records

Reid Kleckner via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 30 10:26:32 PDT 2017


rnk created this revision.

There are a variety of records that open scopes: function scopes, block
scopes, and inlined call site scopes. These symbol records contain
Parent and End fields with the offsets of other symbol records. The End
field contains the offset of the matching S_END or S_INLINESITE_END
record. The Parent field contains the offset of the parent record, or 0
if this is a top-level scope (i.e. a function).

With this change, `llvm-pdbutil pretty -all` no longer crashes on PDBs
produced by LLD. I haven't tried a real debugger yet.


https://reviews.llvm.org/D34898

Files:
  lld/COFF/PDB.cpp
  lld/test/COFF/Inputs/pdb-scopes-a.yaml
  lld/test/COFF/Inputs/pdb-scopes-b.yaml
  lld/test/COFF/pdb-comdat.test
  lld/test/COFF/pdb-scopes.test
  lld/test/COFF/pdb-symbol-types.yaml
  llvm/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.h

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D34898.104892.patch
Type: text/x-patch
Size: 47289 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170630/5bf41814/attachment.bin>


More information about the llvm-commits mailing list