diff options
author | davidxu <davidxu@FreeBSD.org> | 2003-09-22 14:34:02 +0000 |
---|---|---|
committer | davidxu <davidxu@FreeBSD.org> | 2003-09-22 14:34:02 +0000 |
commit | b429e207503a0d7e9706973510bcb2f4ba914f24 (patch) | |
tree | 65a8d2efb6bfc6ca2cbb229988c5443e23059473 /lib/libkse/arch | |
parent | 231937b5d76ccc60a2446325c6e75c1814c1fc9f (diff) | |
download | FreeBSD-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.S | 4 |
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 */ |