On 03/09/2019 21:11, Alexandre Julliard wrote:
Jacek Caban jacek@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