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>
diff --git a/src/runtime/sys_linux_arm64.s b/src/runtime/sys_linux_arm64.s
index 8a0f06f..8c2a249 100644
--- a/src/runtime/sys_linux_arm64.s
+++ b/src/runtime/sys_linux_arm64.s
@@ -688,7 +688,7 @@
 	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