Follow previous change in makecontext. Use %esi to store next ucp
pointer, here we keep orignal %ebp, so we can see where signal handler comes in and interrupt normal code.
This commit is contained in:
parent
07bfccd71e
commit
39ba326d65
@ -69,7 +69,7 @@ __signalcontext(ucontext_t *ucp, int sig, __sighandler_t *func)
|
||||
/*
|
||||
* Set up ucontext_t.
|
||||
*/
|
||||
ucp->uc_mcontext.mc_ebp = ucp->uc_mcontext.mc_esp - sizeof(int);
|
||||
ucp->uc_mcontext.mc_esi = ucp->uc_mcontext.mc_esp - sizeof(int);
|
||||
ucp->uc_mcontext.mc_esp = (register_t)(intptr_t)p;
|
||||
ucp->uc_mcontext.mc_eip = (register_t)(intptr_t)_ctx_start;
|
||||
ucp->uc_mcontext.mc_eflags &= ~PSL_T;
|
||||
|
Loading…
Reference in New Issue
Block a user