[all-commits] [llvm/llvm-project] 265a38: Check if debug line sequences are starting after t...

António Afonso via All-commits all-commits at lists.llvm.org
Mon Nov 9 08:26:51 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 265a38fbc547adc0e2b71a98dac4d0a60b0dd63c
      https://github.com/llvm/llvm-project/commit/265a38fbc547adc0e2b71a98dac4d0a60b0dd63c
  Author: António Afonso <antonio.afonso at gmail.com>
  Date:   2020-11-09 (Mon, 09 Nov 2020)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
    A lldb/test/Shell/SymbolFile/DWARF/line-entries-invalid-addresses.yaml

  Log Message:
  -----------
  Check if debug line sequences are starting after the first code segment

I found a few cases where entries in the debug_line for a specific line of code have invalid entries (the address is outside of a code section or no section at all) and also valid entries. When this happens lldb might not set the breakpoint because the first line entry it will find in the line table might be the invalid one and since it's range is "invalid" no location is resolved. To get around this I changed the way we parse the line sequences to ignore those starting at an address under the first code segment.
Greg suggested to implement it this way so we don't need to check all sections for every line sequence.

Reviewed By: clayborg

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


  Commit: df30bc0168d236e5575d815030d6fe4cd8626f34
      https://github.com/llvm/llvm-project/commit/df30bc0168d236e5575d815030d6fe4cd8626f34
  Author: António Afonso <antonio.afonso at gmail.com>
  Date:   2020-11-09 (Mon, 09 Nov 2020)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParser.h
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    A lldb/test/Shell/SymbolFile/DWARF/function-entries-invalid-addresses.yaml

  Log Message:
  -----------
  Ignores functions that have a range starting outside of a code section

This is a similar patch to https://reviews.llvm.org/D87172. Greg said we should also do it for functions.

Reviewed By: clayborg, labath

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


Compare: https://github.com/llvm/llvm-project/compare/d5a465866eea...df30bc0168d2


More information about the All-commits mailing list