aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2010-01-13 09:08:39 -0800
committerRuss Cox <rsc@golang.org>2010-01-13 09:08:39 -0800
commitf85abf01bcc4543453a1941a8e1734471b6451a5 (patch)
tree1125290e767e931da4bc58cccaeab7f9a4dfca4a
parent63d639295ccf5ebfdcf9ac0802b5b9fbf8502380 (diff)
downloadgo-f85abf01bcc4543453a1941a8e1734471b6451a5.tar.gz
go-f85abf01bcc4543453a1941a8e1734471b6451a5.zip
runtime: reset DF flag after running external code on 386
R=r CC=golang-dev https://golang.org/cl/186108
-rw-r--r--src/pkg/runtime/386/asm.s4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/pkg/runtime/386/asm.s b/src/pkg/runtime/386/asm.s
index 11ce3f6b6f..aa0fd95bb4 100644
--- a/src/pkg/runtime/386/asm.s
+++ b/src/pkg/runtime/386/asm.s
@@ -350,6 +350,10 @@ TEXT runcgo(SB),7,$16
MOVL CX, 4(SP)
MOVL BX, 0(SP)
CALL AX
+
+ // Back; switch to original stack, re-establish
+ // "DF is clear" invariant.
+ CLD
MOVL 4(SP), SP
RET