[Lldb-commits] [PATCH] D64993: Fix PC adjustment in StackFrame::GetSymbolContext
Joseph Tremoulet via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Fri Jul 19 07:28:27 PDT 2019
JosephTremoulet created this revision.
JosephTremoulet added reviewers: jasonmolenda, clayborg.
Herald added a reviewer: jfb.
Herald added a project: LLDB.
Update StackFrame::GetSymbolContext to mirror the logic in
RegisterContextLLDB::InitializeNonZerothFrame that knows not to do the
pc decrement when the given frame is a signal trap handler frame or the
parent of one, because the pc may not follow a call in these frames.
Accomplish this by adding a behaves_like_zeroth_frame field to
lldb_private::StackFrame, set to true for the zeroth frame, for
signal handler frames, and for parents of signal handler frames.
Also add logic to propagate the signal handler flag from UnwindPlan to
the FrameType on the RegisterContextLLDB it generates, and factor out a
helper to resolve symbol and address range for a RegisterContextLLDB now
that we have it in four places.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D64993
Files:
lldb/include/lldb/Target/StackFrame.h
lldb/include/lldb/Target/Unwind.h
lldb/source/Plugins/Process/Utility/HistoryUnwind.cpp
lldb/source/Plugins/Process/Utility/HistoryUnwind.h
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/Plugins/Process/Utility/UnwindMacOSXFrameBackchain.cpp
lldb/source/Plugins/Process/Utility/UnwindMacOSXFrameBackchain.h
lldb/source/Target/StackFrame.cpp
lldb/source/Target/StackFrameList.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D64993.210831.patch
Type: text/x-patch
Size: 27775 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20190719/37030304/attachment-0001.bin>
More information about the lldb-commits
mailing list