1// Copyright 2018 The Go Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style 3// license that can be found in the LICENSE file. 4 5// +build darwin 6// +build amd64 arm64 7 8package runtime 9 10import "unsafe" 11 12//go:linkname syscall_syscallX syscall.syscallX 13//go:nosplit 14//go:cgo_unsafe_args 15func syscall_syscallX(fn, a1, a2, a3 uintptr) (r1, r2, err uintptr) { 16 entersyscallblock() 17 libcCall(unsafe.Pointer(funcPC(syscallX)), unsafe.Pointer(&fn)) 18 exitsyscall() 19 return 20} 21func syscallX() 22 23//go:linkname syscall_syscallXPtr syscall.syscallXPtr 24//go:nosplit 25//go:cgo_unsafe_args 26func syscall_syscallXPtr(fn, a1, a2, a3 uintptr) (r1, r2, err uintptr) { 27 entersyscallblock() 28 libcCall(unsafe.Pointer(funcPC(syscallXPtr)), unsafe.Pointer(&fn)) 29 exitsyscall() 30 return 31} 32func syscallXPtr() 33