go/src/syscall
Michael Pratt 0a5fae2a0e runtime, syscall: reimplement AllThreadsSyscall using only signals.
In issue 50113, we see that a thread blocked in a system call can result
in a hang of AllThreadsSyscall. To resolve this, we must send a signal
to these threads to knock them out of the system call long enough to run
the per-thread syscall.

Stepping back, if we need to send signals anyway, it should be possible
to implement this entire mechanism on top of signals. This CL does so,
vastly simplifying the mechanism, both as a direct result of
newly-unnecessary code as well as some ancillary simplifications to make
things simpler to follow.

Major changes:

* The rest of the mechanism is moved to os_linux.go, with fields in mOS
  instead of m itself.
* 'Fixup' fields and functions are renamed to 'perThreadSyscall' so they
  are more precise about their purpose.
* Rather than getting passed a closure, doAllThreadsSyscall takes the
  syscall number and arguments. This avoids a lot of hairy behavior:
    * The closure may potentially only be live in fields in the M,
      hidden from the GC. Not necessary with no closure.
    * The need to loan out the race context. A direct RawSyscall6 call
      does not require any race context.
    * The closure previously conditionally panicked in strange
      locations, like a signal handler. Now we simply throw.
* All manual fixup synchronization with mPark, sysmon, templateThread,
  sigqueue, etc is gone. The core approach is much simpler:
  doAllThreadsSyscall sends a signal to every thread in allm, which
  executes the system call from the signal handler. We use (SIGRTMIN +
  1), aka SIGSETXID, the same signal used by glibc for this purpose. As
  such, we are careful to only handle this signal on non-cgo binaries.

Synchronization with thread creation is a key part of this CL. The
comment near the top of doAllThreadsSyscall describes the required
synchronization semantics and how they are achieved.

Note that current use of allocmLock protects the state mutations of allm
that are also protected by sched.lock. allocmLock is used instead of
sched.lock simply to avoid holding sched.lock for so long.

Fixes #50113

