summaryrefslogtreecommitdiffstats
path: root/lib/libkse/arch
diff options
context:
space:
mode:
authordavidxu <davidxu@FreeBSD.org>2003-09-22 14:34:02 +0000
committerdavidxu <davidxu@FreeBSD.org>2003-09-22 14:34:02 +0000
commitb429e207503a0d7e9706973510bcb2f4ba914f24 (patch)
tree65a8d2efb6bfc6ca2cbb229988c5443e23059473 /lib/libkse/arch
parent231937b5d76ccc60a2446325c6e75c1814c1fc9f (diff)
downloadFreeBSD-src-b429e207503a0d7e9706973510bcb2f4ba914f24.zip
FreeBSD-src-b429e207503a0d7e9706973510bcb2f4ba914f24.tar.gz
Fix FPU state restoring bug by jumping to right position.
Diffstat (limited to 'lib/libkse/arch')
-rw-r--r--lib/libkse/arch/i386/i386/thr_getcontext.S4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/libkse/arch/i386/i386/thr_getcontext.S b/lib/libkse/arch/i386/i386/thr_getcontext.S
index 7f58dce..c3d6a78 100644
--- a/lib/libkse/arch/i386/i386/thr_getcontext.S
+++ b/lib/libkse/arch/i386/i386/thr_getcontext.S
@@ -88,9 +88,9 @@ ENTRY(__thr_setcontext)
cmpl $MC_OWNEDFP_PCB, MC_OWNEDFP_OFFSET(%edx)
jne 5f
3: cmpl $MC_FPFMT_387, MC_FPFMT_OFFSET(%edx)
- jne 5f
+ jne 4f
frstor MC_FPREGS_OFFSET(%edx) /* restore 387 FP regs */
- jmp 5f
+ jmp 6f
4: cmpl $MC_FPFMT_XMM, MC_FPFMT_OFFSET(%edx)
jne 5f
fxrstor MC_FPREGS_OFFSET(%edx) /* restore XMM FP regs */
OpenPOWER on IntegriCloud