svn commit: r210294 - in head/sys: i386/i386 pc98/pc98

Tijl Coosemans tijl at FreeBSD.org
Tue Jul 20 12:36:36 UTC 2010


Author: tijl
Date: Tue Jul 20 12:36:36 2010
New Revision: 210294
URL: http://svn.freebsd.org/changeset/base/210294

Log:
  Store fsbase and gsbase in the right fields of the mcontext. They were
  switched.
  
  PR:		i386/148344
  Approved by:	kib (mentor)
  MFC after:	1 week

Modified:
  head/sys/i386/i386/machdep.c
  head/sys/pc98/pc98/machdep.c

Modified: head/sys/i386/i386/machdep.c
==============================================================================
--- head/sys/i386/i386/machdep.c	Tue Jul 20 11:46:45 2010	(r210293)
+++ head/sys/i386/i386/machdep.c	Tue Jul 20 12:36:36 2010	(r210294)
@@ -645,10 +645,10 @@ sendsig(sig_t catcher, ksiginfo_t *ksi, 
 	/*
 	 * Unconditionally fill the fsbase and gsbase into the mcontext.
 	 */
-	sdp = &td->td_pcb->pcb_gsd;
+	sdp = &td->td_pcb->pcb_fsd;
 	sf.sf_uc.uc_mcontext.mc_fsbase = sdp->sd_hibase << 24 |
 	    sdp->sd_lobase;
-	sdp = &td->td_pcb->pcb_fsd;
+	sdp = &td->td_pcb->pcb_gsd;
 	sf.sf_uc.uc_mcontext.mc_gsbase = sdp->sd_hibase << 24 |
 	    sdp->sd_lobase;
 
@@ -3255,9 +3255,9 @@ get_mcontext(struct thread *td, mcontext
 	 * mcontext after mc_fpstate.
 	 */
 	get_fpcontext(td, mcp);
-	sdp = &td->td_pcb->pcb_gsd;
-	mcp->mc_fsbase = sdp->sd_hibase << 24 | sdp->sd_lobase;
 	sdp = &td->td_pcb->pcb_fsd;
+	mcp->mc_fsbase = sdp->sd_hibase << 24 | sdp->sd_lobase;
+	sdp = &td->td_pcb->pcb_gsd;
 	mcp->mc_gsbase = sdp->sd_hibase << 24 | sdp->sd_lobase;
 
 	return (0);

Modified: head/sys/pc98/pc98/machdep.c
==============================================================================
--- head/sys/pc98/pc98/machdep.c	Tue Jul 20 11:46:45 2010	(r210293)
+++ head/sys/pc98/pc98/machdep.c	Tue Jul 20 12:36:36 2010	(r210294)
@@ -580,10 +580,10 @@ sendsig(sig_t catcher, ksiginfo_t *ksi, 
 	/*
 	 * Unconditionally fill the fsbase and gsbase into the mcontext.
 	 */
-	sdp = &td->td_pcb->pcb_gsd;
+	sdp = &td->td_pcb->pcb_fsd;
 	sf.sf_uc.uc_mcontext.mc_fsbase = sdp->sd_hibase << 24 |
 	    sdp->sd_lobase;
-	sdp = &td->td_pcb->pcb_fsd;
+	sdp = &td->td_pcb->pcb_gsd;
 	sf.sf_uc.uc_mcontext.mc_gsbase = sdp->sd_hibase << 24 |
 	    sdp->sd_lobase;
 
@@ -2583,9 +2583,9 @@ get_mcontext(struct thread *td, mcontext
 	 * mcontext after mc_fpstate.
 	 */
 	get_fpcontext(td, mcp);
-	sdp = &td->td_pcb->pcb_gsd;
-	mcp->mc_fsbase = sdp->sd_hibase << 24 | sdp->sd_lobase;
 	sdp = &td->td_pcb->pcb_fsd;
+	mcp->mc_fsbase = sdp->sd_hibase << 24 | sdp->sd_lobase;
+	sdp = &td->td_pcb->pcb_gsd;
 	mcp->mc_gsbase = sdp->sd_hibase << 24 | sdp->sd_lobase;
 
 	return (0);


More information about the svn-src-all mailing list