summaryrefslogtreecommitdiff
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
commite8bf92d491269d3a2b0409f47d813317a4361194 (patch)
tree25a20901cda6ce6d014ce5a07406799cd219aae0
parente26ee9df08c24af564d849d23b9f70644e7b9329 (diff)
downloadgolang-e8bf92d491269d3a2b0409f47d813317a4361194.tar.gz
runtime: reset DF flag after running external code on 386
R=r CC=golang-dev http://codereview.appspot.com/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 11ce3f6b6..aa0fd95bb 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