[Lldb-commits] [PATCH] D75848: [lldb] Make UnwindLLDB a non-plugin

Pavel Labath via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Mon Mar 9 07:30:41 PDT 2020


labath created this revision.
labath added reviewers: jasonmolenda, JDevlieghere, xiaobai.
Herald added a subscriber: mgorny.
Herald added a project: LLDB.

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.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D75848

Files:
  lldb/include/lldb/Target/RegisterContextUnwind.h
  lldb/include/lldb/Target/UnwindLLDB.h
  lldb/source/Plugins/Process/Utility/CMakeLists.txt
  lldb/source/Plugins/Process/Utility/RegisterContextLLDB.cpp
  lldb/source/Plugins/Process/Utility/RegisterContextLLDB.h
  lldb/source/Plugins/Process/Utility/UnwindLLDB.cpp
  lldb/source/Plugins/Process/Utility/UnwindLLDB.h
  lldb/source/Target/CMakeLists.txt
  lldb/source/Target/RegisterContextUnwind.cpp
  lldb/source/Target/Thread.cpp
  lldb/source/Target/UnwindLLDB.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D75848.249087.patch
Type: text/x-patch
Size: 24796 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20200309/9747f2ca/attachment-0001.bin>


More information about the lldb-commits mailing list