[llvm] 3a1bc41 - [DebugInfo] Print the actual value of an unknown section identifier.

Igor Kudrin via llvm-commits llvm-commits at lists.llvm.org
Fri Mar 6 06:46:37 PST 2020


Author: Igor Kudrin
Date: 2020-03-06T21:46:04+07:00
New Revision: 3a1bc41a8948a2952eb2ab2b8f1480f2eb83192c

URL: https://github.com/llvm/llvm-project/commit/3a1bc41a8948a2952eb2ab2b8f1480f2eb83192c
DIFF: https://github.com/llvm/llvm-project/commit/3a1bc41a8948a2952eb2ab2b8f1480f2eb83192c.diff

LOG: [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

Added: 
    

Modified: 
    llvm/lib/DebugInfo/DWARF/DWARFUnitIndex.cpp
    llvm/test/DebugInfo/X86/debug-cu-index-unknown-section.s

Removed: 
    


################################################################################
diff  --git a/llvm/lib/DebugInfo/DWARF/DWARFUnitIndex.cpp b/llvm/lib/DebugInfo/DWARF/DWARFUnitIndex.cpp
index 91b561993ad9..2780abfcf03f 100644
--- a/llvm/lib/DebugInfo/DWARF/DWARFUnitIndex.cpp
+++ b/llvm/lib/DebugInfo/DWARF/DWARFUnitIndex.cpp
@@ -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 << " ------------------------";

diff  --git a/llvm/test/DebugInfo/X86/debug-cu-index-unknown-section.s b/llvm/test/DebugInfo/X86/debug-cu-index-unknown-section.s
index e71d59a85083..147e4df2cc49 100644
--- 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                     <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


        


More information about the llvm-commits mailing list