aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2010-12-13 10:04:53 -0500
committerRuss Cox <rsc@golang.org>2010-12-13 10:04:53 -0500
commitcc1556d9a29865f1cce8d0ee516b6116bae3ca54 (patch)
tree3a446905d40cb8d1a45020f524142e8b2d650b44
parent84713d46f6acc2f64b544e7ede1326a2d3a46d09 (diff)
downloadgo-cc1556d9a29865f1cce8d0ee516b6116bae3ca54.tar.gz
go-cc1556d9a29865f1cce8d0ee516b6116bae3ca54.zip
runtime/linux/386: set FPU to 64-bit precision
Fixes #550. R=r CC=golang-dev https://golang.org/cl/3469044
-rw-r--r--src/pkg/runtime/linux/386/rt0.s8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/pkg/runtime/linux/386/rt0.s b/src/pkg/runtime/linux/386/rt0.s
index 223e6d2ea4..0f82d6a1c7 100644
--- a/src/pkg/runtime/linux/386/rt0.s
+++ b/src/pkg/runtime/linux/386/rt0.s
@@ -5,5 +5,13 @@
// Darwin and Linux use the same linkage to main
TEXT _rt0_386_linux(SB),7,$0
+ // Linux starts the FPU in extended double precision.
+ // Other operating systems use double precision.
+ // Change to double precision to match them,
+ // and to match other hardware that only has double.
+ PUSHL $0x27F
+ FLDCW 0(SP)
+ POPL AX
+
JMP _rt0_386(SB)