diff options
| author | Martin Storsjo <martin@martin.st> | 2017-11-03 07:18:21 +0000 |
|---|---|---|
| committer | Martin Storsjo <martin@martin.st> | 2017-11-03 07:18:21 +0000 |
| commit | c632086ab80e6cefb5b7e7d0b0bc817c5d5898a4 (patch) | |
| tree | 03a8cb78976de0cf5a93f8f1c694e37a5286e52a /llvm | |
| parent | 1401524e20ddc7ec5839d86a87a10ee32b67dae1 (diff) | |
| download | bcm5719-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.test | 1 | ||||
| -rw-r--r-- | llvm/tools/llvm-nm/llvm-nm.cpp | 6 |
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); |

