[LLVMSymbolize] Use symbol table only if function linkage name was requested.
authorAlexey Samsonov <vonosmas@gmail.com>
Mon, 26 Oct 2015 20:12:29 +0000 (20:12 +0000)
committerAlexey Samsonov <vonosmas@gmail.com>
Mon, 26 Oct 2015 20:12:29 +0000 (20:12 +0000)
Now it's enough to just specify -functions=short without additionally
providing -use-symbol-table=false.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@251339 91177308-0d34-0410-b5e6-96231b3b80d8

lib/DebugInfo/Symbolize/Symbolize.cpp
test/DebugInfo/llvm-symbolizer.test

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);
index 8a2aaaab3a3cdc434871b4d7d2f9301e1b1981c7..69619b0261d19d703a3860563a6ded85a39395ce 100644 (file)
@@ -154,7 +154,7 @@ RUN:   | FileCheck %s --check-prefix=STRIPPED
 STRIPPED:  global_func
 
 RUN: echo "%p/Inputs/dwarfdump-test4.elf-x86-64 0x62c" > %t.input7
-RUN: llvm-symbolizer --functions=short --use-symbol-table=false --demangle=false < %t.input7 \
+RUN: llvm-symbolizer --functions=short --demangle=false < %t.input7 \
 RUN:    | FileCheck %s --check-prefix=SHORT_FUNCTION_NAME
 
 SHORT_FUNCTION_NAME-NOT: _Z1cv