[llvm] r358734 - [DWARF] Use hasFileAtIndex to properly verify DWARF 5 after rL358732

David Blaikie via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 22 12:52:11 PDT 2019


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


More information about the llvm-commits mailing list