[llvm] 09f43c1 - DWARFVerifier: fix remaining tests and compact/rephrase the output

David Blaikie via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 29 14:48:36 PST 2021


Author: David Blaikie
Date: 2021-12-29T14:47:43-08:00
New Revision: 09f43c107fc7688639346d3beead72472cdadbdb

URL: https://github.com/llvm/llvm-project/commit/09f43c107fc7688639346d3beead72472cdadbdb
DIFF: https://github.com/llvm/llvm-project/commit/09f43c107fc7688639346d3beead72472cdadbdb.diff

LOG: DWARFVerifier: fix remaining tests and compact/rephrase the output

Added: 
    

Modified: 
    llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
    llvm/test/DebugInfo/X86/skeleton-unit-verify.s
    llvm/test/tools/llvm-dwarfdump/X86/verify_curanges_incomplete.yaml
    llvm/test/tools/llvm-dwarfdump/X86/verify_debug_info.s
    llvm/test/tools/llvm-dwarfdump/X86/verify_die_ranges.yaml
    llvm/test/tools/llvm-dwarfdump/X86/verify_invalid_cu_ref.yaml
    llvm/test/tools/llvm-dwarfdump/X86/verify_invalid_die_range.yaml
    llvm/test/tools/llvm-dwarfdump/X86/verify_invalid_ranges.yaml
    llvm/test/tools/llvm-dwarfdump/X86/verify_invalid_ref_addr.yaml
    llvm/test/tools/llvm-dwarfdump/X86/verify_invalid_ref_addr_between.yaml
    llvm/test/tools/llvm-dwarfdump/X86/verify_invalid_rnglists.yaml
    llvm/test/tools/llvm-dwarfdump/X86/verify_invalid_stmt_list.yaml
    llvm/test/tools/llvm-dwarfdump/X86/verify_invalid_strp.yaml
    llvm/test/tools/llvm-dwarfdump/X86/verify_lexical_block_ranges.yaml
    llvm/test/tools/llvm-dwarfdump/X86/verify_overlapping_function_ranges.yaml
    llvm/test/tools/llvm-dwarfdump/X86/verify_overlapping_lexical_block_ranges.yaml

Removed: 
    


