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
This commit is contained in:
parent
e9f0d5658c
commit
3245ecbe92
@ -645,10 +645,10 @@ sendsig(sig_t catcher, ksiginfo_t *ksi, sigset_t *mask)
|
||||
/*
|
||||
* 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_t *mcp, int flags)
|
||||
* 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);
|
||||
|
@ -580,10 +580,10 @@ sendsig(sig_t catcher, ksiginfo_t *ksi, sigset_t *mask)
|
||||
/*
|
||||
* 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_t *mcp, int flags)
|
||||
* 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);
|
||||
|
Loading…
Reference in New Issue
Block a user