summaryrefslogtreecommitdiffstats
path: root/llvm/tools
diff options
context:
space:
mode:
authorZachary Turner <zturner@google.com>2017-06-09 20:46:52 +0000
committerZachary Turner <zturner@google.com>2017-06-09 20:46:52 +0000
commit3226fe95bbb8b6bcc477ce7ec4f158a20669694d (patch)
tree1d4d6f4ca5207c72ae037268eee150f0a2c5fd58 /llvm/tools
parent6455b0dbf3131a5f1df3fb9f2207ae728f0ef937 (diff)
downloadbcm5719-llvm-3226fe95bbb8b6bcc477ce7ec4f158a20669694d.tar.gz
bcm5719-llvm-3226fe95bbb8b6bcc477ce7ec4f158a20669694d.zip
[pdb] Support CoffSymbolRVA debug subsection.
llvm-svn: 305108
Diffstat (limited to 'llvm/tools')
-rw-r--r--llvm/tools/llvm-pdbutil/LLVMOutputStyle.cpp11
-rw-r--r--llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp2
-rw-r--r--llvm/tools/llvm-pdbutil/llvm-pdbutil.h1
3 files changed, 14 insertions, 0 deletions
diff --git a/llvm/tools/llvm-pdbutil/LLVMOutputStyle.cpp b/llvm/tools/llvm-pdbutil/LLVMOutputStyle.cpp
index 8096ceda942..824f88f8efd 100644
--- a/llvm/tools/llvm-pdbutil/LLVMOutputStyle.cpp
+++ b/llvm/tools/llvm-pdbutil/LLVMOutputStyle.cpp
@@ -22,6 +22,7 @@
#include "llvm/DebugInfo/CodeView/DebugLinesSubsection.h"
#include "llvm/DebugInfo/CodeView/DebugStringTableSubsection.h"
#include "llvm/DebugInfo/CodeView/DebugSubsectionVisitor.h"
+#include "llvm/DebugInfo/CodeView/DebugSymbolRVASubsection.h"
#include "llvm/DebugInfo/CodeView/DebugSymbolsSubsection.h"
#include "llvm/DebugInfo/CodeView/DebugUnknownSubsection.h"
#include "llvm/DebugInfo/CodeView/EnumTables.h"
@@ -286,6 +287,16 @@ public:
return Error::success();
}
+ Error visitCOFFSymbolRVAs(DebugSymbolRVASubsectionRef &RVAs,
+ const DebugSubsectionState &State) override {
+ if (!opts::checkModuleSubsection(opts::ModuleSubsection::CoffSymbolRVAs))
+ return Error::success();
+
+ ListScope D(P, "COFF Symbol RVAs");
+ P.printHexList("RVAs", RVAs);
+ return Error::success();
+ }
+
private:
Error dumpTypeRecord(StringRef Label, TypeIndex Index) {
CompactTypeDumpVisitor CTDV(IPI, Index, &P);
diff --git a/llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp b/llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
index fa2a5bdd9d3..f6b6a156a76 100644
--- a/llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
+++ b/llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
@@ -442,6 +442,8 @@ cl::list<ModuleSubsection> DumpModuleSubsections(
clEnumValN(ModuleSubsection::Symbols, "symbols",
"Symbols (DEBUG_S_SYMBOLS subsection) (not typically "
"present in PDB file)"),
+ clEnumValN(ModuleSubsection::CoffSymbolRVAs, "rvas",
+ "COFF Symbol RVAs (DEBUG_S_COFF_SYMBOL_RVA subsection)"),
clEnumValN(ModuleSubsection::Unknown, "unknown",
"Any subsection not covered by another option"),
clEnumValN(ModuleSubsection::All, "all", "All known subsections")),
diff --git a/llvm/tools/llvm-pdbutil/llvm-pdbutil.h b/llvm/tools/llvm-pdbutil/llvm-pdbutil.h
index 4f3665237c7..f1699d0bb55 100644
--- a/llvm/tools/llvm-pdbutil/llvm-pdbutil.h
+++ b/llvm/tools/llvm-pdbutil/llvm-pdbutil.h
@@ -37,6 +37,7 @@ enum class ModuleSubsection {
StringTable,
Symbols,
FrameData,
+ CoffSymbolRVAs,
All
};
OpenPOWER on IntegriCloud