[PATCH] D38363: [dwarfdump] Verify that CUs have a unit DIE.

Jonas Devlieghere via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 28 08:59:32 PDT 2017


This revision was automatically updated to reflect the committed changes.
JDevlieghere marked an inline comment as done.
Closed by commit rL314426: [dwarfdump] Verify that CUs have a unit DIE. (authored by JDevlieghere).

Changed prior to commit:
  https://reviews.llvm.org/D38363?vs=116997&id=117005#toc

Repository:
  rL LLVM

https://reviews.llvm.org/D38363

Files:
  llvm/trunk/lib/DebugInfo/DWARF/DWARFVerifier.cpp
  llvm/trunk/test/tools/llvm-dwarfdump/X86/empty-CU.s


Index: llvm/trunk/lib/DebugInfo/DWARF/DWARFVerifier.cpp
===================================================================
--- llvm/trunk/lib/DebugInfo/DWARF/DWARFVerifier.cpp
+++ llvm/trunk/lib/DebugInfo/DWARF/DWARFVerifier.cpp
@@ -179,9 +179,14 @@
     }
   }
 
-  DieRangeInfo RI;
-  DWARFDie Die = Unit.getUnitDIE(/* ExtractUnitDIEOnly = */ false);
-  NumUnitErrors += verifyDieRanges(Die, RI);
+  if (DWARFDie Die = Unit.getUnitDIE(/* ExtractUnitDIEOnly = */ false)) {
+    DieRangeInfo RI;
+    NumUnitErrors += verifyDieRanges(Die, RI);
+  } else {
+    OS << "error: Compilation unit without unit DIE.\n";
+    NumUnitErrors++;
+  }
+
   return NumUnitErrors == 0;
 }
 
Index: llvm/trunk/test/tools/llvm-dwarfdump/X86/empty-CU.s
===================================================================
--- llvm/trunk/test/tools/llvm-dwarfdump/X86/empty-CU.s
+++ llvm/trunk/test/tools/llvm-dwarfdump/X86/empty-CU.s
@@ -0,0 +1,21 @@
+# RUN: llvm-mc %s -filetype obj -triple x86_64-apple-darwin -o - \
+# RUN: | not llvm-dwarfdump --verify --debug-info - \
+# RUN: | FileCheck %s
+# CHECK: error: Compilation unit without unit DIE.
+
+        .section        __DWARF,__debug_info,regular,debug
+.long 8  # CU length
+.short 3 # Version
+.long 0  # Abbrev offset
+.byte 4  # AddrSize
+.byte 1  # Abbrev 1
+.long 7  # Unit lengthh...
+.short 3
+.long 0
+.byte 4
+        .section        __DWARF,__debug_abbrev,regular,debug
+.byte 1    # Abbrev code
+.byte 0x11 # TAG_compile_unit
+.byte 0    # no children
+.byte 0    # no attributes
+.byte 0


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D38363.117005.patch
Type: text/x-patch
Size: 1543 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170928/eaeef84a/attachment.bin>


More information about the llvm-commits mailing list