summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-readobj/llvm-readobj.cpp
diff options
context:
space:
mode:
authorLang Hames <lhames@gmail.com>2015-06-26 23:56:53 +0000
committerLang Hames <lhames@gmail.com>2015-06-26 23:56:53 +0000
commit0000afd88cc35d6febd25c72f484b22378897737 (patch)
treea5e8e0565506a1dcdd44174363cf95ef815a8fb7 /llvm/tools/llvm-readobj/llvm-readobj.cpp
parent605e1f6b6cb8bba842a08ef5d59eee3e42f5a834 (diff)
downloadbcm5719-llvm-0000afd88cc35d6febd25c72f484b22378897737.tar.gz
bcm5719-llvm-0000afd88cc35d6febd25c72f484b22378897737.zip
[StackMaps] Add a lightweight parser for stackmap version 1 sections.
The parser provides a convenient interface for reading llvm stackmap v1 sections in object files. This patch also includes a new option for llvm-readobj, '-stackmap', which uses the parser to pretty-print stackmap sections for debugging/testing purposes. llvm-svn: 240860
Diffstat (limited to 'llvm/tools/llvm-readobj/llvm-readobj.cpp')
-rw-r--r--llvm/tools/llvm-readobj/llvm-readobj.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/llvm/tools/llvm-readobj/llvm-readobj.cpp b/llvm/tools/llvm-readobj/llvm-readobj.cpp
index 3a6483a1386..222c1a13600 100644
--- a/llvm/tools/llvm-readobj/llvm-readobj.cpp
+++ b/llvm/tools/llvm-readobj/llvm-readobj.cpp
@@ -176,6 +176,12 @@ namespace opts {
cl::opt<bool>
COFFBaseRelocs("coff-basereloc",
cl::desc("Display the PE/COFF .reloc section"));
+
+ // -stackmap
+ cl::opt<bool>
+ PrintStackMap("stackmap",
+ cl::desc("Display contents of stackmap section"));
+
} // namespace opts
static int ReturnValue = EXIT_SUCCESS;
@@ -316,6 +322,9 @@ static void dumpObject(const ObjectFile *Obj) {
Dumper->printCOFFDirectives();
if (opts::COFFBaseRelocs)
Dumper->printCOFFBaseReloc();
+
+ if (opts::PrintStackMap)
+ Dumper->printStackMap();
}
/// @brief Dumps each object file in \a Arc;
OpenPOWER on IntegriCloud