On 03/09/2019 21:11, Alexandre Julliard wrote:
Jacek Caban <jacek(a)codeweavers.com> writes:
@@ -2818,24 +2819,27 @@ static EXCEPTION_RECORD *setup_exception( ucontext_t *sigcontext, raise_func fun stack->rec.NumberParameters = 0; save_context( &stack->context, sigcontext );
- /* store return address and %rbp without aligning, so that the offset is fixed */ - rsp_ptr = (ULONG64 *)RSP_sig(sigcontext) - 16; - *(--rsp_ptr) = RIP_sig(sigcontext); - *(--rsp_ptr) = RBP_sig(sigcontext); - *(--rsp_ptr) = RDI_sig(sigcontext); - *(--rsp_ptr) = RSI_sig(sigcontext); Is there a reason for changing this part instead of moving it as is?
It matters for patch 7. The debugger may change the context while thread is sleeping in send_debug_event. I think we should use modified values in this case. Thanks, Jacek