[PATCH 2/7] ntdll: Factor out setup_raise_exception.

Jacek Caban jacek at codeweavers.com
Tue Sep 3 14:23:34 CDT 2019


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




More information about the wine-devel mailing list