summaryrefslogtreecommitdiff
path: root/lib/libm/arch/i387
diff options
context:
space:
mode:
authorTheo de Raadt <deraadt@cvs.openbsd.org>1998-04-25 08:14:59 +0000
committerTheo de Raadt <deraadt@cvs.openbsd.org>1998-04-25 08:14:59 +0000
commit906ddbf4bf0f89ad9ba7a4279600dcd064d821d0 (patch)
tree0d6e3f7b50a1828d5acb057b5321eb726b62ddac /lib/libm/arch/i387
parent3b37fc9c1875d2f6cc8166dc5836b26e6c824feb (diff)
scalb*() left an extra item on the x86 FPreg stack on return; gwes@oat.com
Diffstat (limited to 'lib/libm/arch/i387')
-rw-r--r--lib/libm/arch/i387/e_scalb.S1
-rw-r--r--lib/libm/arch/i387/s_scalbn.S1
-rw-r--r--lib/libm/arch/i387/s_scalbnf.S1
3 files changed, 3 insertions, 0 deletions
diff --git a/lib/libm/arch/i387/e_scalb.S b/lib/libm/arch/i387/e_scalb.S
index 7d95f8e3b30..a495b75c54b 100644
--- a/lib/libm/arch/i387/e_scalb.S
+++ b/lib/libm/arch/i387/e_scalb.S
@@ -11,4 +11,5 @@ ENTRY(__ieee754_scalb)
fldl 12(%esp)
fldl 4(%esp)
fscale
+ fstp %st(1) /* bug fix for fp stack overflow */
ret
diff --git a/lib/libm/arch/i387/s_scalbn.S b/lib/libm/arch/i387/s_scalbn.S
index 743ee38c49b..368dbb1c7ed 100644
--- a/lib/libm/arch/i387/s_scalbn.S
+++ b/lib/libm/arch/i387/s_scalbn.S
@@ -11,4 +11,5 @@ ENTRY(scalbn)
fildl 12(%esp)
fldl 4(%esp)
fscale
+ fstp %st(1) /* bug fix for fp stack overflow */
ret
diff --git a/lib/libm/arch/i387/s_scalbnf.S b/lib/libm/arch/i387/s_scalbnf.S
index 6cae0248876..3cd7827f9b7 100644
--- a/lib/libm/arch/i387/s_scalbnf.S
+++ b/lib/libm/arch/i387/s_scalbnf.S
@@ -11,4 +11,5 @@ ENTRY(scalbnf)
fildl 8(%esp)
flds 4(%esp)
fscale
+ fstp %st(1) /* bug fix for fp stack overflow */
ret