Date: Sat, 10 Jul 2004 17:07:23 GMT From: Marcel Moolenaar <marcel@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 56971 for review Message-ID: <200407101707.i6AH7NFA032348@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=56971 Change 56971 by marcel@marcel_nfs on 2004/07/10 17:07:21 Fix braino: The BSP is after the frame on interruption (because we need to preserve the out registers and do so with a cover), but only after the locals on a context switch (the out registers are are the locals (=inputs) to swapctx() and don't need to be preserved). Adjust BSP accordingly. Affected files ... .. //depot/projects/gdb/sys/ia64/ia64/unwind.c#8 edit Differences ... ==== //depot/projects/gdb/sys/ia64/ia64/unwind.c#8 (text+ko) ==== @@ -356,11 +356,12 @@ ip = pcb->pcb_special.iip + ((pcb->pcb_special.psr >> 41) & 3); cfm = pcb->pcb_special.cfm; bsp += pcb->pcb_special.ndirty; + bsp = ia64_bsp_adjust(bsp, -IA64_CFM_SOF(cfm)); } else { ip = pcb->pcb_special.rp; cfm = pcb->pcb_special.pfs; + bsp = ia64_bsp_adjust(bsp, -IA64_CFM_SOL(cfm)); } - bsp = ia64_bsp_adjust(bsp, -IA64_CFM_SOL(cfm)); uwxerr = uwx_init_context(rs->env, ip, pcb->pcb_special.sp, bsp, cfm); return ((uwxerr) ? EINVAL : 0); /* XXX */
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200407101707.i6AH7NFA032348>