]> Cypherpunks repositories - gostls13.git/commitdiff
nacl syscall: write return values to correct stack location
authorRuss Cox <rsc@golang.org>
Tue, 22 Sep 2009 17:34:44 +0000 (10:34 -0700)
committerRuss Cox <rsc@golang.org>
Tue, 22 Sep 2009 17:34:44 +0000 (10:34 -0700)
R=r
DELTA=18  (0 added, 0 deleted, 18 changed)
OCL=34894
CL=34894

src/pkg/syscall/asm_nacl_386.s

index 0e993ef3001c5ab3527e7730e19edb06fc532065..976effb5e9b670d3f4f00176eacc5eb1638a3076 100644 (file)
@@ -33,16 +33,16 @@ TEXT        syscall·Syscall(SB),7,$20
 
        CMPL    AX, $0xfffff001
        JLS     ok
-       MOVL    $-1, 20(SP)     // r1
-       MOVL    $0, 24(SP)      // r2
+       MOVL    $-1, r1+16(FP)
+       MOVL    $0, r2+20(FP)
        NEGL    AX
-       MOVL    AX, 28(SP)  // errno
+       MOVL    AX, errno+24(FP)
        CALL    sys·exitsyscall(SB)
        RET
 ok:
-       MOVL    AX, 20(SP)      // r1
-       MOVL    DX, 24(SP)      // r2
-       MOVL    $0, 28(SP)      // errno
+       MOVL    AX, r1+16(FP)
+       MOVL    DX, r2+20(FP)
+       MOVL    $0, errno+24(FP)
        CALL    sys·exitsyscall(SB)
        RET
 
@@ -71,16 +71,16 @@ TEXT        syscall·Syscall6(SB),7,$20
 
        CMPL    AX, $0xfffff001
        JLS     ok6
-       MOVL    $-1, 32(SP)     // r1
-       MOVL    $0, 36(SP)      // r2
+       MOVL    $-1, r1+28(FP)
+       MOVL    $0, r2+32(FP)
        NEGL    AX
-       MOVL    AX, 40(SP)  // errno
+       MOVL    AX, errno+36(FP)
        CALL    sys·exitsyscall(SB)
        RET
 ok6:
-       MOVL    AX, 32(SP)      // r1
-       MOVL    DX, 36(SP)      // r2
-       MOVL    $0, 40(SP)      // errno
+       MOVL    AX, r1+28(FP)
+       MOVL    DX, r2+32(FP)
+       MOVL    $0, errno+36(FP)
        CALL    sys·exitsyscall(SB)
        RET
 
@@ -107,14 +107,14 @@ TEXT      syscall·Syscall(SB),7,$20
 
        CMPL    AX, $0xfffff001
        JLS     ok1
-       MOVL    $-1, 20(SP)     // r1
-       MOVL    $0, 24(SP)      // r2
+       MOVL    $-1, r1+16(FP)
+       MOVL    $0, r2+20(FP)
        NEGL    AX
-       MOVL    AX, 28(SP)  // errno
+       MOVL    AX, errno+24(FP)
        RET
 ok1:
-       MOVL    AX, 20(SP)      // r1
-       MOVL    DX, 24(SP)      // r2
-       MOVL    $0, 28(SP)      // errno
+       MOVL    AX, r1+16(FP)
+       MOVL    DX, r2+20(FP)
+       MOVL    $0, errno+24(FP)
        RET