]> Cypherpunks repositories - gostls13.git/commitdiff
runtime: correctly negate errno value for *BSD ARM
authorIan Lance Taylor <iant@golang.org>
Mon, 21 Oct 2019 16:55:23 +0000 (09:55 -0700)
committerIan Lance Taylor <iant@golang.org>
Tue, 22 Oct 2019 11:49:50 +0000 (11:49 +0000)
Fixes #35037

Change-Id: I0b9bcd001556cd409994d83dabcdd6e32b001d28
Reviewed-on: https://go-review.googlesource.com/c/go/+/202441
Run-TryBot: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Bryan C. Mills <bcmills@google.com>
src/runtime/sys_freebsd_arm.s
src/runtime/sys_netbsd_arm.s
src/runtime/sys_openbsd_arm.s

index cdfecacfbc74f6866862a5688fb5525d3dd411ce..8da36dff178615c0836649c0157867e2a3e07bf7 100644 (file)
@@ -117,7 +117,7 @@ TEXT runtime·read(SB),NOSPLIT|NOFRAME,$0
        MOVW n+8(FP), R2        // arg 3 count
        MOVW $SYS_read, R7
        SWI $0
-       SUB.CS  $0, R0, R0      // caller expects negative errno
+       RSB.CS  $0, R0          // caller expects negative errno
        MOVW    R0, ret+12(FP)
        RET
 
@@ -153,7 +153,7 @@ TEXT runtime·write1(SB),NOSPLIT|NOFRAME,$0
        MOVW n+8(FP), R2        // arg 3 count
        MOVW $SYS_write, R7
        SWI $0
-       SUB.CS  $0, R0, R0      // caller expects negative errno
+       RSB.CS  $0, R0          // caller expects negative errno
        MOVW    R0, ret+12(FP)
        RET
 
index 423982b1158b02d439246eda5fdb9b0755e7b063..c8ee262d59b49d6ce5385e48d1844b8a12ea968a 100644 (file)
@@ -92,7 +92,7 @@ TEXT runtime·read(SB),NOSPLIT|NOFRAME,$0
        MOVW p+4(FP), R1
        MOVW n+8(FP), R2
        SWI $SYS_read
-       SUB.CS  $0, R0, R0      // caller expects negative errno
+       RSB.CS  $0, R0          // caller expects negative errno
        MOVW    R0, ret+12(FP)
        RET
 
@@ -125,7 +125,7 @@ TEXT runtime·write1(SB),NOSPLIT|NOFRAME,$0
        MOVW    p+4(FP), R1     // arg 2 - buf
        MOVW    n+8(FP), R2     // arg 3 - nbyte
        SWI $SYS_write
-       SUB.CS  $0, R0, R0      // caller expects negative errno
+       RSB.CS  $0, R0          // caller expects negative errno
        MOVW    R0, ret+12(FP)
        RET
 
index 3736451ba2ae3a1895997ee9094d3875aed28447..92ab3270beecee62785b58ee16e3c40df6ba35c0 100644 (file)
@@ -55,7 +55,7 @@ TEXT runtime·read(SB),NOSPLIT|NOFRAME,$0
        MOVW    n+8(FP), R2             // arg 3 - nbyte
        MOVW    $3, R12                 // sys_read
        SWI     $0
-       SUB.CS  $0, R0, R0      // caller expects negative errno
+       RSB.CS  $0, R0          // caller expects negative errno
        MOVW    R0, ret+12(FP)
        RET
 
@@ -82,7 +82,7 @@ TEXT runtime·write1(SB),NOSPLIT|NOFRAME,$0
        MOVW    n+8(FP), R2             // arg 3 - nbyte
        MOVW    $4, R12                 // sys_write
        SWI     $0
-       SUB.CS  $0, R0, R0      // caller expects negative errno
+       RSB.CS  $0, R0          // caller expects negative errno
        MOVW    R0, ret+12(FP)
        RET