mirror of
git://source.winehq.org/git/wine.git
synced 2024-10-14 18:54:41 +00:00
dbghelp: Check that dwarf unwinder did actually unwind.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55560 Signed-off-by: Eric Pouech <epouech@codeweavers.com>
This commit is contained in:
parent
80a9c0efa8
commit
9a28dbfb27
|
@ -612,6 +612,7 @@ static BOOL fetch_next_frame(struct cpu_stack_walk *csw, union ctx *pcontext,
|
|||
RUNTIME_FUNCTION* rtf;
|
||||
DWORD64 base;
|
||||
CONTEXT *context = &pcontext->ctx;
|
||||
DWORD64 input_Rip = context->Rip;
|
||||
|
||||
if (!curr_pc || !(base = sw_module_base(csw, curr_pc))) return FALSE;
|
||||
rtf = sw_table_access(csw, curr_pc);
|
||||
|
@ -620,7 +621,7 @@ static BOOL fetch_next_frame(struct cpu_stack_walk *csw, union ctx *pcontext,
|
|||
{
|
||||
return interpret_function_table_entry(csw, context, rtf, base);
|
||||
}
|
||||
else if (dwarf2_virtual_unwind(csw, curr_pc, pcontext, &cfa))
|
||||
else if (dwarf2_virtual_unwind(csw, curr_pc, pcontext, &cfa) && input_Rip != context->Rip)
|
||||
{
|
||||
context->Rsp = cfa;
|
||||
TRACE("next function rip=%016Ix\n", context->Rip);
|
||||
|
|
Loading…
Reference in a new issue