diff options
author | Alexey Samsonov <vonosmas@gmail.com> | 2015-10-30 00:40:20 +0000 |
---|---|---|
committer | Alexey Samsonov <vonosmas@gmail.com> | 2015-10-30 00:40:20 +0000 |
commit | 46c1ce6ff5aecd4a101f5b609c88f88f4ae06695 (patch) | |
tree | 14feac5dfe28013d3724365b307b5683608a8cbd /llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp | |
parent | e31e67719cb16d8f3d4280ace700582ae5811f90 (diff) | |
download | bcm5719-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.cpp | 7 |
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); |