diff options
Diffstat (limited to 'src/runtime/sys_netbsd_arm64.s')
-rw-r--r-- | src/runtime/sys_netbsd_arm64.s | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/runtime/sys_netbsd_arm64.s b/src/runtime/sys_netbsd_arm64.s index d27133550a..0cd9262750 100644 --- a/src/runtime/sys_netbsd_arm64.s +++ b/src/runtime/sys_netbsd_arm64.s @@ -421,16 +421,20 @@ ok: MOVW R0, ret+48(FP) RET -// func fcntl(fd, cmd, arg int32) int32 +// func fcntl(fd, cmd, arg int32) (int32, int32) TEXT runtime·fcntl(SB),NOSPLIT,$0 MOVW fd+0(FP), R0 // fd MOVW cmd+4(FP), R1 // cmd MOVW arg+8(FP), R2 // arg SVC $SYS_fcntl - BCC ok - NEG R0, R0 // caller expects negative errno -ok: + BCC noerr + MOVW $-1, R1 + MOVW R1, ret+16(FP) + MOVW R0, errno+20(FP) + RET +noerr: MOVW R0, ret+16(FP) + MOVW $0, errno+20(FP) RET // void runtime·closeonexec(int32 fd) |