microsoft / go-winio

Win32 IO-related utilities for Go
MIT License
939 stars 181 forks source link

update to go1.18, drop go1.18, and replace deprecated syscall.Syscall<number> #283

Open thaJeztah opened 1 year ago

thaJeztah commented 1 year ago

gha: update golangci-lint to v1.52.x

update to go1.18

tools/mkwinsyscall: replace deprecated funcs with SyscallN (drops go1.17)

The "syscall.Syscall" functions were deprecated in go1.18 in favor of the "syscall.SyscallN" function, which does not need the "nargs" argument, and does not need the list of arguments to be padded with zeros. https://github.com/golang/go/blob/go1.18/src/syscall/dll_windows.go#L27-L45

Now that go1.17 reached EOL and is no longer maintained, we can update the code to use the new SyscallN function. This patch updates the mkwinsyscall utility to generate code using the new SyscallN function, and removes the utilities that are now redundant.

internal/socket: replace deprecated syscall.Syscall9

thaJeztah commented 1 year ago

This should be ready for review /cc @kevpar 😄

(I should probably point out that containerd 1.6 still tests against go1.17 as "old version", in case this version from main ends up in containerd at some point; https://github.com/containerd/containerd/blob/v1.6.20/.github/workflows/ci.yml#L236)