From: Eric Pouech epouech@codeweavers.com
Signed-off-by: Eric Pouech epouech@codeweavers.com --- dlls/dbghelp/dwarf.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/dlls/dbghelp/dwarf.c b/dlls/dbghelp/dwarf.c index b8bc3ae2e49..2a4f9a16228 100644 --- a/dlls/dbghelp/dwarf.c +++ b/dlls/dbghelp/dwarf.c @@ -3761,7 +3761,7 @@ static void apply_frame_state(const struct module* module, struct cpu_stack_walk *cfa = eval_expression(module, csw, (const unsigned char*)state->cfa_offset, context); break; default: - *cfa = get_context_reg(module, csw, context, state->cfa_reg) + state->cfa_offset; + *cfa = get_context_reg(module, csw, context, state->cfa_reg) + (LONG_PTR)state->cfa_offset; break; } if (!*cfa) return; @@ -3775,7 +3775,7 @@ static void apply_frame_state(const struct module* module, struct cpu_stack_walk case RULE_SAME: break; case RULE_CFA_OFFSET: - set_context_reg(module, csw, &new_context, i, *cfa + state->regs[i], TRUE); + set_context_reg(module, csw, &new_context, i, *cfa + (LONG_PTR)state->regs[i], TRUE); break; case RULE_OTHER_REG: copy_context_reg(module, csw, &new_context, i, context, state->regs[i]);