summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorMartin Storsjo <martin@martin.st>2017-11-03 07:18:21 +0000
committerMartin Storsjo <martin@martin.st>2017-11-03 07:18:21 +0000
commitc632086ab80e6cefb5b7e7d0b0bc817c5d5898a4 (patch)
tree03a8cb78976de0cf5a93f8f1c694e37a5286e52a /llvm
parent1401524e20ddc7ec5839d86a87a10ee32b67dae1 (diff)
downloadbcm5719-llvm-c632086ab80e6cefb5b7e7d0b0bc817c5d5898a4.tar.gz
bcm5719-llvm-c632086ab80e6cefb5b7e7d0b0bc817c5d5898a4.zip
[llvm-nm] Don't error out on multiple occurrances of the -g/--external-only flag
GNU binutils nm doesn't error out on this, and some projects' build systems can end up doing that in some cases. Allowing that seems like a better target than trying to avoid user projects passing multiple -g parameters to $NM. Differential Revision: https://reviews.llvm.org/D39539 llvm-svn: 317301
Diffstat (limited to 'llvm')
-rw-r--r--llvm/test/tools/llvm-nm/X86/externalonly.test1
-rw-r--r--llvm/tools/llvm-nm/llvm-nm.cpp6
2 files changed, 5 insertions, 2 deletions
diff --git a/llvm/test/tools/llvm-nm/X86/externalonly.test b/llvm/test/tools/llvm-nm/X86/externalonly.test
index c3741298786..2a1853b426f 100644
--- a/llvm/test/tools/llvm-nm/X86/externalonly.test
+++ b/llvm/test/tools/llvm-nm/X86/externalonly.test
@@ -1,4 +1,5 @@
# RUN: llvm-nm -g %p/Inputs/hello.obj.macho-x86_64 | FileCheck %s
+# RUN: llvm-nm -g -g %p/Inputs/hello.obj.macho-x86_64 | FileCheck %s
# CHECK-NOT: EH_frame0
# CHECK: _main
diff --git a/llvm/tools/llvm-nm/llvm-nm.cpp b/llvm/tools/llvm-nm/llvm-nm.cpp
index 1b093f501d5..85204300284 100644
--- a/llvm/tools/llvm-nm/llvm-nm.cpp
+++ b/llvm/tools/llvm-nm/llvm-nm.cpp
@@ -85,9 +85,11 @@ cl::alias DefinedOnly2("U", cl::desc("Alias for --defined-only"),
cl::aliasopt(DefinedOnly), cl::Grouping);
cl::opt<bool> ExternalOnly("extern-only",
- cl::desc("Show only external symbols"));
+ cl::desc("Show only external symbols"),
+ cl::ZeroOrMore);
cl::alias ExternalOnly2("g", cl::desc("Alias for --extern-only"),
- cl::aliasopt(ExternalOnly), cl::Grouping);
+ cl::aliasopt(ExternalOnly), cl::Grouping,
+ cl::ZeroOrMore);
cl::opt<bool> BSDFormat("B", cl::desc("Alias for --format=bsd"),
cl::Grouping);
OpenPOWER on IntegriCloud