Index: llvm/test/tools/llvm-objdump/X86/disassemble-implied-by-disassemble-functions.test =================================================================== --- /dev/null +++ llvm/test/tools/llvm-objdump/X86/disassemble-implied-by-disassemble-functions.test @@ -0,0 +1,46 @@ +## Check that --disassemble-functions implies --disassemble +# RUN: yaml2obj < %s | llvm-objdump - --disassemble-functions=add1,main | FileCheck %s + +--- !ELF +FileHeader: + Class: ELFCLASS64 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_X86_64 +Sections: + - Name: .text + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC, SHF_EXECINSTR ] + AddressAlign: 0x0000000000000010 + Content: 8D4701C3662E0F1F84000000000066908D4701C3 +Symbols: + - Name: .text + Type: STT_SECTION + Section: .text + - Name: add1 + Type: STT_FUNC + Section: .text + Binding: STB_GLOBAL + Size: 0x0000000000000004 + - Name: main + Type: STT_FUNC + Section: .text + Binding: STB_GLOBAL + Value: 0x0000000000000010 + Size: 0x0000000000000004 +... + +# CHECK: : file format ELF64-x86-64 + + +# CHECK: Disassembly of section .text: + +# CHECK: 0000000000000000 add1: +# CHECK: 0: 8d 47 01 leal 1(%rdi), %eax +# CHECK: 3: c3 retq +# CHECK: 4: 66 2e 0f 1f 84 00 00 00 00 00 nopw %cs:(%rax,%rax) +# CHECK: e: 66 90 nop + +# CHECK: 0000000000000010 main: +# CHECK: 10: 8d 47 01 leal 1(%rdi), %eax +# CHECK: 13: c3 Index: llvm/tools/llvm-objdump/llvm-objdump.cpp =================================================================== --- llvm/tools/llvm-objdump/llvm-objdump.cpp +++ llvm/tools/llvm-objdump/llvm-objdump.cpp @@ -2035,7 +2035,8 @@ ArchiveHeaders = FileHeaders = PrivateHeaders = Relocations = SectionHeaders = SymbolTable = true; - if (DisassembleAll || PrintSource || PrintLines) + if (DisassembleAll || PrintSource || PrintLines || + (!DisassembleFunctions.empty())) Disassemble = true; if (!ArchiveHeaders && !Disassemble && DwarfDumpType == DIDT_Null &&