summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorIgor Kudrin <ikudrin@accesssoftek.com>2019-04-04 08:45:06 +0000
committerIgor Kudrin <ikudrin@accesssoftek.com>2019-04-04 08:45:06 +0000
commit734a2bc7378482fc5dc593be2021c9ea9e3196f6 (patch)
tree4cce8cfeef2f07cbedbe492e7073677d49cb3a84 /llvm
parent0fed7b0564801eb481332b0c9ab0259a9866164b (diff)
downloadbcm5719-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.s2
-rw-r--r--llvm/test/tools/llvm-symbolizer/flag-grouping.test3
-rw-r--r--llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp7
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(""),
OpenPOWER on IntegriCloud