aboutsummaryrefslogtreecommitdiff
path: root/src/runtime
diff options
context:
space:
mode:
authorJoel Sing <joel@sing.id.au>2020-01-07 04:31:23 +1100
committerJoel Sing <joel@sing.id.au>2020-01-07 02:56:05 +0000
commitedf3ec987ff51584c3bfdaeef7d0a24646d0fb4b (patch)
treea569c409b89207d0f49f72e9246b846c623cfe8a /src/runtime
parentf266cce6763aeb1b9200dcf193826dcfba5127b7 (diff)
downloadgo-edf3ec987ff51584c3bfdaeef7d0a24646d0fb4b.tar.xz
runtime: correct setNonblock on linux/arm64
The current code uses EOR (exclusive OR), which will result in the O_NONBLOCK flag being toggled rather than being set. Other implementations use OR, hence this is likely a bug. Change-Id: I5dafa9c572452070bd37789c8a731ad6d04a86cd Reviewed-on: https://go-review.googlesource.com/c/go/+/212766 Run-TryBot: Ian Lance Taylor <iant@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com> Reviewed-by: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
Diffstat (limited to 'src/runtime')
-rw-r--r--src/runtime/sys_linux_arm64.s2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/runtime/sys_linux_arm64.s b/src/runtime/sys_linux_arm64.s
index 8a0f06f206..8c2a249c9f 100644
--- a/src/runtime/sys_linux_arm64.s
+++ b/src/runtime/sys_linux_arm64.s
@@ -688,7 +688,7 @@ TEXT runtimeĀ·setNonblock(SB),NOSPLIT|NOFRAME,$0-4
MOVD $SYS_fcntl, R8
SVC
MOVD $0x800, R2 // O_NONBLOCK
- EOR R0, R2
+ ORR R0, R2
MOVW fd+0(FP), R0 // fd
MOVD $4, R1 // F_SETFL
MOVD $SYS_fcntl, R8