[all-commits] [llvm/llvm-project] d381b6: [DWARF] Fix v5 debug_line parsing of prologues wit...

Pavel Labath via All-commits all-commits at lists.llvm.org
Tue Mar 24 07:12:01 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: d381b6a8d3e87d65f4ae9ca4d4333203e01825f5
      https://github.com/llvm/llvm-project/commit/d381b6a8d3e87d65f4ae9ca4d4333203e01825f5
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2020-03-24 (Tue, 24 Mar 2020)

  Changed paths:
    M llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
    A llvm/test/tools/llvm-dwarfdump/X86/debug_line_many_files_v5.s

  Log Message:
  -----------
  [DWARF] Fix v5 debug_line parsing of prologues with many files

Summary:
The directory_count and file_name_count fields are (section 6.2.4 of
DWARF5 spec) supposed to be uleb128s, not bytes. This bug meant that it
was not possible to correctly parse headers with more than 128 files or
directories.

I've found this bug by code inspection, though the limit is so small
someone would have run into it for real sooner or later. I've verified
that the producer side handles many files correctly, and that we are
able to parse such files after this fix.

Reviewers: dblaikie, jhenderson

Subscribers: aprantl, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D76498




More information about the All-commits mailing list