[PATCH] D34127: Make obj2yaml and yaml2obj support .debug$S and .debug$T sections

Zachary Turner via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 12 17:57:26 PDT 2017


zturner created this revision.
Herald added subscribers: hiraditya, fhahn, mgorny.

This allows us to use `yaml2obj` and `obj2yaml` to round-trip CodeView symbol and type information without having to manually specify the bytes of the section.  This makes for much easier to maintain tests.  See the tests under `lld/COFF` in this patch for example.  Before they just said `SectionData: <blob>` whereas now we can use meaningful record descriptions.  Note that it still supports the `SectionData` yaml field, which could be useful for initializing a section to invalid bytes for testing, for example.


https://reviews.llvm.org/D34127

Files:
  lld/test/COFF/Inputs/pdb1.yaml
  lld/test/COFF/Inputs/pdb2.yaml
  lld/test/COFF/sort-debug.test
  llvm/include/llvm/DebugInfo/CodeView/DebugFrameDataSubsection.h
  llvm/include/llvm/DebugInfo/CodeView/DebugSubsectionRecord.h
  llvm/include/llvm/DebugInfo/CodeView/DebugSubsectionVisitor.h
  llvm/include/llvm/DebugInfo/CodeView/StringsAndChecksums.h
  llvm/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.h
  llvm/include/llvm/DebugInfo/PDB/Native/PDBStringTableBuilder.h
  llvm/include/llvm/ObjectYAML/COFFYAML.h
  llvm/include/llvm/ObjectYAML/CodeViewYAMLDebugSections.h
  llvm/include/llvm/ObjectYAML/CodeViewYAMLTypes.h
  llvm/lib/DebugInfo/CodeView/CMakeLists.txt
  llvm/lib/DebugInfo/CodeView/DebugStringTableSubsection.cpp
  llvm/lib/DebugInfo/CodeView/DebugSubsectionRecord.cpp
  llvm/lib/DebugInfo/CodeView/DebugSubsectionVisitor.cpp
  llvm/lib/DebugInfo/CodeView/StringsAndChecksums.cpp
  llvm/lib/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.cpp
  llvm/lib/DebugInfo/PDB/Native/PDBStringTableBuilder.cpp
  llvm/lib/ObjectYAML/COFFYAML.cpp
  llvm/lib/ObjectYAML/CodeViewYAMLDebugSections.cpp
  llvm/lib/ObjectYAML/CodeViewYAMLTypes.cpp
  llvm/tools/llvm-pdbutil/LLVMOutputStyle.cpp
  llvm/tools/llvm-pdbutil/YAMLOutputStyle.cpp
  llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
  llvm/tools/obj2yaml/coff2yaml.cpp
  llvm/tools/yaml2obj/yaml2coff.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D34127.102270.patch
Type: text/x-patch
Size: 85246 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170613/7f11a6e1/attachment-0001.bin>


More information about the llvm-commits mailing list