From a56e2f672bda459b95cc9b2f287f895424643102 Mon Sep 17 00:00:00 2001 From: Michael Pratt Date: Thu, 24 Feb 2022 17:00:12 -0500 Subject: syscall: define Syscall6 in terms of RawSyscall6 on linux For #51087 Change-Id: I4a5b5cb74f12db8999c6ff0e98c3034b58af3959 Reviewed-on: https://go-review.googlesource.com/c/go/+/388478 Run-TryBot: Michael Pratt Reviewed-by: Cherry Mui TryBot-Result: Gopher Robot --- src/syscall/syscall_linux.go | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'src/syscall/syscall_linux.go') diff --git a/src/syscall/syscall_linux.go b/src/syscall/syscall_linux.go index 57e4769731..a796d17066 100644 --- a/src/syscall/syscall_linux.go +++ b/src/syscall/syscall_linux.go @@ -16,8 +16,6 @@ import ( "unsafe" ) -func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno) - // N.B. RawSyscall6 is provided via linkname by runtime/internal/syscall. // // Errno is uintptr and thus compatible with the runtime/internal/syscall @@ -68,6 +66,16 @@ func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno) { return } +//go:uintptrkeepalive +//go:nosplit +//go:linkname Syscall6 +func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno) { + runtime_entersyscall() + r1, r2, err = RawSyscall6(trap, a1, a2, a3, a4, a5, a6) + runtime_exitsyscall() + return +} + func rawSyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr) /* -- cgit v1.3