diff options
author | Alexey Samsonov <samsonov@google.com> | 2014-05-17 00:07:48 +0000 |
---|---|---|
committer | Alexey Samsonov <samsonov@google.com> | 2014-05-17 00:07:48 +0000 |
commit | bf6e3f925757fcdb57b4a0ba5a71ceedf95f32e4 (patch) | |
tree | 766b472982f1c517f2b44e63609987a0163b3fc6 /tools/llvm-symbolizer/llvm-symbolizer.cpp | |
parent | 2d1fa5f718bc53d9b3867371f0941889f02bea3a (diff) | |
download | llvm-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.cpp | 13 |
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), |