Disassemble the start of sections even if there is no symbol there.

We already handled a section with no symbols, extend that to also handle a
section with symbols that don't include the section start.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@239039 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Rafael Espindola 2015-06-04 15:01:05 +00:00
parent cd2647f4fd
commit 45edf27ed7
3 changed files with 12 additions and 5 deletions

Binary file not shown.

View File

@ -0,0 +1,9 @@
RUN: llvm-objdump -d %p/Inputs/no-start-symbol.elf-x86_64 | FileCheck %s
Test that we disassemble the start of the section.
CHECK: Disassembly of section .text:
CHECK-NEXT: .text:
CHECK-NEXT: 0: 90 nop
CHECK: foo:
CHECK-NEXT: 1: 90 nop

View File

@ -809,11 +809,9 @@ static void DisassembleObject(const ObjectFile *Obj, bool InlineRelocs) {
outs() << SegmentName << ",";
outs() << name << ':';
// If the section has no symbols just insert a dummy one and disassemble
// the whole section.
if (Symbols.empty())
Symbols.push_back(std::make_pair(0, name));
// If the section has no symbol at the start, just insert a dummy one.
if (Symbols.empty() || Symbols[0].first != 0)
Symbols.insert(Symbols.begin(), std::make_pair(0, name));
SmallString<40> Comments;
raw_svector_ostream CommentStream(Comments);