From fa259ff89cd66ab512857ecca2a103e1749494f9 Mon Sep 17 00:00:00 2001 From: Ken Thompson Date: Thu, 5 Jun 2008 21:02:55 -0700 Subject: [PATCH] fix different ANON flag between darwin and linux SVN=121371 --- src/runtime/rt0_amd64_linux.s | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) 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 -- 2.48.1