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

Igor Kudrin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Mar 6 07:10:01 PST 2020


This revision was automatically updated to reflect the committed changes.
ikudrin marked an inline comment as done.
Closed by commit rG3a1bc41a8948: [DebugInfo] Print the actual value of an unknown section identifier. (authored by ikudrin).

Changed prior to commit:
  https://reviews.llvm.org/D75668?vs=248412&id=248722#toc

Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D75668/new/

https://reviews.llvm.org/D75668

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


Index: llvm/test/DebugInfo/X86/debug-cu-index-unknown-section.s
===================================================================
--- llvm/test/DebugInfo/X86/debug-cu-index-unknown-section.s
+++ 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
Index: llvm/lib/DebugInfo/DWARF/DWARFUnitIndex.cpp
===================================================================
--- llvm/lib/DebugInfo/DWARF/DWARFUnitIndex.cpp
+++ llvm/lib/DebugInfo/DWARF/DWARFUnitIndex.cpp
@@ -118,7 +118,7 @@
     CASE(MACINFO);
     CASE(MACRO);
   }
-  return "<unknown>";
+  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<unsigned>(Kind));
+  }
   OS << "\n----- ------------------";
   for (unsigned i = 0; i != Header.NumColumns; ++i)
     OS << " ------------------------";


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D75668.248722.patch
Type: text/x-patch
Size: 2504 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200306/f38bc9ba/attachment.bin>


More information about the llvm-commits mailing list