From 1834682b97f498093684674f8f0d95113ef3cb66 Mon Sep 17 00:00:00 2001 From: Francis Visoiu Mistrih Date: Thu, 19 Apr 2018 17:02:57 +0000 Subject: [llvm-objdump] Print "..." instead of random data for virtual sections When disassembling with -D, skip virtual sections by printing "..." for each symbol. This patch also implements `MachOObjectFile::isSectionVirtual`. Test case comes from: ``` .zerofill __DATA,__common,_data64unsigned,472,3 ``` Differential Revision: https://reviews.llvm.org/D45824 llvm-svn: 330342 --- llvm/tools/llvm-objdump/llvm-objdump.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'llvm/tools/llvm-objdump/llvm-objdump.cpp') diff --git a/llvm/tools/llvm-objdump/llvm-objdump.cpp b/llvm/tools/llvm-objdump/llvm-objdump.cpp index 718d5749412..5bea3a7860b 100644 --- a/llvm/tools/llvm-objdump/llvm-objdump.cpp +++ b/llvm/tools/llvm-objdump/llvm-objdump.cpp @@ -1494,6 +1494,13 @@ static void DisassembleObject(const ObjectFile *Obj, bool InlineRelocs) { outs() << '\n' << std::get<1>(Symbols[si]) << ":\n"; + // Don't print raw contents of a virtual section. A virtual section + // doesn't have any contents in the file. + if (Section.isVirtual()) { + outs() << "...\n"; + continue; + } + #ifndef NDEBUG raw_ostream &DebugOut = DebugFlag ? dbgs() : nulls(); #else -- cgit v1.2.3