Lines Matching refs:ucp
39 static void sigctx_wrapper(ucontext_t *ucp, handler_t func, uint64_t *args);
44 __signalcontext(ucontext_t *ucp, int sig, __sighandler_t *func)
52 if (ucp == NULL)
61 sp = (ucp->uc_mcontext.mc_rsp - 128 - sizeof(ucontext_t)) & ~15UL;
63 bcopy(ucp, sig_uc, sizeof(*sig_uc));
78 bzero(&ucp->uc_mcontext, sizeof(ucp->uc_mcontext));
79 ucp->uc_mcontext.mc_fpformat = _MC_FPFMT_NODEV;
80 ucp->uc_mcontext.mc_ownedfp = _MC_FPOWNED_NONE;
81 ucp->uc_link = sig_uc;
82 sigdelset(&ucp->uc_sigmask, sig);
84 ucp->uc_mcontext.mc_len = sizeof(mcontext_t);
85 ucp->uc_mcontext.mc_rdi = (register_t)ucp;
86 ucp->uc_mcontext.mc_rsi = (register_t)func;
87 ucp->uc_mcontext.mc_rdx = (register_t)args;
88 ucp->uc_mcontext.mc_rbp = (register_t)sp;
89 ucp->uc_mcontext.mc_rbx = (register_t)sp;
90 ucp->uc_mcontext.mc_rsp = (register_t)sp;
91 ucp->uc_mcontext.mc_rip = (register_t)sigctx_wrapper;
96 sigctx_wrapper(ucontext_t *ucp, handler_t func, uint64_t *args)
100 if (ucp->uc_link == NULL)
102 setcontext((const ucontext_t *)ucp->uc_link);