[LLVMSymbolize] Use symbol table only if function linkage name was requested.
[oota-llvm.git] / lib / DebugInfo / Symbolize / Symbolize.cpp
index 303b6d4236ac4098dd28b3052fb622412509f3d4..6c81ec632837bc2bfbb4e66a28b404c47221a5a7 100644 (file)
@@ -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);