diff --git a/llvm/lib/DebugInfo/DWARF/DWARFUnitIndex.cpp b/llvm/lib/DebugInfo/DWARF/DWARFUnitIndex.cpp --- a/llvm/lib/DebugInfo/DWARF/DWARFUnitIndex.cpp +++ b/llvm/lib/DebugInfo/DWARF/DWARFUnitIndex.cpp @@ -118,7 +118,7 @@ CASE(MACINFO); CASE(MACRO); } - return ""; + return StringRef(); } void DWARFUnitIndex::dump(raw_ostream &OS) const { @@ -127,8 +127,14 @@ 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(Kind)); + } OS << "\n----- ------------------"; for (unsigned i = 0; i != Header.NumColumns; ++i) OS << " ------------------------"; diff --git a/llvm/test/DebugInfo/X86/debug-cu-index-unknown-section.s b/llvm/test/DebugInfo/X86/debug-cu-index-unknown-section.s --- a/llvm/test/DebugInfo/X86/debug-cu-index-unknown-section.s +++ b/llvm/test/DebugInfo/X86/debug-cu-index-unknown-section.s @@ -1,11 +1,11 @@ # 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 +# 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