aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/DebugInfo/Symbolize/Symbolize.cpp
diff options
context:
space:
mode:
authorAlexey Samsonov <vonosmas@gmail.com>2015-10-26 20:12:29 +0000
committerAlexey Samsonov <vonosmas@gmail.com>2015-10-26 20:12:29 +0000
commitf3ecfd3af4b0200cf8c928abf4f29e41e83d881a (patch)
treee97ed6a00e3ce94dfabc66866b13d61f680e9a04 /llvm/lib/DebugInfo/Symbolize/Symbolize.cpp
parent1d3f3271ac99412029d48902d1b4783f9681d4f9 (diff)
downloadllvm-f3ecfd3af4b0200cf8c928abf4f29e41e83d881a.zip
llvm-f3ecfd3af4b0200cf8c928abf4f29e41e83d881a.tar.gz
llvm-f3ecfd3af4b0200cf8c928abf4f29e41e83d881a.tar.bz2
[LLVMSymbolize] Use symbol table only if function linkage name was requested.
Now it's enough to just specify -functions=short without additionally providing -use-symbol-table=false. llvm-svn: 251339
Diffstat (limited to 'llvm/lib/DebugInfo/Symbolize/Symbolize.cpp')
-rw-r--r--llvm/lib/DebugInfo/Symbolize/Symbolize.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/lib/DebugInfo/Symbolize/Symbolize.cpp b/llvm/lib/DebugInfo/Symbolize/Symbolize.cpp
index 303b6d4..6c81ec6 100644
--- a/llvm/lib/DebugInfo/Symbolize/Symbolize.cpp
+++ b/llvm/lib/DebugInfo/Symbolize/Symbolize.cpp
@@ -209,7 +209,8 @@ DILineInfo ModuleInfo::symbolizeCode(
ModuleOffset, getDILineInfoSpecifier(Opts));
}
// Override function name from symbol table if necessary.
- if (Opts.PrintFunctions != FunctionNameKind::None && Opts.UseSymbolTable) {
+ if (Opts.PrintFunctions == FunctionNameKind::LinkageName &&
+ Opts.UseSymbolTable) {
std::string FunctionName;
uint64_t Start, Size;
if (getNameFromSymbolTable(SymbolRef::ST_Function, ModuleOffset,
@@ -233,7 +234,8 @@ DIInliningInfo ModuleInfo::symbolizeInlinedCode(
InlinedContext.addFrame(DILineInfo());
}
// Override the function name in lower frame with name from symbol table.
- if (Opts.PrintFunctions != FunctionNameKind::None && Opts.UseSymbolTable) {
+ if (Opts.PrintFunctions == FunctionNameKind::LinkageName &&
+ Opts.UseSymbolTable) {
DIInliningInfo PatchedInlinedContext;
for (uint32_t i = 0, n = InlinedContext.getNumberOfFrames(); i < n; i++) {
DILineInfo LineInfo = InlinedContext.getFrame(i);