Commit 3a1bc41a authored by Igor Kudrin's avatar Igor Kudrin
Browse files

[DebugInfo] Print the actual value of an unknown section identifier.

This is a follow-up for D75609. As @dblaikie suggested, it prints
the actual number for an unknown section identifier when dumping
unit index sections.

Differential Revision: https://reviews.llvm.org/D75668
parent 37a604c2
Loading
Loading
Loading
Loading
+9 −3
Original line number Diff line number Diff line
@@ -118,7 +118,7 @@ StringRef DWARFUnitIndex::getColumnHeader(DWARFSectionKind DS) {
    CASE(MACINFO);
    CASE(MACRO);
  }
  return "<unknown>";
  return StringRef();
}

void DWARFUnitIndex::dump(raw_ostream &OS) const {
@@ -127,8 +127,14 @@ void DWARFUnitIndex::dump(raw_ostream &OS) const {

  Header.dump(OS);
  OS << "Index Signature         ";
  for (unsigned i = 0; i != Header.NumColumns; ++i)
    OS << ' ' << left_justify(getColumnHeader(ColumnKinds[i]), 24);
  for (unsigned i = 0; i != Header.NumColumns; ++i) {
    DWARFSectionKind Kind = ColumnKinds[i];
    StringRef Name = getColumnHeader(Kind);
    if (!Name.empty())
      OS << ' ' << left_justify(Name, 24);
    else
      OS << format(" Unknown: %-15u", static_cast<unsigned>(Kind));
  }
  OS << "\n----- ------------------";
  for (unsigned i = 0; i != Header.NumColumns; ++i)
    OS << " ------------------------";
+7 −7
Original line number Diff line number Diff line
# RUN: llvm-mc -triple x86_64-unknown-linux %s -filetype=obj -o - | \
# RUN:   llvm-dwarfdump -debug-cu-index - | \
# RUN:   FileCheck %s
# RUN:   FileCheck %s --strict-whitespace

# CHECK:      .debug_cu_index contents:
# CHECK-NEXT: version = 2 slots = 2
# CHECK-EMPTY:
# CHECK-NEXT: Index Signature          INFO                     <unknown>
# CHECK-NEXT: Index Signature          Unknown: 9               INFO
# CHECK-NEXT: ----- ------------------ ------------------------ ------------------------
# CHECK-NEXT:     1 0x1100001122222222 [0x00001000, 0x00001010) [0x00002000, 0x00002020)

@@ -23,11 +23,11 @@
    .long 0
## Table of Section Offsets:
## Row 0:
    .long 9             # Unknown section identifier
    .long 1             # DW_SECT_INFO
    .long 9             # Invalid section identifier
## Row 1:
    .long 0x1000        # Offset in .debug_info.dwo
    .long 0x2000
    .long 0x1000        # Offset in an unknown section
    .long 0x2000        # Offset in .debug_info.dwo
## Table of Section Sizes:
    .long 0x10          # Size in .debug_info.dwo
    .long 0x20
    .long 0x10          # Size in an unknown section
    .long 0x20          # Size in .debug_info.dwo