diff options
author | bde <bde@FreeBSD.org> | 1996-06-01 18:00:07 +0000 |
---|---|---|
committer | bde <bde@FreeBSD.org> | 1996-06-01 18:00:07 +0000 |
commit | cbb7e33d7c911b9eeba2290e625c6fd16d0db7ee (patch) | |
tree | 416d05e16a7663d2913983e3dbb5653511cb0349 /lib/msun | |
parent | 05a2937332277928beba216df0965442b9dc6968 (diff) | |
download | FreeBSD-src-cbb7e33d7c911b9eeba2290e625c6fd16d0db7ee.zip FreeBSD-src-cbb7e33d7c911b9eeba2290e625c6fd16d0db7ee.tar.gz |
Clean up the FP stack before returning. The i387 exp() leaked an FP
register on its first call. Subsequent calls reused the register so
the leak didn't accumulate. Fixes PR 1275.
Diffstat (limited to 'lib/msun')
-rw-r--r-- | lib/msun/i387/e_exp.S | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/msun/i387/e_exp.S b/lib/msun/i387/e_exp.S index 0e2028e..3ba2d43 100644 --- a/lib/msun/i387/e_exp.S +++ b/lib/msun/i387/e_exp.S @@ -35,7 +35,7 @@ #include <machine/asmacros.h> -RCSID("$Id: e_exp.S,v 1.1.1.1 1994/08/19 09:40:00 jkh Exp $") +RCSID("$Id: e_exp.S,v 1.2 1994/08/19 11:14:14 jkh Exp $") /* e^x = 2^(x * log2(e)) */ ENTRY(__ieee754_exp) @@ -50,4 +50,5 @@ ENTRY(__ieee754_exp) fld1 faddp /* 2^(fract(x * log2(e))) */ fscale /* e^x */ + fstpl %st(1) ret |