################################################################################
diff  --git a/llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp b/llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
index 5f56ebd5a291d..df68e257af015 100644
--- a/llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
+++ b/llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
@@ -322,10 +322,12 @@ unsigned DWARFVerifier::verifyUnits(const DWARFUnitVector &Units) {
   unsigned NumDebugInfoErrors = 0;
   ReferenceMap CrossUnitReferences;
 
-  unsigned int Index = 0;
+  unsigned int Index = 1;
   for (const auto &Unit : Units) {
-    OS << "Verifying unit: " << Index << " / " << Units.getNumUnits() << '\n';
-    OS << "Unit Name: " << Unit->getUnitDIE(true).getShortName() << '\n';
+    OS << "Verifying unit: " << Index << " / " << Units.getNumUnits();
+    if (const char* Name = Unit->getUnitDIE(true).getShortName())
+      OS << ", \"" << Name << '\"';
+    OS << '\n';
     OS.flush();
     ReferenceMap UnitLocalReferences;
     NumDebugInfoErrors +=

diff  --git a/llvm/test/DebugInfo/X86/skeleton-unit-verify.s b/llvm/test/DebugInfo/X86/skeleton-unit-verify.s
index 062336c35d9f1..0433e897f6a23 100644
--- a/llvm/test/DebugInfo/X86/skeleton-unit-verify.s
+++ b/llvm/test/DebugInfo/X86/skeleton-unit-verify.s
@@ -5,10 +5,8 @@
 # CHECK-NEXT: Verifying .debug_info Unit Header Chain...
 # CHECK-NEXT: Verifying .debug_types Unit Header Chain...
 # CHECK-NEXT: Verifying non-dwo Units...
-# CHECK-NEXT: Verifying unit: 0 / 2
-# CHECK-NEXT: Unit Name: test.cpp
-# CHECK-NEXT: Verifying unit: 1 / 2
-# CHECK-NEXT: Unit Name: 
+# CHECK-NEXT: Verifying unit: 1 / 2, "test.cpp"
+# CHECK-NEXT: Verifying unit: 2 / 2
 # CHECK-NEXT: warning: DW_TAG_skeleton_unit has DW_CHILDREN_yes but DIE has no children
 # CHECK-NEXT: DW_TAG_skeleton_unit
 # CHECK-NEXT: error: Skeleton compilation unit has children.

diff  --git a/llvm/test/tools/llvm-dwarfdump/X86/verify_curanges_incomplete.yaml b/llvm/test/tools/llvm-dwarfdump/X86/verify_curanges_incomplete.yaml
index 5200311ad4538..de6f325dc88aa 100644
--- a/llvm/test/tools/llvm-dwarfdump/X86/verify_curanges_incomplete.yaml
+++ b/llvm/test/tools/llvm-dwarfdump/X86/verify_curanges_incomplete.yaml
@@ -2,6 +2,7 @@
 # RUN: not llvm-dwarfdump -verify %t.o | FileCheck %s
 
 #      CHECK: Verifying non-dwo Units...
+# CHECK-NEXT: Verifying unit: 1 / 1, "/tmp/main.c"
 # CHECK-NEXT: error: DIE address ranges are not contained in its parent's ranges:
 
 --- !ELF

diff  --git a/llvm/test/tools/llvm-dwarfdump/X86/verify_debug_info.s b/llvm/test/tools/llvm-dwarfdump/X86/verify_debug_info.s
index c2502adf1a8d8..f677de20cd51a 100644
--- a/llvm/test/tools/llvm-dwarfdump/X86/verify_debug_info.s
+++ b/llvm/test/tools/llvm-dwarfdump/X86/verify_debug_info.s
@@ -46,6 +46,7 @@
 # CHECK-NEXT: DW_AT_decl_file [DW_FORM_data1]	(0x01)
 # CHECK-NEXT: DW_AT_decl_line [DW_FORM_data1]	(2)
 # CHECK-NEXT: DW_AT_use_location [DW_FORM_ref4]	(cu + 0x0053 => {0x00000053}){{[[:space:]]}}
+# CHECK-NEXT: Verifying unit: 2 / 2 
 # CHECK-NEXT: error: Compilation unit root DIE is not a unit DIE: DW_TAG_null.
 # CHECK-NEXT: error: Compilation unit type (DW_UT_compile) and root DIE (DW_TAG_null) do not match.
 

diff  --git a/llvm/test/tools/llvm-dwarfdump/X86/verify_die_ranges.yaml b/llvm/test/tools/llvm-dwarfdump/X86/verify_die_ranges.yaml
index 8580ca4b23dc8..98f92e8b11703 100644
--- a/llvm/test/tools/llvm-dwarfdump/X86/verify_die_ranges.yaml
+++ b/llvm/test/tools/llvm-dwarfdump/X86/verify_die_ranges.yaml
@@ -2,6 +2,7 @@
 # RUN: not llvm-dwarfdump -verify %t.o | FileCheck %s
 
 #      CHECK: Verifying non-dwo Units...
+# CHECK-NEXT: Verifying unit: 1 / 1 
 # CHECK-NEXT: error: Invalid address range [0x0000000000000007, 0x0000000000000006)
 
 --- !ELF

diff  --git a/llvm/test/tools/llvm-dwarfdump/X86/verify_invalid_cu_ref.yaml b/llvm/test/tools/llvm-dwarfdump/X86/verify_invalid_cu_ref.yaml
index 2951d8c708c29..52474abe92672 100644
--- a/llvm/test/tools/llvm-dwarfdump/X86/verify_invalid_cu_ref.yaml
+++ b/llvm/test/tools/llvm-dwarfdump/X86/verify_invalid_cu_ref.yaml
@@ -2,6 +2,7 @@
 # RUN: not llvm-dwarfdump -debug-info -verify %t.o | FileCheck %s
 
 #      CHECK: Verifying non-dwo Units...
+# CHECK-NEXT: Verifying unit: 1 / 1, "/tmp/main.c"
 # CHECK-NEXT: error: DW_FORM_ref4 CU offset 0x00001234 is invalid (must be less than CU size of 0x0000001a):
 
 --- !ELF

diff  --git a/llvm/test/tools/llvm-dwarfdump/X86/verify_invalid_die_range.yaml b/llvm/test/tools/llvm-dwarfdump/X86/verify_invalid_die_range.yaml
index e7870474fe3fa..e221f35576285 100644
--- a/llvm/test/tools/llvm-dwarfdump/X86/verify_invalid_die_range.yaml
+++ b/llvm/test/tools/llvm-dwarfdump/X86/verify_invalid_die_range.yaml
@@ -2,6 +2,7 @@
 # RUN: not llvm-dwarfdump -verify %t.o | FileCheck %s
 
 #      CHECK: Verifying non-dwo Units...
+# CHECK-NEXT: Verifying unit: 1 / 1, "/tmp/main.c"
 # CHECK-NEXT: error: Invalid address range
 
 --- !ELF

diff  --git a/llvm/test/tools/llvm-dwarfdump/X86/verify_invalid_ranges.yaml b/llvm/test/tools/llvm-dwarfdump/X86/verify_invalid_ranges.yaml
index b3e4a89da9602..65d9c48ff77e6 100644
--- a/llvm/test/tools/llvm-dwarfdump/X86/verify_invalid_ranges.yaml
+++ b/llvm/test/tools/llvm-dwarfdump/X86/verify_invalid_ranges.yaml
@@ -2,6 +2,7 @@
 # RUN: not llvm-dwarfdump -debug-info -verify %t.o | FileCheck %s
 
 #      CHECK: Verifying non-dwo Units...
+# CHECK-NEXT: Verifying unit: 1 / 1, "/tmp/main.c" 
 # CHECK-NEXT: error: DW_AT_ranges offset is beyond .debug_ranges bounds: 0x00001000
 
 --- !ELF

diff  --git a/llvm/test/tools/llvm-dwarfdump/X86/verify_invalid_ref_addr.yaml b/llvm/test/tools/llvm-dwarfdump/X86/verify_invalid_ref_addr.yaml
index f9b4cf4f8e92b..4599a46341e76 100644
--- a/llvm/test/tools/llvm-dwarfdump/X86/verify_invalid_ref_addr.yaml
+++ b/llvm/test/tools/llvm-dwarfdump/X86/verify_invalid_ref_addr.yaml
@@ -2,6 +2,7 @@
 # RUN: not llvm-dwarfdump -debug-info -verify %t.o | FileCheck %s
 
 #      CHECK: Verifying non-dwo Units...
+# CHECK-NEXT: Verifying unit: 1 / 1, "/tmp/main.c"
 # CHECK-NEXT: error: DW_FORM_ref_addr offset beyond .debug_info bounds:
 
 --- !ELF

diff  --git a/llvm/test/tools/llvm-dwarfdump/X86/verify_invalid_ref_addr_between.yaml b/llvm/test/tools/llvm-dwarfdump/X86/verify_invalid_ref_addr_between.yaml
index 76a11f987028f..f000bf1bb776a 100644
--- a/llvm/test/tools/llvm-dwarfdump/X86/verify_invalid_ref_addr_between.yaml
+++ b/llvm/test/tools/llvm-dwarfdump/X86/verify_invalid_ref_addr_between.yaml
@@ -2,6 +2,7 @@
 # RUN: not llvm-dwarfdump -debug-info -verify %t.o | FileCheck %s
 
 #      CHECK: Verifying non-dwo Units...
+# CHECK-NEXT: Verifying unit: 1 / 1, "/tmp/main.c" 
 # CHECK-NEXT: error: invalid DIE reference 0x00000011. Offset is in between DIEs:
 
 --- !ELF

diff  --git a/llvm/test/tools/llvm-dwarfdump/X86/verify_invalid_rnglists.yaml b/llvm/test/tools/llvm-dwarfdump/X86/verify_invalid_rnglists.yaml
index 009a037f5f844..9b363fd7e4f8c 100644
--- a/llvm/test/tools/llvm-dwarfdump/X86/verify_invalid_rnglists.yaml
+++ b/llvm/test/tools/llvm-dwarfdump/X86/verify_invalid_rnglists.yaml
@@ -2,6 +2,7 @@
 # RUN: not llvm-dwarfdump -debug-info -verify %t.o | FileCheck %s
 
 #      CHECK: Verifying non-dwo Units...
+# CHECK-NEXT: Verifying unit: 1 / 1, "/tmp/main.c"
 # CHECK-NEXT: error: DW_AT_ranges offset is beyond .debug_rnglists bounds: 0x00001000
 
 --- !ELF

diff  --git a/llvm/test/tools/llvm-dwarfdump/X86/verify_invalid_stmt_list.yaml b/llvm/test/tools/llvm-dwarfdump/X86/verify_invalid_stmt_list.yaml
index 31e92d2cac915..d9c23375d5ba3 100644
--- a/llvm/test/tools/llvm-dwarfdump/X86/verify_invalid_stmt_list.yaml
+++ b/llvm/test/tools/llvm-dwarfdump/X86/verify_invalid_stmt_list.yaml
@@ -2,6 +2,7 @@
 # RUN: not llvm-dwarfdump -debug-info -verify %t.o | FileCheck %s
 
 #      CHECK: Verifying non-dwo Units...
+# CHECK-NEXT: Verifying unit: 1 / 1, "/tmp/main.c"
 # CHECK-NEXT: error: DW_AT_stmt_list offset is beyond .debug_line bounds: 0x00001000
 
 --- !ELF

diff  --git a/llvm/test/tools/llvm-dwarfdump/X86/verify_invalid_strp.yaml b/llvm/test/tools/llvm-dwarfdump/X86/verify_invalid_strp.yaml
index 81b420f2346d2..d6b8bbcec83a9 100644
--- a/llvm/test/tools/llvm-dwarfdump/X86/verify_invalid_strp.yaml
+++ b/llvm/test/tools/llvm-dwarfdump/X86/verify_invalid_strp.yaml
@@ -2,6 +2,7 @@
 # RUN: not llvm-dwarfdump -debug-info -verify %t.o | FileCheck %s
 
 #      CHECK: Verifying non-dwo Units... 
+# CHECK-NEXT: Verifying unit: 1 / 1 
 # CHECK-NEXT: error: DW_FORM_strp offset 4660 is beyond .debug_str bounds:
 
 --- !ELF

diff  --git a/llvm/test/tools/llvm-dwarfdump/X86/verify_lexical_block_ranges.yaml b/llvm/test/tools/llvm-dwarfdump/X86/verify_lexical_block_ranges.yaml
index f8e8775a42084..1185e263c8e0a 100644
--- a/llvm/test/tools/llvm-dwarfdump/X86/verify_lexical_block_ranges.yaml
+++ b/llvm/test/tools/llvm-dwarfdump/X86/verify_lexical_block_ranges.yaml
@@ -2,6 +2,7 @@
 # RUN: not llvm-dwarfdump -verify %t.o | FileCheck %s
 
 #      CHECK: Verifying non-dwo Units...
+# CHECK-NEXT: Verifying unit: 1 / 1, "/tmp/main.c" 
 # CHECK-NEXT: error: DIE address ranges are not contained in its parent's ranges:
 
 --- !ELF

diff  --git a/llvm/test/tools/llvm-dwarfdump/X86/verify_overlapping_function_ranges.yaml b/llvm/test/tools/llvm-dwarfdump/X86/verify_overlapping_function_ranges.yaml
index 8db28adf45404..eb3b791fc5775 100644
--- a/llvm/test/tools/llvm-dwarfdump/X86/verify_overlapping_function_ranges.yaml
+++ b/llvm/test/tools/llvm-dwarfdump/X86/verify_overlapping_function_ranges.yaml
@@ -2,6 +2,7 @@
 # RUN: not llvm-dwarfdump -verify %t.o | FileCheck %s
 
 #      CHECK: Verifying non-dwo Units...
+# CHECK-NEXT: Verifying unit: 1 / 1, "/tmp/main.c" 
 # CHECK-NEXT: error: DIEs have overlapping address ranges
 
 --- !ELF

diff  --git a/llvm/test/tools/llvm-dwarfdump/X86/verify_overlapping_lexical_block_ranges.yaml b/llvm/test/tools/llvm-dwarfdump/X86/verify_overlapping_lexical_block_ranges.yaml
index c8f98504df064..137f9a234c3aa 100644
--- a/llvm/test/tools/llvm-dwarfdump/X86/verify_overlapping_lexical_block_ranges.yaml
+++ b/llvm/test/tools/llvm-dwarfdump/X86/verify_overlapping_lexical_block_ranges.yaml
@@ -2,6 +2,7 @@
 # RUN: not llvm-dwarfdump -verify %t.o | FileCheck %s
 
 #      CHECK: Verifying non-dwo Units...
+# CHECK-NEXT: Verifying unit: 1 / 1, "/tmp/main.c" 
 # CHECK-NEXT: error: DIEs have overlapping address ranges
 
 --- !ELF


        


More information about the llvm-commits mailing list