summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGeorge Rimar <grimar@accesssoftek.com>2019-05-21 11:05:46 +0000
committerGeorge Rimar <grimar@accesssoftek.com>2019-05-21 11:05:46 +0000
commitf44eb922c05e3d43050cd8a8bc4ca1dfd59a6ebe (patch)
treec428db54ee0325d79a0a699745ab83461433e1b0
parenta95d95d3922e1a24d8b9affdd570c1d8fca00129 (diff)
downloadbcm5719-llvm-f44eb922c05e3d43050cd8a8bc4ca1dfd59a6ebe.tar.gz
bcm5719-llvm-f44eb922c05e3d43050cd8a8bc4ca1dfd59a6ebe.zip
[llvm-objdump] Make --disassemble-functions imply -d
Fixes https://bugs.llvm.org/show_bug.cgi?id=41903 Patch by Mike Pozulp! Differential revision: https://reviews.llvm.org/D62054 llvm-svn: 361240
-rw-r--r--llvm/test/tools/llvm-objdump/X86/disassemble-implied-by-disassemble-functions.test22
-rw-r--r--llvm/tools/llvm-objdump/llvm-objdump.cpp3
2 files changed, 24 insertions, 1 deletions
diff --git a/llvm/test/tools/llvm-objdump/X86/disassemble-implied-by-disassemble-functions.test b/llvm/test/tools/llvm-objdump/X86/disassemble-implied-by-disassemble-functions.test
new file mode 100644
index 00000000000..56c2dcd51d9
--- /dev/null
+++ b/llvm/test/tools/llvm-objdump/X86/disassemble-implied-by-disassemble-functions.test
@@ -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
diff --git a/llvm/tools/llvm-objdump/llvm-objdump.cpp b/llvm/tools/llvm-objdump/llvm-objdump.cpp
index de26b61697c..9f06268a8ec 100644
--- a/llvm/tools/llvm-objdump/llvm-objdump.cpp
+++ b/llvm/tools/llvm-objdump/llvm-objdump.cpp
@@ -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 &&
OpenPOWER on IntegriCloud