summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/libc/ia64/gen/makecontext.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/libc/ia64/gen/makecontext.c b/lib/libc/ia64/gen/makecontext.c
index 6d52236..8a9e566 100644
--- a/lib/libc/ia64/gen/makecontext.c
+++ b/lib/libc/ia64/gen/makecontext.c
@@ -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;
}
OpenPOWER on IntegriCloud