[all-commits] [llvm/llvm-project] 27df2d: [lldb] Don't process symlinks deep inside DWARFUnit

Pavel Labath via All-commits all-commits at lists.llvm.org
Mon Jan 20 04:06:08 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 27df2d9f556c3199601ecd1f15c1b37cd49ed9df
      https://github.com/llvm/llvm-project/commit/27df2d9f556c3199601ecd1f15c1b37cd49ed9df
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2020-01-20 (Mon, 20 Jan 2020)

  Changed paths:
    M lldb/include/lldb/Core/Module.h
    M lldb/include/lldb/Core/ModuleList.h
    M lldb/packages/Python/lldbsuite/test/functionalities/breakpoint/comp_dir_symlink/TestCompDirSymLink.py
    M lldb/source/Core/CoreProperties.td
    M lldb/source/Core/ModuleList.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFProperties.td

  Log Message:
  -----------
  [lldb] Don't process symlinks deep inside DWARFUnit

Summary:
This code is handling debug info paths starting with /proc/self/cwd,
which is one of the mechanisms people use to obtain "relocatable" debug
info (the idea being that one starts the debugger with an appropriate
cwd and things "just work").

Instead of resolving the symlinks inside DWARFUnit, we can do the same
thing more elegantly by hooking into the existing Module path remapping
code. Since llvm::DWARFUnit does not support any similar functionality,
doing things this way is also a step towards unifying llvm and lldb
dwarf parsers.

Reviewers: JDevlieghere, aprantl, clayborg, jdoerfert

Subscribers: lldb-commits

Tags: #lldb

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




More information about the All-commits mailing list