[llvm] 9944ef4 - Omit "Contents of" headers when -no-leading-headers is specified.

Michael Trent via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 3 13:33:56 PST 2020


Author: Michael Trent
Date: 2020-02-03T13:33:50-08:00
New Revision: 9944ef42696ea048de6727c544eaebb897749113

URL: https://github.com/llvm/llvm-project/commit/9944ef42696ea048de6727c544eaebb897749113
DIFF: https://github.com/llvm/llvm-project/commit/9944ef42696ea048de6727c544eaebb897749113.diff

LOG: Omit "Contents of" headers when -no-leading-headers is specified.

Summary:
llvm-objdump -macho will no longer print "Contents of" headers when
disassembling section contents when -no-leading-headers is specified.
For historical reasons, this flag is independent of -no-leading-addr.

Reviewers: ab, pete, jhenderson

Reviewed By: jhenderson

Subscribers: rupprecht, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D73574

Added: 
    

Modified: 
    llvm/test/tools/llvm-objdump/X86/macho-cstring-dump.test
    llvm/tools/llvm-objdump/MachODump.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/test/tools/llvm-objdump/X86/macho-cstring-dump.test b/llvm/test/tools/llvm-objdump/X86/macho-cstring-dump.test
index ae472076cdfe..9ced9c60121c 100644
--- a/llvm/test/tools/llvm-objdump/X86/macho-cstring-dump.test
+++ b/llvm/test/tools/llvm-objdump/X86/macho-cstring-dump.test
@@ -1,5 +1,6 @@
 RUN: llvm-objdump -m -section __TEXT,__cstring %p/Inputs/hello.obj.macho-x86_64 2>&1 | FileCheck %s --implicit-check-not="warning:"
 RUN: llvm-objdump -m -section __TEXT,__cstring -no-leading-addr %p/Inputs/hello.obj.macho-x86_64 | FileCheck %s -check-prefix=NO_ADDR --implicit-check-not="warning:"
+RUN: llvm-objdump -m -section __TEXT,__cstring -no-leading-headers %p/Inputs/hello.obj.macho-x86_64 | FileCheck %s -check-prefix=NO_HEADERS --implicit-check-not="warning:"
 RUN: llvm-objdump -m -section __TEXT,__cstring -non-verbose %p/Inputs/hello.obj.macho-x86_64 | FileCheck %s -check-prefix=NON_VERBOSE --implicit-check-not="warning:"
 
 CHECK: Contents of (__TEXT,__cstring) section
@@ -9,5 +10,9 @@ NO_ADDR: Contents of (__TEXT,__cstring) section
 NO_ADDR: Hello world\n
 NO_ADDR-NOT: 000000000000003b
 
+NO_HEADERS-NOT: Inputs/hello.obj.macho-x86_64:
+NO_HEADERS-NOT: Contents of (__TEXT,__cstring) section
+NO_HEADERS: 000000000000003b	Hello world\n
+
 NON_VERBOSE: Contents of (__TEXT,__cstring) section
-NON_VERBOSE: 000000000000003b	48 65 6c 6c 6f 20 77 6f 72 6c 64 0a 00 
+NON_VERBOSE: 000000000000003b	48 65 6c 6c 6f 20 77 6f 72 6c 64 0a 00

diff  --git a/llvm/tools/llvm-objdump/MachODump.cpp b/llvm/tools/llvm-objdump/MachODump.cpp
index 354aa1ba156b..fe46133eda89 100644
--- a/llvm/tools/llvm-objdump/MachODump.cpp
+++ b/llvm/tools/llvm-objdump/MachODump.cpp
@@ -1782,8 +1782,9 @@ static void DumpSectionContents(StringRef Filename, MachOObjectFile *O,
         uint32_t sect_size = BytesStr.size();
         uint64_t sect_addr = Section.getAddress();
 
-        outs() << "Contents of (" << SegName << "," << SectName
-               << ") section\n";
+        if (!NoLeadingHeaders)
+          outs() << "Contents of (" << SegName << "," << SectName
+                 << ") section\n";
 
         if (verbose) {
           if ((section_flags & MachO::S_ATTR_PURE_INSTRUCTIONS) ||


        


More information about the llvm-commits mailing list