diff options
author | Igor Kudrin <ikudrin@accesssoftek.com> | 2019-04-04 08:45:06 +0000 |
---|---|---|
committer | Igor Kudrin <ikudrin@accesssoftek.com> | 2019-04-04 08:45:06 +0000 |
commit | 734a2bc7378482fc5dc593be2021c9ea9e3196f6 (patch) | |
tree | 4cce8cfeef2f07cbedbe492e7073677d49cb3a84 /llvm | |
parent | 0fed7b0564801eb481332b0c9ab0259a9866164b (diff) | |
download | bcm5719-llvm-734a2bc7378482fc5dc593be2021c9ea9e3196f6.tar.gz bcm5719-llvm-734a2bc7378482fc5dc593be2021c9ea9e3196f6.zip |
[llvm-symbolizer] Allow more flexible usage of -e.
addr2line allows -e to be grouped with other options; it also allows it
to prefix the value. Thus, all the following usages are possible:
* addr2line -f -e <bin> <addr>
* addr2line -fe <bin> <addr>
* addr2line -f e<bin> <addr>
* addr2line -fe<bin> <addr>
This patch adds the same for llvm-symbolizer.
Differential Revision: https://reviews.llvm.org/D60196
llvm-svn: 357676
Diffstat (limited to 'llvm')
-rw-r--r-- | llvm/test/tools/llvm-symbolizer/basic.s | 2 | ||||
-rw-r--r-- | llvm/test/tools/llvm-symbolizer/flag-grouping.test | 3 | ||||
-rw-r--r-- | llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp | 7 |
3 files changed, 8 insertions, 4 deletions
diff --git a/llvm/test/tools/llvm-symbolizer/basic.s b/llvm/test/tools/llvm-symbolizer/basic.s index c966f985a50..b9d5c814024 100644 --- a/llvm/test/tools/llvm-symbolizer/basic.s +++ b/llvm/test/tools/llvm-symbolizer/basic.s @@ -17,7 +17,9 @@ foo: # Check --obj aliases --exe, -e # RUN: llvm-symbolizer 0xa 0xb --exe=%t.o | FileCheck %s +# RUN: llvm-symbolizer 0xa 0xb -e %t.o | FileCheck %s # RUN: llvm-symbolizer 0xa 0xb -e=%t.o | FileCheck %s +# RUN: llvm-symbolizer 0xa 0xb -e%t.o | FileCheck %s # CHECK: basic.s:5:0 # CHECK: basic.s:6:0 diff --git a/llvm/test/tools/llvm-symbolizer/flag-grouping.test b/llvm/test/tools/llvm-symbolizer/flag-grouping.test index 9341eca8bdc..edc6d02c2b9 100644 --- a/llvm/test/tools/llvm-symbolizer/flag-grouping.test +++ b/llvm/test/tools/llvm-symbolizer/flag-grouping.test @@ -1,4 +1,7 @@ RUN: llvm-symbolizer -apCi -obj=%p/Inputs/addr.exe < %p/Inputs/addr.inp | FileCheck %s +RUN: llvm-symbolizer -apCie %p/Inputs/addr.exe < %p/Inputs/addr.inp | FileCheck %s +RUN: llvm-symbolizer -apCie=%p/Inputs/addr.exe < %p/Inputs/addr.inp | FileCheck %s +RUN: llvm-symbolizer -apCie%p/Inputs/addr.exe < %p/Inputs/addr.inp | FileCheck %s CHECK: some text CHECK: 0x40054d: inctwo diff --git a/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp b/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp index e410cfe1493..359c64b37ce 100644 --- a/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp +++ b/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp @@ -94,10 +94,9 @@ ClBinaryName("obj", cl::init(""), static cl::alias ClBinaryNameAliasExe("exe", cl::desc("Alias for -obj"), cl::NotHidden, cl::aliasopt(ClBinaryName)); -static cl::alias -ClBinaryNameAliasE("e", cl::desc("Alias for -obj"), - cl::NotHidden, cl::aliasopt(ClBinaryName)); - +static cl::alias ClBinaryNameAliasE("e", cl::desc("Alias for -obj"), + cl::NotHidden, cl::Grouping, cl::Prefix, + cl::aliasopt(ClBinaryName)); static cl::opt<std::string> ClDwpName("dwp", cl::init(""), |