summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
Diffstat (limited to 'llvm')
-rw-r--r--llvm/test/tools/llvm-objdump/ARM/reg-names.s18
-rw-r--r--llvm/test/tools/llvm-objdump/section-filter.test25
-rw-r--r--llvm/tools/llvm-objdump/llvm-objdump.cpp5
3 files changed, 42 insertions, 6 deletions
diff --git a/llvm/test/tools/llvm-objdump/ARM/reg-names.s b/llvm/test/tools/llvm-objdump/ARM/reg-names.s
index 51f3dc337d3..e1e12d8ba59 100644
--- a/llvm/test/tools/llvm-objdump/ARM/reg-names.s
+++ b/llvm/test/tools/llvm-objdump/ARM/reg-names.s
@@ -12,6 +12,24 @@
@ RUN: | FileCheck -check-prefix=ERR %s
@ ERR: Unrecognized disassembler option: unknown
+@ Test that the -M alias can be used flexibly. Create a baseline and ensure
+@ all other combinations are identical.
+@ RUN: llvm-objdump -d --disassembler-options=reg-names-raw %t > %t.raw
+@ RUN: llvm-objdump -d -M reg-names-raw %t > %t.1
+@ RUN: llvm-objdump -d -Mreg-names-raw %t > %t.2
+@ RUN: llvm-objdump -d -Mreg-names-std -Mreg-names-raw %t > %t.3
+@ RUN: llvm-objdump -d -Mreg-names-std,reg-names-raw %t > %t.4
+@ RUN: llvm-objdump -dM reg-names-std,reg-names-raw %t > %t.5
+@ RUN: llvm-objdump -dMreg-names-std,reg-names-raw %t > %t.6
+@ RUN: llvm-objdump -dMreg-names-std -Mreg-names-raw %t > %t.7
+@ RUN: cmp %t.raw %t.1
+@ RUN: cmp %t.raw %t.2
+@ RUN: cmp %t.raw %t.3
+@ RUN: cmp %t.raw %t.4
+@ RUN: cmp %t.raw %t.5
+@ RUN: cmp %t.raw %t.6
+@ RUN: cmp %t.raw %t.7
+
.text
add r13, r14, r15
@ STD: add sp, lr, pc
diff --git a/llvm/test/tools/llvm-objdump/section-filter.test b/llvm/test/tools/llvm-objdump/section-filter.test
index 9c7ab31b0d7..2b41371d1b8 100644
--- a/llvm/test/tools/llvm-objdump/section-filter.test
+++ b/llvm/test/tools/llvm-objdump/section-filter.test
@@ -1,7 +1,24 @@
-// This test checks that --section works correctly
+// This test checks that --section works correctly.
// RUN: llvm-objdump -h %p/Inputs/section-filter.obj -j=.text \
// RUN: --section=.bss | FileCheck %s
-# CHECK: .text
-# CHECK-NOT: .data
-# CHECK: .bss \ No newline at end of file
+// CHECK: .text
+// CHECK-NOT: .data
+// CHECK: .bss
+
+// Test that the -j alias can be used flexibly. Create a baseline and ensure
+// all other combinations are identical.
+// RUN: llvm-objdump %p/Inputs/section-filter.obj -h -s --section .symtab > %t.full
+// RUN: llvm-objdump %p/Inputs/section-filter.obj -h -s -j .symtab > %t.1
+// RUN: llvm-objdump %p/Inputs/section-filter.obj -h -s -j=.symtab > %t.2
+// RUN: llvm-objdump %p/Inputs/section-filter.obj -h -s -j.symtab > %t.3
+// RUN: llvm-objdump %p/Inputs/section-filter.obj -hsj .symtab > %t.4
+// RUN: llvm-objdump %p/Inputs/section-filter.obj -hsj=.symtab > %t.5
+// RUN: llvm-objdump %p/Inputs/section-filter.obj -hsj.symtab > %t.6
+
+// RUN: cmp %t.full %t.1
+// RUN: cmp %t.full %t.2
+// RUN: cmp %t.full %t.3
+// RUN: cmp %t.full %t.4
+// RUN: cmp %t.full %t.5
+// RUN: cmp %t.full %t.6
diff --git a/llvm/tools/llvm-objdump/llvm-objdump.cpp b/llvm/tools/llvm-objdump/llvm-objdump.cpp
index 8ff1667d8a3..bc0a1613e16 100644
--- a/llvm/tools/llvm-objdump/llvm-objdump.cpp
+++ b/llvm/tools/llvm-objdump/llvm-objdump.cpp
@@ -197,7 +197,7 @@ cl::list<std::string>
llvm::FilterSections("section", cl::desc("Operate on the specified sections only. "
"With -macho dump segment,section"));
cl::alias static FilterSectionsj("j", cl::desc("Alias for --section"),
- cl::NotHidden,
+ cl::NotHidden, cl::Grouping, cl::Prefix,
cl::aliasopt(llvm::FilterSections));
cl::list<std::string>
@@ -299,7 +299,8 @@ static cl::list<std::string>
cl::value_desc("options"), cl::CommaSeparated);
static cl::alias
DisassemblerOptionsShort("M", cl::desc("Alias for --disassembler-options"),
- cl::NotHidden, cl::Prefix, cl::CommaSeparated,
+ cl::NotHidden, cl::Grouping, cl::Prefix,
+ cl::CommaSeparated,
cl::aliasopt(DisassemblerOptions));
static StringRef ToolName;
OpenPOWER on IntegriCloud