[Lldb-commits] [PATCH] D61732: FuncUnwinders: Add a new "SymbolFile" unwind plan

Greg Clayton via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Thu May 9 07:41:24 PDT 2019

clayborg added a comment.

Looks good except the inline comment about all the unwind plans we have now. Would love to simplify this so that EH frame, compact unwind, ARM unwind, breakpad unwind all come from the symbol file or object files. Also be nice to have a register resolver that works without having a process so we can dump unwind info without needing a process.

Comment at: include/lldb/Symbol/FuncUnwinders.h:123-124
   std::vector<lldb::UnwindPlanSP> m_unwind_plan_compact_unwind;
   lldb::UnwindPlanSP m_unwind_plan_arm_unwind_sp;
+  lldb::UnwindPlanSP m_unwind_plan_symbol_file_sp;
Seems like the compact unwind should move into the ObjectFileMachO and ARM unwind should move into ObjectFileELF as part of this? We have so many unwind plans here, the logic is already too complex around the selection process. Seems like m_unwind_plan_compact_unwind, m_unwind_plan_arm_unwind_sp, and possibly even m_unwind_plan_eh_frame_augmented_sp and m_unwind_plan_debug_frame_augmented_sp should all be moved into the ObjectFile classes so they can be accessed by the symbol file. This will allow say ObjectFileMachO to determine which is the best to use for a given address, and also ObjectFileELF.



More information about the lldb-commits mailing list