OSDN Git Service

[llvm-objdump] Make --disassemble-functions imply -d
authorGeorge Rimar <grimar@accesssoftek.com>
Tue, 21 May 2019 11:05:46 +0000 (11:05 +0000)
committerGeorge Rimar <grimar@accesssoftek.com>
Tue, 21 May 2019 11:05:46 +0000 (11:05 +0000)
Fixes https://bugs.llvm.org/show_bug.cgi?id=41903

Patch by Mike Pozulp!

Differential revision: https://reviews.llvm.org/D62054

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@361240 91177308-0d34-0410-b5e6-96231b3b80d8

test/tools/llvm-objdump/X86/disassemble-implied-by-disassemble-functions.test [new file with mode: 0644]
tools/llvm-objdump/llvm-objdump.cpp

diff --git a/test/tools/llvm-objdump/X86/disassemble-implied-by-disassemble-functions.test b/test/tools/llvm-objdump/X86/disassemble-implied-by-disassemble-functions.test
new file mode 100644 (file)
index 0000000..56c2dcd
--- /dev/null
@@ -0,0 +1,22 @@
+## Check that --disassemble-functions implies --disassemble.
+# RUN: yaml2obj < %s | llvm-objdump - --disassemble-functions=main | FileCheck %s
+
+--- !ELF
+FileHeader:
+  Class:   ELFCLASS64
+  Data:    ELFDATA2LSB
+  Type:    ET_REL
+  Machine: EM_X86_64
+Sections:
+  - Name:    .text
+    Type:    SHT_PROGBITS
+    Flags:   [ SHF_EXECINSTR ]
+    Content: 90
+Symbols:
+  - Name:    main
+    Type:    STT_FUNC
+    Section: .text
+...
+
+# CHECK: 0000000000000000 main:
+# CHECK-NEXT:        0: 90                            nop
index de26b61..9f06268 100644 (file)
@@ -2032,7 +2032,8 @@ int main(int argc, char **argv) {
     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 &&