aboutsummaryrefslogtreecommitdiff
path: root/src/syscall
diff options
context:
space:
mode:
Diffstat (limited to 'src/syscall')
-rw-r--r--src/syscall/linkname_bsd.go8
-rw-r--r--src/syscall/syscall_aix.go5
-rw-r--r--src/syscall/syscall_linux_386.go9
-rw-r--r--src/syscall/syscall_linux_amd64.go5
-rw-r--r--src/syscall/syscall_linux_arm.go4
-rw-r--r--src/syscall/syscall_linux_mipsx.go4
-rw-r--r--src/syscall/syscall_plan9.go11
-rw-r--r--src/syscall/syscall_solaris.go8
8 files changed, 54 insertions, 0 deletions
diff --git a/src/syscall/linkname_bsd.go b/src/syscall/linkname_bsd.go
index c3c6a58420..431d850422 100644
--- a/src/syscall/linkname_bsd.go
+++ b/src/syscall/linkname_bsd.go
@@ -15,3 +15,11 @@ import _ "unsafe"
// Do not remove or change the type signature.
//
//go:linkname sysctl
+
+// golang.org/x/sys accesses these in assembly.
+//
+//go:linkname Syscall
+//go:linkname Syscall6
+//go:linkname Syscall9
+//go:linkname RawSyscall
+//go:linkname RawSyscall6
diff --git a/src/syscall/syscall_aix.go b/src/syscall/syscall_aix.go
index 36dfd90678..1add20bf12 100644
--- a/src/syscall/syscall_aix.go
+++ b/src/syscall/syscall_aix.go
@@ -21,7 +21,12 @@ func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno)
func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno)
// Implemented in runtime/syscall_aix.go.
+// Accessed in assembly in x/sys/unix and x/sys/cpu.
+//
+//go:linkname rawSyscall6
func rawSyscall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno)
+
+//go:linkname syscall6
func syscall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno)
// Constant expected by package but not supported
diff --git a/src/syscall/syscall_linux_386.go b/src/syscall/syscall_linux_386.go
index a90565a001..ba916dfcb8 100644
--- a/src/syscall/syscall_linux_386.go
+++ b/src/syscall/syscall_linux_386.go
@@ -74,6 +74,10 @@ func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int6
// Underlying system call writes to newoffset via pointer.
// Implemented in assembly to avoid allocation.
+//
+// Accessed via assembly in x/sys/unix.
+//
+//go:linkname seek
func seek(fd int, offset int64, whence int) (newoffset int64, err Errno)
func Seek(fd int, offset int64, whence int) (newoffset int64, err error) {
@@ -121,7 +125,12 @@ const (
_SENDMMSG = 20
)
+// socketcall and rawsocketcall are accessed via assembly in x/sys/unix.
+//
+//go:linkname socketcall
func socketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (n int, err Errno)
+
+//go:linkname rawsocketcall
func rawsocketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (n int, err Errno)
func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) {
diff --git a/src/syscall/syscall_linux_amd64.go b/src/syscall/syscall_linux_amd64.go
index 725ebdba22..1a8b70b1c1 100644
--- a/src/syscall/syscall_linux_amd64.go
+++ b/src/syscall/syscall_linux_amd64.go
@@ -4,6 +4,8 @@
package syscall
+import _ "unsafe" // for linkname
+
const (
_SYS_setgroups = SYS_SETGROUPS
_SYS_clone3 = 435
@@ -71,7 +73,10 @@ func Lstat(path string, stat *Stat_t) (err error) {
//sys futimesat(dirfd int, path string, times *[2]Timeval) (err error)
+// Accessed via assembly in x/sys/unix.
+//
//go:noescape
+//go:linkname gettimeofday
func gettimeofday(tv *Timeval) (err Errno)
func Gettimeofday(tv *Timeval) (err error) {
diff --git a/src/syscall/syscall_linux_arm.go b/src/syscall/syscall_linux_arm.go
index 2019b15169..725de63d41 100644
--- a/src/syscall/syscall_linux_arm.go
+++ b/src/syscall/syscall_linux_arm.go
@@ -23,6 +23,10 @@ func setTimeval(sec, usec int64) Timeval {
// Underlying system call writes to newoffset via pointer.
// Implemented in assembly to avoid allocation.
+//
+// Accessed via assembly in x/sys/unix.
+//
+//go:linkname seek
func seek(fd int, offset int64, whence int) (newoffset int64, err Errno)
func Seek(fd int, offset int64, whence int) (newoffset int64, err error) {
diff --git a/src/syscall/syscall_linux_mipsx.go b/src/syscall/syscall_linux_mipsx.go
index aa08792606..7cfc8aff26 100644
--- a/src/syscall/syscall_linux_mipsx.go
+++ b/src/syscall/syscall_linux_mipsx.go
@@ -15,6 +15,10 @@ const (
_SYS_fchmodat2 = 4452
)
+// Syscall9 is accessed via assembly in x/sys/unix.
+//
+//go:linkname Syscall9
+
func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err Errno)
//sys Dup2(oldfd int, newfd int) (err error)
diff --git a/src/syscall/syscall_plan9.go b/src/syscall/syscall_plan9.go
index dffab546d5..2a6229b273 100644
--- a/src/syscall/syscall_plan9.go
+++ b/src/syscall/syscall_plan9.go
@@ -116,6 +116,13 @@ var (
// creation of IPv6 sockets to return [EAFNOSUPPORT].
var SocketDisableIPv6 bool
+// x/sys/plan9 accesses these in assembly.
+//
+//go:linkname Syscall
+//go:linkname Syscall6
+//go:linkname RawSyscall
+//go:linkname RawSyscall6
+
func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err ErrorString)
func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err ErrorString)
func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2, err uintptr)
@@ -227,6 +234,10 @@ func Pipe(p []int) (err error) {
// Underlying system call writes to newoffset via pointer.
// Implemented in assembly to avoid allocation.
+//
+// Accessed via assembly from x/sys/plan9.
+//
+//go:linkname seek
func seek(placeholder uintptr, fd int, offset int64, whence int) (newoffset int64, err string)
func Seek(fd int, offset int64, whence int) (newoffset int64, err error) {
diff --git a/src/syscall/syscall_solaris.go b/src/syscall/syscall_solaris.go
index 9ae721b573..e2d407b9de 100644
--- a/src/syscall/syscall_solaris.go
+++ b/src/syscall/syscall_solaris.go
@@ -22,7 +22,15 @@ func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno)
func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno)
// Implemented in asm_solaris_amd64.s.
+//
+// Accessed via assembly in x/sys/unix.
+//
+//go:linkname rawSysvicall6
func rawSysvicall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno)
+
+// Accessed via assembly in x/sys/unix and x/net/lif.
+//
+//go:linkname sysvicall6
func sysvicall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno)
type SockaddrDatalink struct {