summaryrefslogtreecommitdiff
path: root/tools/llvm-symbolizer/llvm-symbolizer.cpp
diff options
context:
space:
mode:
authorAlexey Samsonov <samsonov@google.com>2014-05-17 00:07:48 +0000
committerAlexey Samsonov <samsonov@google.com>2014-05-17 00:07:48 +0000
commitbf6e3f925757fcdb57b4a0ba5a71ceedf95f32e4 (patch)
tree766b472982f1c517f2b44e63609987a0163b3fc6 /tools/llvm-symbolizer/llvm-symbolizer.cpp
parent2d1fa5f718bc53d9b3867371f0941889f02bea3a (diff)
downloadllvm-bf6e3f925757fcdb57b4a0ba5a71ceedf95f32e4.tar.gz
llvm-bf6e3f925757fcdb57b4a0ba5a71ceedf95f32e4.tar.bz2
llvm-bf6e3f925757fcdb57b4a0ba5a71ceedf95f32e4.tar.xz
[DWARF parser] Teach DIContext to fetch short (non-linkage) function names for a given address.
Change --functions option in llvm-symbolizer tool to accept values "none", "short" or "linkage". Update the tests and docs accordingly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@209050 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/llvm-symbolizer/llvm-symbolizer.cpp')
-rw-r--r--tools/llvm-symbolizer/llvm-symbolizer.cpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/tools/llvm-symbolizer/llvm-symbolizer.cpp b/tools/llvm-symbolizer/llvm-symbolizer.cpp
index 1680470f85..29db172531 100644
--- a/tools/llvm-symbolizer/llvm-symbolizer.cpp
+++ b/tools/llvm-symbolizer/llvm-symbolizer.cpp
@@ -35,10 +35,15 @@ ClUseSymbolTable("use-symbol-table", cl::init(true),
cl::desc("Prefer names in symbol table to names "
"in debug info"));
-static cl::opt<bool>
-ClPrintFunctions("functions", cl::init(true),
- cl::desc("Print function names as well as line "
- "information for a given address"));
+static cl::opt<FunctionNameKind> ClPrintFunctions(
+ "functions", cl::init(FunctionNameKind::LinkageName),
+ cl::desc("Print function name for a given address:"),
+ cl::values(clEnumValN(FunctionNameKind::None, "none", "omit function name"),
+ clEnumValN(FunctionNameKind::ShortName, "short",
+ "print short function name"),
+ clEnumValN(FunctionNameKind::LinkageName, "linkage",
+ "print function linkage name"),
+ clEnumValEnd));
static cl::opt<bool>
ClPrintInlining("inlining", cl::init(true),