aboutsummaryrefslogtreecommitdiff
path: root/src/pkg/runtime/sys_x86.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/pkg/runtime/sys_x86.c')
-rw-r--r--src/pkg/runtime/sys_x86.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/pkg/runtime/sys_x86.c b/src/pkg/runtime/sys_x86.c
index f24337eac7..a450b3e584 100644
--- a/src/pkg/runtime/sys_x86.c
+++ b/src/pkg/runtime/sys_x86.c
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
-// +build amd64 386
+// +build amd64 amd64p32 386
#include "runtime.h"
@@ -14,6 +14,8 @@ runtime·gostartcall(Gobuf *gobuf, void (*fn)(void), void *ctxt)
uintptr *sp;
sp = (uintptr*)gobuf->sp;
+ if(sizeof(uintreg) > sizeof(uintptr))
+ *--sp = 0;
*--sp = (uintptr)gobuf->pc;
gobuf->sp = (uintptr)sp;
gobuf->pc = (uintptr)fn;