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:
David Xu 2004-07-02 23:20:05 +00:00
parent 07bfccd71e
commit 39ba326d65

View File

@ -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;