From: Jonas Devlieghere Date: Mon, 27 Apr 2020 22:41:56 +0000 (-0700) Subject: [llvm/DebugInfo] Print DW_AT_ranges offset as part of verifier error. X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=bbaa639ba966d2a20c00554701af1168caca6dfb;p=platform%2Fupstream%2Fllvm.git [llvm/DebugInfo] Print DW_AT_ranges offset as part of verifier error. Print the DW_AT_ranges offset as part of the verifier error, like we do for the DW_AT_stmt_list offset. --- diff --git a/llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp b/llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp index beca8cc..7458471 100644 --- a/llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp +++ b/llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp @@ -458,7 +458,8 @@ unsigned DWARFVerifier::verifyDebugInfoAttribute(const DWARFDie &Die, // Make sure the offset in the DW_AT_ranges attribute is valid. if (auto SectionOffset = AttrValue.Value.getAsSectionOffset()) { if (*SectionOffset >= DObj.getRangesSection().Data.size()) - ReportError("DW_AT_ranges offset is beyond .debug_ranges bounds:"); + ReportError("DW_AT_ranges offset is beyond .debug_ranges bounds: " + + llvm::formatv("{0:x8}", *SectionOffset)); break; } ReportError("DIE has invalid DW_AT_ranges encoding:"); diff --git a/llvm/unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp b/llvm/unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp index c982320..2caf6ca 100644 --- a/llvm/unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp +++ b/llvm/unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp @@ -2008,8 +2008,9 @@ TEST(DWARFDebugInfo, TestDwarfVerifyInvalidRanges) { ASSERT_TRUE((bool)ErrOrSections); std::unique_ptr DwarfContext = DWARFContext::create(*ErrOrSections, 8); - VerifyError(*DwarfContext, - "error: DW_AT_ranges offset is beyond .debug_ranges bounds:"); + VerifyError( + *DwarfContext, + "error: DW_AT_ranges offset is beyond .debug_ranges bounds: 0x00001000"); } TEST(DWARFDebugInfo, TestDwarfVerifyInvalidStmtList) {