[all-commits] [llvm/llvm-project] ffbff6: [lldb/DWARF] Ignore debug info pointing to the low...

Pavel Labath via All-commits all-commits at lists.llvm.org
Wed Oct 20 02:19:52 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: ffbff6c511ba230954013eca8d824a66f6b4f9a5
      https://github.com/llvm/llvm-project/commit/ffbff6c511ba230954013eca8d824a66f6b4f9a5
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2021-10-20 (Wed, 20 Oct 2021)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
    M lldb/test/Shell/SymbolFile/DWARF/lit.local.cfg
    A lldb/test/Shell/SymbolFile/DWARF/x86/dead-code-filtering.yaml

  Log Message:
  -----------
  [lldb/DWARF] Ignore debug info pointing to the low addresses

specifically, ignore addresses that point before the first code section.

This resurrects D87172 with several notable changes:
- it fixes a bug where the early exits in InitializeObject left
  m_first_code_address "initialized" to LLDB_INVALID_ADDRESS (0xfff..f),
  which caused _everything_ to be ignored.
- it extends the line table fix to function parsing as well, where it
  replaces a similar check which was checking the executable permissions
  of the section. This was insufficient because some
  position-independent elf executables can have an executable segment
  mapped at file address zero. (What makes this fix different is that it
  checks for the executable-ness of the sections contained within that
  segment, and those will not be at address zero.)
- It uses a different test case, with an elf file with near-zero
  addresses, and checks for both line table and function parsing.

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




More information about the All-commits mailing list