aboutsummaryrefslogtreecommitdiff
path: root/src/runtime
diff options
context:
space:
mode:
authorKen Thompson <ken@golang.org>2008-06-05 21:02:55 -0700
committerKen Thompson <ken@golang.org>2008-06-05 21:02:55 -0700
commitfa259ff89cd66ab512857ecca2a103e1749494f9 (patch)
treea90bd071abd5e25638747f77fa697b019ed5756f /src/runtime
parent959f9fb3d4983493bd0bc0a0d4f3c0513953235a (diff)
downloadgo-fa259ff89cd66ab512857ecca2a103e1749494f9.tar.xz
fix different ANON flag between
darwin and linux SVN=121371
Diffstat (limited to 'src/runtime')
-rw-r--r--src/runtime/rt0_amd64_linux.s11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/runtime/rt0_amd64_linux.s b/src/runtime/rt0_amd64_linux.s
index 446e10982f..12590bd6c5 100644
--- a/src/runtime/rt0_amd64_linux.s
+++ b/src/runtime/rt0_amd64_linux.s
@@ -60,9 +60,18 @@ TEXT sys_mmap(SB),1,$-8
MOVQ 8(SP), DI
MOVL 16(SP), SI
MOVL 20(SP), DX
- MOVL 24(SP), R10
+ MOVL 24(SP), CX
MOVL 28(SP), R8
MOVL 32(SP), R9
+
+/* flags arg for ANON is 1000 but sb 20 */
+ MOVL CX, AX
+ ANDL $~0x1000, CX
+ ANDL $0x1000, AX
+ SHRL $7, AX
+ ORL AX, CX
+
+ MOVL CX, R10
MOVL $9, AX // syscall entry
SYSCALL
CMPQ AX, $0xfffffffffffff001