Skip site navigation (1)Skip section navigation (2)
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>