[Lldb-commits] [lldb] [lldb] Improve unwinding for discontinuous functions (PR #111409)
Pavel Labath via lldb-commits
lldb-commits at lists.llvm.org
Mon Oct 7 10:27:39 PDT 2024
================
@@ -3583,10 +3583,12 @@ class CommandObjectTargetModulesShowUnwind : public CommandObjectParsed {
addr_t start_addr = range.GetBaseAddress().GetLoadAddress(target);
if (abi)
start_addr = abi->FixCodeAddress(start_addr);
+ range.GetBaseAddress().SetLoadAddress(start_addr, target);
FuncUnwindersSP func_unwinders_sp(
sc.module_sp->GetUnwindTable()
- .GetUncachedFuncUnwindersContainingAddress(start_addr, sc));
+ .GetUncachedFuncUnwindersContainingAddress(range.GetBaseAddress(),
----------------
labath wrote:
This is because `image show-unwind` wouldn't use the eh_frame address range without it (it requires a resolved address).
BTW. This would have been easier to investigate (and test) if this command used the actual cached unwind plans instead of creating them from scratch. This way I was left puzzled as to unwind went off track even though the unwind plans looked (mostly) reasonable. What would you say to:
a) adding an option to use/print the cached plans
b) making this option the default
c) deleting the non-cached option entirely?
https://github.com/llvm/llvm-project/pull/111409
More information about the lldb-commits
mailing list