<div dir="ltr"><div dir="ltr">I think I'll need to patch ObjectYAML/DWARFEmitter (used by DWARFDebugInfoTest.cpp:TestDwarfVerifyInvalidLineFileIndex) first. It doesn't support DWARF v5 yet.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Apr 23, 2019 at 3:52 AM David Blaikie <<a href="mailto:dblaikie@gmail.com">dblaikie@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Was this change addressing a failing test on a buildbot? Or should it<br>
have a new test case of some kind?<br>
<br>
On Thu, Apr 18, 2019 at 8:32 PM Fangrui Song via llvm-commits<br>
<<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a>> wrote:<br>
><br>
> Author: maskray<br>
> Date: Thu Apr 18 20:34:28 2019<br>
> New Revision: 358734<br>
><br>
> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=358734&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project?rev=358734&view=rev</a><br>
> Log:<br>
> [DWARF] Use hasFileAtIndex to properly verify DWARF 5 after rL358732<br>
><br>
> Modified:<br>
>     llvm/trunk/lib/DebugInfo/DWARF/DWARFVerifier.cpp<br>
><br>
> Modified: llvm/trunk/lib/DebugInfo/DWARF/DWARFVerifier.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/DWARF/DWARFVerifier.cpp?rev=358734&r1=358733&r2=358734&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/DWARF/DWARFVerifier.cpp?rev=358734&r1=358733&r2=358734&view=diff</a><br>
> ==============================================================================<br>
> --- llvm/trunk/lib/DebugInfo/DWARF/DWARFVerifier.cpp (original)<br>
> +++ llvm/trunk/lib/DebugInfo/DWARF/DWARFVerifier.cpp Thu Apr 18 20:34:28 2019<br>
> @@ -705,7 +705,6 @@ void DWARFVerifier::verifyDebugLineRows(<br>
>        continue;<br>
><br>
>      // Verify prologue.<br>
> -    uint32_t MaxFileIndex = LineTable->Prologue.FileNames.size();<br>
>      uint32_t MaxDirIndex = LineTable->Prologue.IncludeDirectories.size();<br>
>      uint32_t FileIndex = 1;<br>
>      StringMap<uint16_t> FullPathMap;<br>
> @@ -763,13 +762,16 @@ void DWARFVerifier::verifyDebugLineRows(<br>
>        }<br>
><br>
>        // Verify file index.<br>
> -      if (Row.File > MaxFileIndex) {<br>
> +      if (!LineTable->hasFileAtIndex(Row.File)) {<br>
>          ++NumDebugLineErrors;<br>
> +        bool isDWARF5 = LineTable->Prologue.getVersion() >= 5;<br>
>          error() << ".debug_line["<br>
>                  << format("0x%08" PRIx64,<br>
>                            *toSectionOffset(Die.find(DW_AT_stmt_list)))<br>
>                  << "][" << RowIndex << "] has invalid file index " << Row.File<br>
> -                << " (valid values are [1," << MaxFileIndex << "]):\n";<br>
> +                << " (valid values are [" << (isDWARF5 ? "0," : "1,")<br>
> +                << LineTable->Prologue.FileNames.size()<br>
> +                << (isDWARF5 ? ")" : "]") << "):\n";<br>
>          DWARFDebugLine::Row::dumpTableHeader(OS);<br>
>          Row.dump(OS);<br>
>          OS << '\n';<br>
><br>
><br>
> _______________________________________________<br>
> llvm-commits mailing list<br>
> <a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a><br>
> <a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr">宋方睿</div></div>