OSDN Git Service

[CodeView] Support remaining debug subsection types
authorZachary Turner <zturner@google.com>
Fri, 9 Jun 2017 00:28:08 +0000 (00:28 +0000)
committerZachary Turner <zturner@google.com>
Fri, 9 Jun 2017 00:28:08 +0000 (00:28 +0000)
commit68ca30aa362b18b755319022898494135be8acb1
treee70ccc27c4248d19e2185f1bd5c67935d2b54ad5
parent9cc66ac05da859f73ef2987764de54384e9f191c
[CodeView] Support remaining debug subsection types

This adds support for Symbols, StringTable, and FrameData subsection
types.  Even though these subsections rarely if ever appear in a PDB
file (they are usually in object files), there's no theoretical reason
why they *couldn't* appear in a PDB.  The real issue though is that in
order to add support for dumping and writing them (which will be useful
for object files), we need a way to test them.  And since there is no
support for reading and writing them to / from object files yet, making
PDB support them is the best way to both add support for the underlying
format and add support for tests at the same time.  Later, when we go
to add support for reading / writing them from object files, we'll need
only minimal changes in the underlying read/write code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@305037 91177308-0d34-0410-b5e6-96231b3b80d8
19 files changed:
include/llvm/DebugInfo/CodeView/DebugStringTableSubsection.h
include/llvm/DebugInfo/CodeView/DebugSubsectionRecord.h
include/llvm/DebugInfo/CodeView/DebugSubsectionVisitor.h
include/llvm/DebugInfo/CodeView/DebugSymbolsSubsection.h
include/llvm/DebugInfo/CodeView/TypeSerializer.h
include/llvm/DebugInfo/CodeView/TypeTableBuilder.h
include/llvm/ObjectYAML/CodeViewYAMLDebugSections.h
include/llvm/ObjectYAML/CodeViewYAMLTypes.h
lib/DebugInfo/CodeView/DebugStringTableSubsection.cpp
lib/DebugInfo/CodeView/DebugSubsectionRecord.cpp
lib/DebugInfo/CodeView/DebugSubsectionVisitor.cpp
lib/ObjectYAML/CodeViewYAMLDebugSections.cpp
lib/ObjectYAML/CodeViewYAMLTypes.cpp
test/DebugInfo/PDB/Inputs/debug-subsections.yaml
test/DebugInfo/PDB/pdbdump-debug-subsections.test
tools/llvm-pdbdump/LLVMOutputStyle.cpp
tools/llvm-pdbdump/YAMLOutputStyle.cpp
tools/llvm-pdbdump/llvm-pdbdump.cpp
tools/llvm-pdbdump/llvm-pdbdump.h