diff --git a/llvm/test/tools/llvm-objdump/AArch64/macho-fat-arm-disasm.test b/llvm/test/tools/llvm-objdump/AArch64/macho-fat-arm-disasm.test --- a/llvm/test/tools/llvm-objdump/AArch64/macho-fat-arm-disasm.test +++ b/llvm/test/tools/llvm-objdump/AArch64/macho-fat-arm-disasm.test @@ -1,4 +1,5 @@ RUN: llvm-objdump -d -m -no-show-raw-insn -arch all %p/Inputs/fat.macho-armv7s-arm64 | FileCheck %s +RUN: llvm-objdump -dm -no-show-raw-insn -arch all %p/Inputs/fat.macho-armv7s-arm64 | FileCheck %s REQUIRES: arm-registered-target CHECK: (architecture armv7s): diff --git a/llvm/test/tools/llvm-objdump/X86/disasm-specific-funcs.test b/llvm/test/tools/llvm-objdump/X86/disasm-specific-funcs.test --- a/llvm/test/tools/llvm-objdump/X86/disasm-specific-funcs.test +++ b/llvm/test/tools/llvm-objdump/X86/disasm-specific-funcs.test @@ -1,5 +1,5 @@ // RUN: yaml2obj -o %t.out %p/Inputs/simple-executable-x86_64.yaml -// RUN: llvm-objdump -d %t.out -df=main | FileCheck %s +// RUN: llvm-objdump -d %t.out -disassemble-functions=main | FileCheck %s // CHECK: Disassembly of section .anothertext: // CHECK-NEXT: main: diff --git a/llvm/test/tools/llvm-objdump/X86/macho-disassembly-g-dsym.test b/llvm/test/tools/llvm-objdump/X86/macho-disassembly-g-dsym.test --- a/llvm/test/tools/llvm-objdump/X86/macho-disassembly-g-dsym.test +++ b/llvm/test/tools/llvm-objdump/X86/macho-disassembly-g-dsym.test @@ -1,4 +1,5 @@ // RUN: dsymutil -f -oso-prepend-path=%p/../../dsymutil/ %p/../../dsymutil/Inputs/basic.macho.x86_64 -o %t1.dSYM // RUN: llvm-objdump -d -g -dsym=%t1.dSYM %p/../../dsymutil/Inputs/basic.macho.x86_64 | FileCheck %s +// RUN: llvm-objdump -dg -dsym=%t1.dSYM %p/../../dsymutil/Inputs/basic.macho.x86_64 | FileCheck %s CHECK: Disassembly of section __TEXT,__text: diff --git a/llvm/test/tools/llvm-objdump/X86/out-of-section-sym.test b/llvm/test/tools/llvm-objdump/X86/out-of-section-sym.test --- a/llvm/test/tools/llvm-objdump/X86/out-of-section-sym.test +++ b/llvm/test/tools/llvm-objdump/X86/out-of-section-sym.test @@ -1,6 +1,7 @@ // Check that llvm-objdump does not attempt to disassemble symbols outside // of section boundaries. // RUN: llvm-objdump -d -t %p/Inputs/out-of-section-sym.elf-i386 | FileCheck %s +// RUN: llvm-objdump -dt %p/Inputs/out-of-section-sym.elf-i386 | FileCheck %s CHECK: Disassembly of section .text: CHECK-NEXT: _start: diff --git a/llvm/test/tools/llvm-objdump/X86/source-interleave-x86_64.ll b/llvm/test/tools/llvm-objdump/X86/source-interleave-x86_64.ll --- a/llvm/test/tools/llvm-objdump/X86/source-interleave-x86_64.ll +++ b/llvm/test/tools/llvm-objdump/X86/source-interleave-x86_64.ll @@ -2,7 +2,9 @@ ; RUN: sed -e "s,SRC_COMPDIR,%p/Inputs,g" %s > %t.ll ; RUN: llc -o %t.o -filetype=obj -mtriple=x86_64-pc-linux %t.ll ; RUN: llvm-objdump -d -l %t.o | FileCheck --check-prefix="LINES" %t.ll +; RUN: llvm-objdump -dl %t.o | FileCheck --check-prefix="LINES" %t.ll ; RUN: llvm-objdump -d -S %t.o | FileCheck --check-prefix="SOURCE" %t.ll +; RUN: llvm-objdump -dS %t.o | FileCheck --check-prefix="SOURCE" %t.ll ; ModuleID = 'source-interleave-x86_64.bc' source_filename = "source-interleave-x86_64.c" target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" diff --git a/llvm/test/tools/llvm-objdump/option-grouping.test b/llvm/test/tools/llvm-objdump/option-grouping.test new file mode 100644 --- /dev/null +++ b/llvm/test/tools/llvm-objdump/option-grouping.test @@ -0,0 +1,4 @@ +// RUN: llvm-objdump -afxz %p/Inputs/private-headers-x86_64.elf 2>&1 | tee %t0 | FileCheck %s +// RUN: llvm-objdump -a -f -x -z %p/Inputs/private-headers-x86_64.elf 2>&1 | tee %t1 +// RUN: cmp %t0 %t1 +// CHECK-NOT: Unknown command line argument diff --git a/llvm/tools/llvm-objdump/MachODump.cpp b/llvm/tools/llvm-objdump/MachODump.cpp --- a/llvm/tools/llvm-objdump/MachODump.cpp +++ b/llvm/tools/llvm-objdump/MachODump.cpp @@ -59,7 +59,7 @@ using namespace object; static cl::opt - UseDbg("g", + UseDbg("g", cl::Grouping, cl::desc("Print line information from debug info if available")); static cl::opt DSYMFile("dsym", diff --git a/llvm/tools/llvm-objdump/llvm-objdump.cpp b/llvm/tools/llvm-objdump/llvm-objdump.cpp --- a/llvm/tools/llvm-objdump/llvm-objdump.cpp +++ b/llvm/tools/llvm-objdump/llvm-objdump.cpp @@ -79,7 +79,8 @@ llvm::AllHeaders("all-headers", cl::desc("Display all available header information")); static cl::alias AllHeadersShort("x", cl::desc("Alias for --all-headers"), - cl::NotHidden, cl::aliasopt(AllHeaders)); + cl::NotHidden, cl::Grouping, + cl::aliasopt(AllHeaders)); static cl::list InputFilenames(cl::Positional, cl::desc(""),cl::ZeroOrMore); @@ -88,22 +89,25 @@ llvm::Disassemble("disassemble", cl::desc("Display assembler mnemonics for the machine instructions")); static cl::alias Disassembled("d", cl::desc("Alias for --disassemble"), - cl::NotHidden, cl::aliasopt(Disassemble)); + cl::NotHidden, cl::Grouping, + cl::aliasopt(Disassemble)); cl::opt llvm::DisassembleAll("disassemble-all", cl::desc("Display assembler mnemonics for the machine instructions")); static cl::alias DisassembleAlld("D", cl::desc("Alias for --disassemble-all"), - cl::NotHidden, cl::aliasopt(DisassembleAll)); + cl::NotHidden, cl::Grouping, + cl::aliasopt(DisassembleAll)); cl::opt llvm::Demangle("demangle", cl::desc("Demangle symbols names"), cl::init(false)); static cl::alias DemangleShort("C", cl::desc("Alias for --demangle"), - cl::NotHidden, cl::aliasopt(llvm::Demangle)); + cl::NotHidden, cl::Grouping, + cl::aliasopt(llvm::Demangle)); static cl::list -DisassembleFunctions("df", +DisassembleFunctions("disassemble-functions", cl::CommaSeparated, cl::desc("List of functions to disassemble")); static StringSet<> DisasmFuncsSet; @@ -112,14 +116,14 @@ llvm::Relocations("reloc", cl::desc("Display the relocation entries in the file")); static cl::alias RelocationsShort("r", cl::desc("Alias for --reloc"), - cl::NotHidden, + cl::NotHidden, cl::Grouping, cl::aliasopt(llvm::Relocations)); cl::opt llvm::DynamicRelocations("dynamic-reloc", cl::desc("Display the dynamic relocation entries in the file")); static cl::alias DynamicRelocationsd("R", cl::desc("Alias for --dynamic-reloc"), - cl::NotHidden, + cl::NotHidden, cl::Grouping, cl::aliasopt(DynamicRelocations)); cl::opt @@ -127,12 +131,12 @@ cl::desc("Display the content of each section")); static cl::alias SectionContentsShort("s", cl::desc("Alias for --full-contents"), - cl::NotHidden, + cl::NotHidden, cl::Grouping, cl::aliasopt(SectionContents)); cl::opt llvm::SymbolTable("syms", cl::desc("Display the symbol table")); static cl::alias SymbolTableShort("t", cl::desc("Alias for --syms"), - cl::NotHidden, + cl::NotHidden, cl::Grouping, cl::aliasopt(llvm::SymbolTable)); cl::opt @@ -157,7 +161,7 @@ static cl::opt MachOOpt("macho", cl::desc("Use MachO specific object file parser")); static cl::alias MachOm("m", cl::desc("Alias for --macho"), cl::NotHidden, - cl::aliasopt(MachOOpt)); + cl::Grouping, cl::aliasopt(MachOOpt)); cl::opt llvm::TripleName("triple", cl::desc("Target triple to disassemble for, " @@ -182,7 +186,7 @@ cl::aliasopt(SectionHeaders)); static cl::alias SectionHeadersShorter("h", cl::desc("Alias for --section-headers"), - cl::NotHidden, + cl::NotHidden, cl::Grouping, cl::aliasopt(SectionHeaders)); static cl::opt @@ -213,7 +217,8 @@ llvm::UnwindInfo("unwind-info", cl::desc("Display unwind information")); static cl::alias UnwindInfoShort("u", cl::desc("Alias for --unwind-info"), - cl::NotHidden, cl::aliasopt(UnwindInfo)); + cl::NotHidden, cl::Grouping, + cl::aliasopt(UnwindInfo)); cl::opt llvm::PrivateHeaders("private-headers", @@ -226,7 +231,7 @@ static cl::alias PrivateHeadersShort("p", cl::desc("Alias for --private-headers"), - cl::NotHidden, + cl::NotHidden, cl::Grouping, cl::aliasopt(PrivateHeaders)); cl::opt llvm::FileHeaders( @@ -234,14 +239,16 @@ cl::desc("Display the contents of the overall file header")); static cl::alias FileHeadersShort("f", cl::desc("Alias for --file-headers"), - cl::NotHidden, cl::aliasopt(FileHeaders)); + cl::NotHidden, cl::Grouping, + cl::aliasopt(FileHeaders)); cl::opt llvm::ArchiveHeaders("archive-headers", cl::desc("Display archive header information")); cl::alias ArchiveHeadersShort("a", cl::desc("Alias for --archive-headers"), - cl::NotHidden, cl::aliasopt(ArchiveHeaders)); + cl::NotHidden, cl::Grouping, + cl::aliasopt(ArchiveHeaders)); cl::opt llvm::PrintImmHex("print-imm-hex", @@ -260,14 +267,15 @@ "Display source inlined with disassembly. Implies disassemble object")); cl::alias PrintSourceShort("S", cl::desc("Alias for -source"), cl::NotHidden, - cl::aliasopt(PrintSource)); + cl::Grouping, cl::aliasopt(PrintSource)); cl::opt PrintLines("line-numbers", cl::desc("Display source line numbers with " "disassembly. Implies disassemble object")); cl::alias PrintLinesShort("l", cl::desc("Alias for -line-numbers"), - cl::NotHidden, cl::aliasopt(PrintLines)); + cl::NotHidden, cl::Grouping, + cl::aliasopt(PrintLines)); cl::opt StartAddress("start-address", cl::desc("Disassemble beginning at address"), @@ -282,7 +290,7 @@ cl::desc("Do not skip blocks of zeroes when disassembling")); cl::alias DisassembleZeroesShort("z", cl::desc("Alias for --disassemble-zeroes"), - cl::NotHidden, + cl::NotHidden, cl::Grouping, cl::aliasopt(DisassembleZeroes)); static StringRef ToolName;