mirror of
https://github.com/opnsense/src.git
synced 2026-05-28 04:12:45 -04:00
o Fix a cut-n-paste bug. We were clobbering rp with gp...
o Make sure the arguments to ctx_wrapper() are loaded from the backing store by forcing an underflow. Do this by making all registers in the register frame local.
This commit is contained in:
parent
f14fd87c5e
commit
75fa7db991
1 changed files with 2 additions and 2 deletions
|
|
@ -113,9 +113,9 @@ __makecontext(ucontext_t *ucp, void (*func)(void), int argc, ...)
|
|||
memset(&ucp->uc_mcontext, 0, sizeof(ucp->uc_mcontext));
|
||||
ucp->uc_mcontext.mc_special.sp = (intptr_t)args - 16;
|
||||
ucp->uc_mcontext.mc_special.bspstore = (intptr_t)bsp;
|
||||
ucp->uc_mcontext.mc_special.pfs = 3;
|
||||
ucp->uc_mcontext.mc_special.pfs = (3 << 7) | 3;
|
||||
ucp->uc_mcontext.mc_special.rsc = 0xf;
|
||||
ucp->uc_mcontext.mc_special.rp = ((struct fdesc*)ctx_wrapper)->ip;
|
||||
ucp->uc_mcontext.mc_special.rp = ((struct fdesc*)ctx_wrapper)->gp;
|
||||
ucp->uc_mcontext.mc_special.gp = ((struct fdesc*)ctx_wrapper)->gp;
|
||||
ucp->uc_mcontext.mc_special.fpsr = IA64_FPSR_DEFAULT;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue