diff options
author | Ian Lance Taylor <iant@golang.org> | 2023-05-15 16:34:36 -0700 |
---|---|---|
committer | Gopher Robot <gobot@golang.org> | 2023-05-17 04:58:07 +0000 |
commit | 547aed18e0db6a18c207731d56b60a24d0c69ba5 (patch) | |
tree | ae27d32ac15d0466e9a8829eb23a28a6bf1a3a38 /src/runtime/sys_darwin_arm64.s | |
parent | 6d1c507bfc360ba72ca716bb7cb7bd9105a45af4 (diff) | |
download | go-git-547aed18e0db6a18c207731d56b60a24d0c69ba5.tar.gz |
runtime: consistently define fcntl
Clean up and consolidate on a single consistent definition of fcntl,
which takes three int32 arguments and returns either a positive result
or a negative errno value.
Change-Id: Id9505492712db4b0aab469c6bd15e4fce3c9ff6e
Reviewed-on: https://go-review.googlesource.com/c/go/+/495075
Run-TryBot: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Ian Lance Taylor <iant@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Auto-Submit: Ian Lance Taylor <iant@google.com>
Run-TryBot: Ian Lance Taylor <iant@google.com>
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>
Reviewed-by: Michael Pratt <mpratt@google.com>
Diffstat (limited to 'src/runtime/sys_darwin_arm64.s')
-rw-r--r-- | src/runtime/sys_darwin_arm64.s | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/runtime/sys_darwin_arm64.s b/src/runtime/sys_darwin_arm64.s index 4a51fb3a86..4111b3427b 100644 --- a/src/runtime/sys_darwin_arm64.s +++ b/src/runtime/sys_darwin_arm64.s @@ -314,6 +314,13 @@ TEXT runtime·fcntl_trampoline(SB),NOSPLIT,$0 MOVW R2, (RSP) // arg 3 is variadic, pass on stack MOVW 0(R0), R0 // arg 1 fd BL libc_fcntl(SB) + MOVD $-1, R1 + CMP R0, R1 + BNE noerr + BL libc_error(SB) + MOVW (R0), R0 + NEG R0, R0 // caller expects negative errno value +noerr: ADD $16, RSP RET |