Change-Id: Ic7ea856dc66cf711731540a54996e08fc986ce84
Reviewed-on: https://go-review.googlesource.com/c/go/+/383434
Reviewed-by: Austin Clements <austin@google.com>
Trust: Michael Pratt <mpratt@google.com>
Run-TryBot: Michael Pratt <mpratt@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
2022-02-15 15:40:35 +00:00
..
js all: gofmt -w -r 'interface{} -> any' src 2021-12-13 18:45:54 +00:00
asan.go all: remove more leftover // +build lines 2021-11-06 10:24:44 +00:00
asan0.go all: remove more leftover // +build lines 2021-11-06 10:24:44 +00:00
asm9_unix2_amd64.s all: remove more leftover // +build lines 2021-11-06 10:24:44 +00:00
asm_aix_ppc64.s syscall: remove linknames to runtime symbols for aix/ppc64 2018-12-14 09:10:02 +00:00
asm_darwin_amd64.s syscall: avoid zeroing unused syscall arguments 2019-09-16 14:18:15 +00:00
asm_darwin_arm64.s
asm_freebsd_arm.s
asm_freebsd_arm64.s syscall: add support for freebsd/arm64 2019-10-05 10:39:30 +00:00
asm_linux_386.s syscall: implement rawVforkSyscall for remaining linux platforms 2021-03-03 05:33:21 +00:00
asm_linux_amd64.s syscall: implement rawVforkSyscall for remaining linux platforms 2021-03-03 05:33:21 +00:00
asm_linux_arm.s syscall: implement rawVforkSyscall for remaining linux platforms 2021-03-03 05:33:21 +00:00
asm_linux_arm64.s syscall: implement rawVforkSyscall for remaining linux platforms 2021-03-03 05:33:21 +00:00
asm_linux_mips64x.s all: remove more leftover // +build lines 2021-11-06 10:24:44 +00:00
asm_linux_mipsx.s all: remove more leftover // +build lines 2021-11-06 10:24:44 +00:00
asm_linux_ppc64x.s all: remove more leftover // +build lines 2021-11-06 10:24:44 +00:00
asm_linux_riscv64.s syscall: support rawVforkSyscall on linux/riscv64 2020-08-16 14:23:50 +00:00
asm_linux_s390x.s syscall: implement rawVforkSyscall for linux/ppc64x and linux/s390x 2019-05-15 18:12:10 +00:00
asm_netbsd_amd64.s all: remove more leftover // +build lines 2021-11-06 10:24:44 +00:00
asm_netbsd_arm.s syscall: fix vet complaints for all dragonfly, freebsd, netbsd, openbsd 2019-05-09 21:13:25 +00:00
asm_netbsd_arm64.s all: add start of netbsd/arm64 support 2019-04-20 15:02:01 +00:00
asm_openbsd_386.s runtime,syscall: convert syscall on openbsd/386 to libc 2021-04-30 20:00:36 +00:00
asm_openbsd_amd64.s runtime,syscall: convert syscall on openbsd/amd64 to libc 2021-01-26 07:10:57 +00:00
asm_openbsd_arm.s runtime,syscall: convert syscall on openbsd/arm to libc 2021-05-09 17:07:01 +00:00
asm_openbsd_arm64.s runtime,syscall: convert syscall on openbsd/arm64 to libc 2021-01-28 02:19:23 +00:00
asm_openbsd_mips64.s syscall: add support for openbsd/mips64 2020-10-29 08:08:26 +00:00
asm_plan9_386.s
asm_plan9_amd64.s
asm_plan9_arm.s
asm_solaris_amd64.s
asm_unix_386.s all: remove more leftover // +build lines 2021-11-06 10:24:44 +00:00
asm_unix_amd64.s all: remove more leftover // +build lines 2021-11-06 10:24:44 +00:00
bpf_bsd.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
bpf_darwin.go syscall: move uses of Syscall to libSystem on darwin 2018-11-08 03:01:54 +00:00
const_plan9.go
creds_test.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
dir_plan9.go
dirent.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
dirent_test.go syscall: in TestDirent, make as many ReadDirent calls as are needed 2022-01-07 21:15:14 +00:00
dll_windows.go syscall: add SyscallN 2021-08-19 17:30:19 +00:00
endian_big.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
endian_little.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
env_unix.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
env_windows.go
errors_plan9.go
exec_aix_test.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
exec_bsd.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
exec_freebsd.go syscall: use fcntl with F_DUP2FD_CLOEXEC in forkAndExecInChild on FreeBSD 2021-10-14 13:09:28 +00:00
exec_libc.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
exec_libc2.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
exec_linux.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
exec_linux_test.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
exec_pdeathsig_test.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
exec_plan9.go all: add internal/itoa package 2021-03-14 17:56:50 +00:00
exec_solaris_test.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
exec_unix.go syscall: fix ForkLock spurious close(0) on pipe failure 2021-12-09 13:36:16 +00:00
exec_unix_test.go syscall: remove GOMAXPROCS change in TestExecHelper 2021-11-02 13:43:24 +00:00
exec_windows.go syscall: do not use handle lists on windows when NoInheritHandles is true 2021-09-17 00:31:49 +00:00
exec_windows_test.go all: update references to symbols moved from io/ioutil to io 2021-04-05 17:51:15 +00:00
export_darwin_test.go syscall: use libc-based ioctl for Ioctl in tests on darwin 2020-09-22 18:05:58 +00:00
export_freebsd_test.go syscall: swap src, dest arguments in convertFromDirents11 for FreeBSD 2018-10-24 15:43:41 +00:00
export_linux_test.go
export_unix_test.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
export_windows_test.go syscall: treat proc thread attribute lists as unsafe.Pointers 2021-03-04 19:59:23 +00:00
flock.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
flock_aix.go syscall, cmd/go/internal/lockedfile: remove Flock syscall for aix/ppc64 2018-12-04 14:37:14 +00:00
flock_darwin.go syscall: move uses of Syscall to libSystem on darwin 2018-11-08 03:01:54 +00:00
flock_linux_32bit.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
forkpipe.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
forkpipe2.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
fs_js.go all: gofmt -w -r 'interface{} -> any' src 2021-12-13 18:45:54 +00:00
getdirentries_test.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
lsf_linux.go syscall: use SOCK_CLOEXEC when creating sockets 2019-12-11 00:01:17 +00:00
mkall.sh syscall: fix mkall.sh for openbsd/386 2021-11-05 17:39:43 +00:00
mkasm.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
mkerrors.sh syscall: add aix to syscall_unix_test.go 2019-04-12 16:18:12 +00:00
mkpost.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
mksyscall.pl all: remove more leftover // +build lines 2021-11-06 10:24:44 +00:00
mksyscall_libc.pl all: remove more leftover // +build lines 2021-11-06 10:24:44 +00:00
mksyscall_windows.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
mksysctl_openbsd.pl
mksysnum_dragonfly.pl
mksysnum_freebsd.pl
mksysnum_linux.pl
mksysnum_netbsd.pl
mksysnum_openbsd.pl syscall: add support for openbsd/mips64 2020-10-29 08:08:26 +00:00
mksysnum_plan9.sh
mmap_unix_test.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
msan.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
msan0.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
net.go os: add SyscallConn method for os.File 2018-12-27 16:36:34 +00:00
net_js.go all: gofmt -w -r 'interface{} -> any' src 2021-12-13 18:45:54 +00:00
netlink_linux.go syscall: hoist Getsockname out of NetlinkRIB loops 2021-08-16 17:40:17 +00:00
ptrace_darwin.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
ptrace_ios.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
pwd_plan9.go
route_bsd.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
route_darwin.go
route_dragonfly.go
route_freebsd.go
route_freebsd_32bit.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
route_freebsd_64bit.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
route_netbsd.go
route_openbsd.go
security_windows.go syscall, internal/syscall/windows: remove utf16PtrToString parameter 2020-05-03 07:23:32 +00:00
setuidgid_32_linux.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
setuidgid_linux.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
sock_cloexec_linux.go syscall: use SOCK_CLOEXEC when creating sockets 2019-12-11 00:01:17 +00:00
sockcmsg_dragonfly.go syscall: don't use 32-bit aligned access for cmsgAlignOf on dragonfly after ABI change 2019-10-20 19:33:07 +00:00
sockcmsg_linux.go syscall: avoid "just past the end" pointers in UnixRights 2019-10-17 18:42:47 +00:00
sockcmsg_unix.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
sockcmsg_unix_other.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
syscall.go syscall: drop references to Unix epoch in Timeval/Timespec docs 2020-12-10 23:24:38 +00:00
syscall_aix.go syscall: avoid writing to p when Pipe(p) fails 2021-12-09 13:36:38 +00:00
syscall_aix_ppc64.go
syscall_bsd.go syscall: unify unix Recvmsg epilogues 2021-11-04 00:15:44 +00:00
syscall_bsd_test.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
syscall_darwin.go syscall: avoid writing to p when Pipe(p) fails 2021-12-09 13:36:38 +00:00
syscall_darwin_amd64.go syscall, etc.: use abi.FuncPCABI0 for libc syscall wrappers 2021-04-26 15:52:34 +00:00
syscall_darwin_arm64.go syscall, etc.: use abi.FuncPCABI0 for libc syscall wrappers 2021-04-26 15:52:34 +00:00
syscall_dragonfly.go syscall: avoid writing to p when Pipe(p) fails 2021-12-09 13:36:38 +00:00
syscall_dragonfly_amd64.go
syscall_freebsd.go syscall: avoid writing to p when Pipe(p) fails 2021-12-09 13:36:38 +00:00
syscall_freebsd_386.go
syscall_freebsd_amd64.go
syscall_freebsd_arm.go
syscall_freebsd_arm64.go syscall: add support for freebsd/arm64 2019-10-05 10:39:30 +00:00
syscall_freebsd_test.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
syscall_illumos.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
syscall_js.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
syscall_linux.go runtime, syscall: reimplement AllThreadsSyscall using only signals. 2022-02-15 15:40:35 +00:00
syscall_linux_386.go runtime, syscall: reimplement AllThreadsSyscall using only signals. 2022-02-15 15:40:35 +00:00
syscall_linux_amd64.go runtime, syscall: reimplement AllThreadsSyscall using only signals. 2022-02-15 15:40:35 +00:00
syscall_linux_arm.go runtime, syscall: reimplement AllThreadsSyscall using only signals. 2022-02-15 15:40:35 +00:00
syscall_linux_arm64.go runtime, syscall: reimplement AllThreadsSyscall using only signals. 2022-02-15 15:40:35 +00:00
syscall_linux_mips64x.go runtime, syscall: reimplement AllThreadsSyscall using only signals. 2022-02-15 15:40:35 +00:00
syscall_linux_mipsx.go runtime, syscall: reimplement AllThreadsSyscall using only signals. 2022-02-15 15:40:35 +00:00
syscall_linux_ppc64x.go runtime, syscall: reimplement AllThreadsSyscall using only signals. 2022-02-15 15:40:35 +00:00
syscall_linux_riscv64.go runtime, syscall: reimplement AllThreadsSyscall using only signals. 2022-02-15 15:40:35 +00:00
syscall_linux_s390x.go runtime, syscall: reimplement AllThreadsSyscall using only signals. 2022-02-15 15:40:35 +00:00
syscall_linux_test.go runtime, syscall: reimplement AllThreadsSyscall using only signals. 2022-02-15 15:40:35 +00:00
syscall_netbsd.go syscall: avoid writing to p when Pipe(p) fails 2021-12-09 13:36:38 +00:00
syscall_netbsd_386.go
syscall_netbsd_amd64.go
syscall_netbsd_arm.go
syscall_netbsd_arm64.go all: add start of netbsd/arm64 support 2019-04-20 15:02:01 +00:00
syscall_openbsd.go syscall: avoid writing to p when Pipe(p) fails 2021-12-09 13:36:38 +00:00
syscall_openbsd1.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
syscall_openbsd_386.go
syscall_openbsd_amd64.go
syscall_openbsd_arm.go
syscall_openbsd_arm64.go syscall: add support for openbsd/arm64 2019-04-26 17:34:54 +00:00
syscall_openbsd_libc.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
syscall_openbsd_mips64.go syscall: use dup3 in forkAndExecInChild on NetBSD 2021-10-27 06:23:35 +00:00
syscall_plan9.go syscall: avoid writing to p when Pipe(p) fails 2021-12-09 13:36:38 +00:00
syscall_plan9_test.go
syscall_ptrace_test.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
syscall_solaris.go syscall: avoid writing to p when Pipe(p) fails 2021-12-09 13:36:38 +00:00
syscall_solaris_amd64.go
syscall_test.go all: add internal/itoa package 2021-03-14 17:56:50 +00:00
syscall_unix.go net: pass around pointers to SockaddrInetN 2021-11-04 21:52:36 +00:00
syscall_unix_test.go syscall: use RLIMIT_CPU instead of RLIMIT_NOFILE 2022-02-09 22:06:20 +00:00
syscall_windows.go all: gofmt -w -r 'interface{} -> any' src 2021-12-13 18:45:54 +00:00
syscall_windows_test.go syscall: disable c-shared test when no cgo, for windows/arm 2021-06-15 16:53:28 +00:00
tables_js.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
time_fake.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
time_nofake.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
timestruct.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
types_aix.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
types_darwin.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
types_dragonfly.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
types_freebsd.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
types_illumos_amd64.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
types_linux.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
types_netbsd.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
types_openbsd.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
types_solaris.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
types_windows.go syscall: use runtime.KeepAlive for ProcThreadAttributeList arguments 2021-03-11 13:49:01 +00:00
types_windows_386.go
types_windows_amd64.go
types_windows_arm.go
types_windows_arm64.go syscall: add windows/arm64 support 2021-02-19 00:40:42 +00:00
zerrors_aix_ppc64.go syscall: add aix to syscall_unix_test.go 2019-04-12 16:18:12 +00:00
zerrors_darwin_amd64.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zerrors_darwin_arm64.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zerrors_dragonfly_amd64.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zerrors_freebsd_386.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zerrors_freebsd_amd64.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zerrors_freebsd_arm.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zerrors_freebsd_arm64.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zerrors_linux_386.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zerrors_linux_amd64.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zerrors_linux_arm.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zerrors_linux_arm64.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zerrors_linux_mips.go
zerrors_linux_mips64.go
zerrors_linux_mips64le.go
zerrors_linux_mipsle.go
zerrors_linux_ppc64.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zerrors_linux_ppc64le.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zerrors_linux_riscv64.go syscall: follow convention for generated code comments in linux/riscv64 files 2019-11-23 11:00:41 +00:00
zerrors_linux_s390x.go
zerrors_netbsd_386.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zerrors_netbsd_amd64.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zerrors_netbsd_arm.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zerrors_netbsd_arm64.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zerrors_openbsd_386.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zerrors_openbsd_amd64.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zerrors_openbsd_arm.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zerrors_openbsd_arm64.go syscall: add support for openbsd/arm64 2019-04-26 17:34:54 +00:00
zerrors_openbsd_mips64.go syscall: add support for openbsd/mips64 2020-10-29 08:08:26 +00:00
zerrors_solaris_amd64.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zerrors_windows.go
zsyscall_aix_ppc64.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zsyscall_darwin_amd64.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zsyscall_darwin_amd64.s syscall: add utimensat libc wrapper on darwin 2021-10-26 05:05:24 +00:00
zsyscall_darwin_arm64.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zsyscall_darwin_arm64.s syscall: add utimensat libc wrapper on darwin 2021-10-26 05:05:24 +00:00
zsyscall_dragonfly_amd64.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zsyscall_freebsd_386.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zsyscall_freebsd_amd64.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zsyscall_freebsd_arm.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zsyscall_freebsd_arm64.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zsyscall_linux_386.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zsyscall_linux_amd64.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zsyscall_linux_arm.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zsyscall_linux_arm64.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zsyscall_linux_mips.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zsyscall_linux_mips64.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zsyscall_linux_mips64le.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zsyscall_linux_mipsle.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zsyscall_linux_ppc64.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zsyscall_linux_ppc64le.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zsyscall_linux_riscv64.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zsyscall_linux_s390x.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zsyscall_netbsd_386.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zsyscall_netbsd_amd64.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zsyscall_netbsd_arm.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zsyscall_netbsd_arm64.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zsyscall_openbsd_386.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zsyscall_openbsd_386.s runtime,syscall: convert syscall on openbsd/386 to libc 2021-04-30 20:00:36 +00:00
zsyscall_openbsd_amd64.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zsyscall_openbsd_amd64.s syscall, etc.: use abi.FuncPCABI0 for libc syscall wrappers 2021-04-26 15:52:34 +00:00
zsyscall_openbsd_arm.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zsyscall_openbsd_arm.s runtime,syscall: convert syscall on openbsd/arm to libc 2021-05-09 17:07:01 +00:00
zsyscall_openbsd_arm64.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zsyscall_openbsd_arm64.s syscall, etc.: use abi.FuncPCABI0 for libc syscall wrappers 2021-04-26 15:52:34 +00:00
zsyscall_openbsd_mips64.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zsyscall_plan9_386.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zsyscall_plan9_amd64.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zsyscall_plan9_arm.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zsyscall_solaris_amd64.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zsyscall_windows.go syscall: fix and document uses of RegEnumKeyEx 2021-11-04 01:44:54 +00:00
zsysctl_openbsd.go
zsysnum_darwin_amd64.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zsysnum_darwin_arm64.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zsysnum_dragonfly_amd64.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zsysnum_freebsd_386.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zsysnum_freebsd_amd64.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zsysnum_freebsd_arm.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zsysnum_freebsd_arm64.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zsysnum_linux_386.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zsysnum_linux_amd64.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zsysnum_linux_arm.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zsysnum_linux_arm64.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zsysnum_linux_mips.go
zsysnum_linux_mips64.go
zsysnum_linux_mips64le.go
zsysnum_linux_mipsle.go
zsysnum_linux_ppc64.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zsysnum_linux_ppc64le.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zsysnum_linux_riscv64.go syscall: follow convention for generated code comments in linux/riscv64 files 2019-11-23 11:00:41 +00:00
zsysnum_linux_s390x.go
zsysnum_netbsd_386.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zsysnum_netbsd_amd64.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zsysnum_netbsd_arm.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zsysnum_netbsd_arm64.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zsysnum_openbsd_386.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zsysnum_openbsd_amd64.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zsysnum_openbsd_arm.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
zsysnum_openbsd_arm64.go syscall: add support for openbsd/arm64 2019-04-26 17:34:54 +00:00
zsysnum_openbsd_mips64.go syscall: add support for openbsd/mips64 2020-10-29 08:08:26 +00:00
zsysnum_plan9.go
zsysnum_solaris_amd64.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
ztypes_aix_ppc64.go syscall: on AIX use nsendmsg and nrecvmsg, define SockaddrDatalink 2019-04-03 14:36:41 +00:00
ztypes_darwin_amd64.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
ztypes_darwin_arm64.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
ztypes_dragonfly_amd64.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
ztypes_freebsd_386.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
ztypes_freebsd_amd64.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
ztypes_freebsd_arm.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
ztypes_freebsd_arm64.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
ztypes_linux_386.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
ztypes_linux_amd64.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
ztypes_linux_arm.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
ztypes_linux_arm64.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
ztypes_linux_mips.go syscall: don't use deprecated syscalls on linux/arm64 2019-10-08 10:45:48 +00:00
ztypes_linux_mips64.go syscall: fix EpollEvent padding on mips64{,le} 2019-11-15 15:12:42 +00:00
ztypes_linux_mips64le.go syscall: fix EpollEvent padding on mips64{,le} 2019-11-15 15:12:42 +00:00
ztypes_linux_mipsle.go syscall: don't use deprecated syscalls on linux/arm64 2019-10-08 10:45:48 +00:00
ztypes_linux_ppc64.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
ztypes_linux_ppc64le.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
ztypes_linux_riscv64.go syscall: resync various riscv64 structs with x/sys/unix 2020-01-06 11:46:56 +00:00
ztypes_linux_s390x.go syscall: don't use deprecated syscalls on linux/arm64 2019-10-08 10:45:48 +00:00
ztypes_netbsd_386.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
ztypes_netbsd_amd64.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
ztypes_netbsd_arm.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
ztypes_netbsd_arm64.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
ztypes_openbsd_386.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
ztypes_openbsd_amd64.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
ztypes_openbsd_arm.go syscall: regenerate ztypes for openbsd/arm 2018-12-12 02:35:39 +00:00
ztypes_openbsd_arm64.go syscall: add support for openbsd/arm64 2019-04-26 17:34:54 +00:00
ztypes_openbsd_mips64.go syscall: add support for openbsd/mips64 2020-10-29 08:08:26 +00:00
ztypes_solaris_amd64.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00