summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
diff options
context:
space:
mode:
authorAlexey Samsonov <vonosmas@gmail.com>2015-10-30 00:40:20 +0000
committerAlexey Samsonov <vonosmas@gmail.com>2015-10-30 00:40:20 +0000
commit46c1ce6ff5aecd4a101f5b609c88f88f4ae06695 (patch)
tree14feac5dfe28013d3724365b307b5683608a8cbd /llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
parente31e67719cb16d8f3d4280ace700582ae5811f90 (diff)
downloadbcm5719-llvm-46c1ce6ff5aecd4a101f5b609c88f88f4ae06695.tar.gz
bcm5719-llvm-46c1ce6ff5aecd4a101f5b609c88f88f4ae06695.zip
Let the users of LLVMSymbolizer decide whether they want to symbolize inlined frames.
Introduce LLVMSymbolizer::symbolizeInlinedCode() instead of switching on PrintInlining option passed to the constructor. This will be needed once we retrun structured data (instead of std::string) from LLVMSymbolizer and move printing logic out. llvm-svn: 251675
Diffstat (limited to 'llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp')
-rw-r--r--llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp b/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
index 5784e6ba5d9..b75f1bc7122 100644
--- a/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
+++ b/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
@@ -133,8 +133,7 @@ int main(int argc, char **argv) {
llvm::sys::InitializeCOMRAII COM(llvm::sys::COMThreadingMode::MultiThreaded);
cl::ParseCommandLineOptions(argc, argv, "llvm-symbolizer\n");
- LLVMSymbolizer::Options Opts(ClPrintFunctions, ClUseSymbolTable,
- ClPrintInlining, ClDemangle,
+ LLVMSymbolizer::Options Opts(ClPrintFunctions, ClUseSymbolTable, ClDemangle,
ClUseRelativeAddress, ClDefaultArch);
for (const auto &hint : ClDsymHint) {
if (sys::path::extension(hint) == ".dSYM") {
@@ -152,7 +151,9 @@ int main(int argc, char **argv) {
while (parseCommand(IsData, ModuleName, ModuleOffset)) {
std::string Result =
IsData ? Symbolizer.symbolizeData(ModuleName, ModuleOffset)
- : Symbolizer.symbolizeCode(ModuleName, ModuleOffset);
+ : ClPrintInlining
+ ? Symbolizer.symbolizeInlinedCode(ModuleName, ModuleOffset)
+ : Symbolizer.symbolizeCode(ModuleName, ModuleOffset);
if (ClPrintAddress) {
outs() << "0x";
outs().write_hex(ModuleOffset);
OpenPOWER on IntegriCloud