[all-commits] [llvm/llvm-project] d00dff: [lldb] Make UnwindLLDB a non-plugin

Pavel Labath via All-commits all-commits at lists.llvm.org
Tue Mar 10 05:58:30 PDT 2020


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

  Changed paths:
    A lldb/include/lldb/Target/RegisterContextUnwind.h
    A lldb/include/lldb/Target/UnwindLLDB.h
    M lldb/source/Plugins/Process/Utility/CMakeLists.txt
    R lldb/source/Plugins/Process/Utility/RegisterContextLLDB.cpp
    R lldb/source/Plugins/Process/Utility/RegisterContextLLDB.h
    R lldb/source/Plugins/Process/Utility/UnwindLLDB.cpp
    R lldb/source/Plugins/Process/Utility/UnwindLLDB.h
    M lldb/source/Target/CMakeLists.txt
    A lldb/source/Target/RegisterContextUnwind.cpp
    M lldb/source/Target/Thread.cpp
    A lldb/source/Target/UnwindLLDB.cpp

  Log Message:
  -----------
  [lldb] Make UnwindLLDB a non-plugin

Summary:
This is the only real unwinder, and things have been this way for quite
a long time. At this point, the class has accumulated so many features
it is unlikely that anyone will want to reimplement the whole thing.

The class is also fairly closely coupled (through UnwindPlans and
FuncUnwinders) with a lot of other lldb components that it is hard to
imagine a different unwinder implementation being substantially
different without reimplementing all of those.

The existing unwinding functionality is nonetheless fairly complex and
there is space for adding more structure to it, but I believe a more
worthwhile effort would be to take the existing UnwindLLDB class and try
to break it down and introduce extension/customization points, instead
of writing a brand new Unwind implementation.

Reviewers: jasonmolenda, JDevlieghere, xiaobai

Subscribers: mgorny, lldb-commits

Tags: #lldb

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




More information about the All-commits mailing list