[llvm] r358734 - [DWARF] Use hasFileAtIndex to properly verify DWARF 5 after rL358732
Fāng-ruì Sòng via llvm-commits
llvm-commits at lists.llvm.org
Mon Apr 29 00:10:58 PDT 2019
I think I'll need to patch ObjectYAML/DWARFEmitter (used by
DWARFDebugInfoTest.cpp:TestDwarfVerifyInvalidLineFileIndex) first. It
doesn't support DWARF v5 yet.
On Tue, Apr 23, 2019 at 3:52 AM David Blaikie <dblaikie at gmail.com> wrote:
> Was this change addressing a failing test on a buildbot? Or should it
> have a new test case of some kind?
>
> On Thu, Apr 18, 2019 at 8:32 PM Fangrui Song via llvm-commits
> <llvm-commits at lists.llvm.org> wrote:
> >
> > Author: maskray
> > Date: Thu Apr 18 20:34:28 2019
> > New Revision: 358734
> >
> > URL: http://llvm.org/viewvc/llvm-project?rev=358734&view=rev
> > Log:
> > [DWARF] Use hasFileAtIndex to properly verify DWARF 5 after rL358732
> >
> > Modified:
> > llvm/trunk/lib/DebugInfo/DWARF/DWARFVerifier.cpp
> >
> > Modified: llvm/trunk/lib/DebugInfo/DWARF/DWARFVerifier.cpp
> > URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/DWARF/DWARFVerifier.cpp?rev=358734&r1=358733&r2=358734&view=diff
> >
> ==============================================================================
> > --- llvm/trunk/lib/DebugInfo/DWARF/DWARFVerifier.cpp (original)
> > +++ llvm/trunk/lib/DebugInfo/DWARF/DWARFVerifier.cpp Thu Apr 18 20:34:28
> 2019
> > @@ -705,7 +705,6 @@ void DWARFVerifier::verifyDebugLineRows(
> > continue;
> >
> > // Verify prologue.
> > - uint32_t MaxFileIndex = LineTable->Prologue.FileNames.size();
> > uint32_t MaxDirIndex =
> LineTable->Prologue.IncludeDirectories.size();
> > uint32_t FileIndex = 1;
> > StringMap<uint16_t> FullPathMap;
> > @@ -763,13 +762,16 @@ void DWARFVerifier::verifyDebugLineRows(
> > }
> >
> > // Verify file index.
> > - if (Row.File > MaxFileIndex) {
> > + if (!LineTable->hasFileAtIndex(Row.File)) {
> > ++NumDebugLineErrors;
> > + bool isDWARF5 = LineTable->Prologue.getVersion() >= 5;
> > error() << ".debug_line["
> > << format("0x%08" PRIx64,
> > *toSectionOffset(Die.find(DW_AT_stmt_list)))
> > << "][" << RowIndex << "] has invalid file index " <<
> Row.File
> > - << " (valid values are [1," << MaxFileIndex << "]):\n";
> > + << " (valid values are [" << (isDWARF5 ? "0," : "1,")
> > + << LineTable->Prologue.FileNames.size()
> > + << (isDWARF5 ? ")" : "]") << "):\n";
> > DWARFDebugLine::Row::dumpTableHeader(OS);
> > Row.dump(OS);
> > OS << '\n';
> >
> >
> > _______________________________________________
> > llvm-commits mailing list
> > llvm-commits at lists.llvm.org
> > https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
--
宋方睿
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190429/bda02208/attachment.html>
More information about the llvm-commits
mailing list