diff options
Diffstat (limited to 'vendor/golang.org/x/sys')
26 files changed, 380 insertions, 3 deletions
diff --git a/vendor/golang.org/x/sys/cpu/cpu.go b/vendor/golang.org/x/sys/cpu/cpu.go index ec07aab05..02609d5b2 100644 --- a/vendor/golang.org/x/sys/cpu/cpu.go +++ b/vendor/golang.org/x/sys/cpu/cpu.go @@ -201,6 +201,25 @@ var S390X struct {  	_         CacheLinePad  } +// RISCV64 contains the supported CPU features and performance characteristics for riscv64 +// platforms. The booleans in RISCV64, with the exception of HasFastMisaligned, indicate +// the presence of RISC-V extensions. +// +// It is safe to assume that all the RV64G extensions are supported and so they are omitted from +// this structure. As riscv64 Go programs require at least RV64G, the code that populates +// this structure cannot run successfully if some of the RV64G extensions are missing. +// The struct is padded to avoid false sharing. +var RISCV64 struct { +	_                 CacheLinePad +	HasFastMisaligned bool // Fast misaligned accesses +	HasC              bool // Compressed instruction-set extension +	HasV              bool // Vector extension compatible with RVV 1.0 +	HasZba            bool // Address generation instructions extension +	HasZbb            bool // Basic bit-manipulation extension +	HasZbs            bool // Single-bit instructions extension +	_                 CacheLinePad +} +  func init() {  	archInit()  	initOptions() diff --git a/vendor/golang.org/x/sys/cpu/cpu_linux_noinit.go b/vendor/golang.org/x/sys/cpu/cpu_linux_noinit.go index cd63e7335..7d902b684 100644 --- a/vendor/golang.org/x/sys/cpu/cpu_linux_noinit.go +++ b/vendor/golang.org/x/sys/cpu/cpu_linux_noinit.go @@ -2,7 +2,7 @@  // Use of this source code is governed by a BSD-style  // license that can be found in the LICENSE file. -//go:build linux && !arm && !arm64 && !mips64 && !mips64le && !ppc64 && !ppc64le && !s390x +//go:build linux && !arm && !arm64 && !mips64 && !mips64le && !ppc64 && !ppc64le && !s390x && !riscv64  package cpu diff --git a/vendor/golang.org/x/sys/cpu/cpu_linux_riscv64.go b/vendor/golang.org/x/sys/cpu/cpu_linux_riscv64.go new file mode 100644 index 000000000..cb4a0c572 --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu_linux_riscv64.go @@ -0,0 +1,137 @@ +// Copyright 2024 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package cpu + +import ( +	"syscall" +	"unsafe" +) + +// RISC-V extension discovery code for Linux. The approach here is to first try the riscv_hwprobe +// syscall falling back to HWCAP to check for the C extension if riscv_hwprobe is not available. +// +// A note on detection of the Vector extension using HWCAP. +// +// Support for the Vector extension version 1.0 was added to the Linux kernel in release 6.5. +// Support for the riscv_hwprobe syscall was added in 6.4. It follows that if the riscv_hwprobe +// syscall is not available then neither is the Vector extension (which needs kernel support). +// The riscv_hwprobe syscall should then be all we need to detect the Vector extension. +// However, some RISC-V board manufacturers ship boards with an older kernel on top of which +// they have back-ported various versions of the Vector extension patches but not the riscv_hwprobe +// patches. These kernels advertise support for the Vector extension using HWCAP. Falling +// back to HWCAP to detect the Vector extension, if riscv_hwprobe is not available, or simply not +// bothering with riscv_hwprobe at all and just using HWCAP may then seem like an attractive option. +// +// Unfortunately, simply checking the 'V' bit in AT_HWCAP will not work as this bit is used by +// RISC-V board and cloud instance providers to mean different things. The Lichee Pi 4A board +// and the Scaleway RV1 cloud instances use the 'V' bit to advertise their support for the unratified +// 0.7.1 version of the Vector Specification. The Banana Pi BPI-F3 and the CanMV-K230 board use +// it to advertise support for 1.0 of the Vector extension. Versions 0.7.1 and 1.0 of the Vector +// extension are binary incompatible. HWCAP can then not be used in isolation to populate the +// HasV field as this field indicates that the underlying CPU is compatible with RVV 1.0. +// +// There is a way at runtime to distinguish between versions 0.7.1 and 1.0 of the Vector +// specification by issuing a RVV 1.0 vsetvli instruction and checking the vill bit of the vtype +// register. This check would allow us to safely detect version 1.0 of the Vector extension +// with HWCAP, if riscv_hwprobe were not available. However, the check cannot +// be added until the assembler supports the Vector instructions. +// +// Note the riscv_hwprobe syscall does not suffer from these ambiguities by design as all of the +// extensions it advertises support for are explicitly versioned. It's also worth noting that +// the riscv_hwprobe syscall is the only way to detect multi-letter RISC-V extensions, e.g., Zba. +// These cannot be detected using HWCAP and so riscv_hwprobe must be used to detect the majority +// of RISC-V extensions. +// +// Please see https://docs.kernel.org/arch/riscv/hwprobe.html for more information. + +// golang.org/x/sys/cpu is not allowed to depend on golang.org/x/sys/unix so we must +// reproduce the constants, types and functions needed to make the riscv_hwprobe syscall +// here. + +const ( +	// Copied from golang.org/x/sys/unix/ztypes_linux_riscv64.go. +	riscv_HWPROBE_KEY_IMA_EXT_0   = 0x4 +	riscv_HWPROBE_IMA_C           = 0x2 +	riscv_HWPROBE_IMA_V           = 0x4 +	riscv_HWPROBE_EXT_ZBA         = 0x8 +	riscv_HWPROBE_EXT_ZBB         = 0x10 +	riscv_HWPROBE_EXT_ZBS         = 0x20 +	riscv_HWPROBE_KEY_CPUPERF_0   = 0x5 +	riscv_HWPROBE_MISALIGNED_FAST = 0x3 +	riscv_HWPROBE_MISALIGNED_MASK = 0x7 +) + +const ( +	// sys_RISCV_HWPROBE is copied from golang.org/x/sys/unix/zsysnum_linux_riscv64.go. +	sys_RISCV_HWPROBE = 258 +) + +// riscvHWProbePairs is copied from golang.org/x/sys/unix/ztypes_linux_riscv64.go. +type riscvHWProbePairs struct { +	key   int64 +	value uint64 +} + +const ( +	// CPU features +	hwcap_RISCV_ISA_C = 1 << ('C' - 'A') +) + +func doinit() { +	// A slice of key/value pair structures is passed to the RISCVHWProbe syscall. The key +	// field should be initialised with one of the key constants defined above, e.g., +	// RISCV_HWPROBE_KEY_IMA_EXT_0. The syscall will set the value field to the appropriate value. +	// If the kernel does not recognise a key it will set the key field to -1 and the value field to 0. + +	pairs := []riscvHWProbePairs{ +		{riscv_HWPROBE_KEY_IMA_EXT_0, 0}, +		{riscv_HWPROBE_KEY_CPUPERF_0, 0}, +	} + +	// This call only indicates that extensions are supported if they are implemented on all cores. +	if riscvHWProbe(pairs, 0) { +		if pairs[0].key != -1 { +			v := uint(pairs[0].value) +			RISCV64.HasC = isSet(v, riscv_HWPROBE_IMA_C) +			RISCV64.HasV = isSet(v, riscv_HWPROBE_IMA_V) +			RISCV64.HasZba = isSet(v, riscv_HWPROBE_EXT_ZBA) +			RISCV64.HasZbb = isSet(v, riscv_HWPROBE_EXT_ZBB) +			RISCV64.HasZbs = isSet(v, riscv_HWPROBE_EXT_ZBS) +		} +		if pairs[1].key != -1 { +			v := pairs[1].value & riscv_HWPROBE_MISALIGNED_MASK +			RISCV64.HasFastMisaligned = v == riscv_HWPROBE_MISALIGNED_FAST +		} +	} + +	// Let's double check with HWCAP if the C extension does not appear to be supported. +	// This may happen if we're running on a kernel older than 6.4. + +	if !RISCV64.HasC { +		RISCV64.HasC = isSet(hwCap, hwcap_RISCV_ISA_C) +	} +} + +func isSet(hwc uint, value uint) bool { +	return hwc&value != 0 +} + +// riscvHWProbe is a simplified version of the generated wrapper function found in +// golang.org/x/sys/unix/zsyscall_linux_riscv64.go. We simplify it by removing the +// cpuCount and cpus parameters which we do not need. We always want to pass 0 for +// these parameters here so the kernel only reports the extensions that are present +// on all cores. +func riscvHWProbe(pairs []riscvHWProbePairs, flags uint) bool { +	var _zero uintptr +	var p0 unsafe.Pointer +	if len(pairs) > 0 { +		p0 = unsafe.Pointer(&pairs[0]) +	} else { +		p0 = unsafe.Pointer(&_zero) +	} + +	_, _, e1 := syscall.Syscall6(sys_RISCV_HWPROBE, uintptr(p0), uintptr(len(pairs)), uintptr(0), uintptr(0), uintptr(flags), 0) +	return e1 == 0 +} diff --git a/vendor/golang.org/x/sys/cpu/cpu_riscv64.go b/vendor/golang.org/x/sys/cpu/cpu_riscv64.go index 7f0c79c00..aca3199c9 100644 --- a/vendor/golang.org/x/sys/cpu/cpu_riscv64.go +++ b/vendor/golang.org/x/sys/cpu/cpu_riscv64.go @@ -8,4 +8,13 @@ package cpu  const cacheLineSize = 64 -func initOptions() {} +func initOptions() { +	options = []option{ +		{Name: "fastmisaligned", Feature: &RISCV64.HasFastMisaligned}, +		{Name: "c", Feature: &RISCV64.HasC}, +		{Name: "v", Feature: &RISCV64.HasV}, +		{Name: "zba", Feature: &RISCV64.HasZba}, +		{Name: "zbb", Feature: &RISCV64.HasZbb}, +		{Name: "zbs", Feature: &RISCV64.HasZbs}, +	} +} diff --git a/vendor/golang.org/x/sys/unix/mkerrors.sh b/vendor/golang.org/x/sys/unix/mkerrors.sh index d07dd09eb..e14b766a3 100644 --- a/vendor/golang.org/x/sys/unix/mkerrors.sh +++ b/vendor/golang.org/x/sys/unix/mkerrors.sh @@ -552,6 +552,7 @@ ccflags="$@"  		$2 !~ /^RTC_VL_(ACCURACY|BACKUP|DATA)/ &&  		$2 ~ /^(NETLINK|NLM|NLMSG|NLA|IFA|IFAN|RT|RTC|RTCF|RTN|RTPROT|RTNH|ARPHRD|ETH_P|NETNSA)_/ ||  		$2 ~ /^SOCK_|SK_DIAG_|SKNLGRP_$/ || +		$2 ~ /^(CONNECT|SAE)_/ ||  		$2 ~ /^FIORDCHK$/ ||  		$2 ~ /^SIOC/ ||  		$2 ~ /^TIOC/ || diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin.go b/vendor/golang.org/x/sys/unix/syscall_darwin.go index 2d15200ad..099867dee 100644 --- a/vendor/golang.org/x/sys/unix/syscall_darwin.go +++ b/vendor/golang.org/x/sys/unix/syscall_darwin.go @@ -566,6 +566,43 @@ func PthreadFchdir(fd int) (err error) {  	return pthread_fchdir_np(fd)  } +// Connectx calls connectx(2) to initiate a connection on a socket. +// +// srcIf, srcAddr, and dstAddr are filled into a [SaEndpoints] struct and passed as the endpoints argument. +// +//   - srcIf is the optional source interface index. 0 means unspecified. +//   - srcAddr is the optional source address. nil means unspecified. +//   - dstAddr is the destination address. +// +// On success, Connectx returns the number of bytes enqueued for transmission. +func Connectx(fd int, srcIf uint32, srcAddr, dstAddr Sockaddr, associd SaeAssocID, flags uint32, iov []Iovec, connid *SaeConnID) (n uintptr, err error) { +	endpoints := SaEndpoints{ +		Srcif: srcIf, +	} + +	if srcAddr != nil { +		addrp, addrlen, err := srcAddr.sockaddr() +		if err != nil { +			return 0, err +		} +		endpoints.Srcaddr = (*RawSockaddr)(addrp) +		endpoints.Srcaddrlen = uint32(addrlen) +	} + +	if dstAddr != nil { +		addrp, addrlen, err := dstAddr.sockaddr() +		if err != nil { +			return 0, err +		} +		endpoints.Dstaddr = (*RawSockaddr)(addrp) +		endpoints.Dstaddrlen = uint32(addrlen) +	} + +	err = connectx(fd, &endpoints, associd, flags, iov, &n, connid) +	return +} + +//sys	connectx(fd int, endpoints *SaEndpoints, associd SaeAssocID, flags uint32, iov []Iovec, n *uintptr, connid *SaeConnID) (err error)  //sys	sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error)  //sys	shmat(id int, addr uintptr, flag int) (ret uintptr, err error) diff --git a/vendor/golang.org/x/sys/unix/syscall_hurd.go b/vendor/golang.org/x/sys/unix/syscall_hurd.go index ba46651f8..a6a2d2fc2 100644 --- a/vendor/golang.org/x/sys/unix/syscall_hurd.go +++ b/vendor/golang.org/x/sys/unix/syscall_hurd.go @@ -11,6 +11,7 @@ package unix  int ioctl(int, unsigned long int, uintptr_t);  */  import "C" +import "unsafe"  func ioctl(fd int, req uint, arg uintptr) (err error) {  	r0, er := C.ioctl(C.int(fd), C.ulong(req), C.uintptr_t(arg)) diff --git a/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go index 4308ac177..d73c4652e 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go @@ -237,6 +237,9 @@ const (  	CLOCK_UPTIME_RAW_APPROX                 = 0x9  	CLONE_NOFOLLOW                          = 0x1  	CLONE_NOOWNERCOPY                       = 0x2 +	CONNECT_DATA_AUTHENTICATED              = 0x4 +	CONNECT_DATA_IDEMPOTENT                 = 0x2 +	CONNECT_RESUME_ON_READ_WRITE            = 0x1  	CR0                                     = 0x0  	CR1                                     = 0x1000  	CR2                                     = 0x2000 @@ -1265,6 +1268,10 @@ const (  	RTV_SSTHRESH                            = 0x20  	RUSAGE_CHILDREN                         = -0x1  	RUSAGE_SELF                             = 0x0 +	SAE_ASSOCID_ALL                         = 0xffffffff +	SAE_ASSOCID_ANY                         = 0x0 +	SAE_CONNID_ALL                          = 0xffffffff +	SAE_CONNID_ANY                          = 0x0  	SCM_CREDS                               = 0x3  	SCM_RIGHTS                              = 0x1  	SCM_TIMESTAMP                           = 0x2 diff --git a/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go index c8068a7a1..4a55a4005 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go @@ -237,6 +237,9 @@ const (  	CLOCK_UPTIME_RAW_APPROX                 = 0x9  	CLONE_NOFOLLOW                          = 0x1  	CLONE_NOOWNERCOPY                       = 0x2 +	CONNECT_DATA_AUTHENTICATED              = 0x4 +	CONNECT_DATA_IDEMPOTENT                 = 0x2 +	CONNECT_RESUME_ON_READ_WRITE            = 0x1  	CR0                                     = 0x0  	CR1                                     = 0x1000  	CR2                                     = 0x2000 @@ -1265,6 +1268,10 @@ const (  	RTV_SSTHRESH                            = 0x20  	RUSAGE_CHILDREN                         = -0x1  	RUSAGE_SELF                             = 0x0 +	SAE_ASSOCID_ALL                         = 0xffffffff +	SAE_ASSOCID_ANY                         = 0x0 +	SAE_CONNID_ALL                          = 0xffffffff +	SAE_CONNID_ANY                          = 0x0  	SCM_CREDS                               = 0x3  	SCM_RIGHTS                              = 0x1  	SCM_TIMESTAMP                           = 0x2 diff --git a/vendor/golang.org/x/sys/unix/zerrors_zos_s390x.go b/vendor/golang.org/x/sys/unix/zerrors_zos_s390x.go index da08b2ab3..1ec2b1407 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_zos_s390x.go +++ b/vendor/golang.org/x/sys/unix/zerrors_zos_s390x.go @@ -581,6 +581,8 @@ const (  	AT_EMPTY_PATH                   = 0x1000  	AT_REMOVEDIR                    = 0x200  	RENAME_NOREPLACE                = 1 << 0 +	ST_RDONLY                       = 1 +	ST_NOSUID                       = 2  )  const ( diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go index b622533ef..24b346e1a 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go @@ -841,6 +841,26 @@ var libc_pthread_fchdir_np_trampoline_addr uintptr  // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func connectx(fd int, endpoints *SaEndpoints, associd SaeAssocID, flags uint32, iov []Iovec, n *uintptr, connid *SaeConnID) (err error) { +	var _p0 unsafe.Pointer +	if len(iov) > 0 { +		_p0 = unsafe.Pointer(&iov[0]) +	} else { +		_p0 = unsafe.Pointer(&_zero) +	} +	_, _, e1 := syscall_syscall9(libc_connectx_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(endpoints)), uintptr(associd), uintptr(flags), uintptr(_p0), uintptr(len(iov)), uintptr(unsafe.Pointer(n)), uintptr(unsafe.Pointer(connid)), 0) +	if e1 != 0 { +		err = errnoErr(e1) +	} +	return +} + +var libc_connectx_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_connectx connectx "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +  func sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) {  	_, _, e1 := syscall_syscall6(libc_sendfile_trampoline_addr, uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags))  	if e1 != 0 { diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s index cfe6646ba..ebd213100 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s @@ -248,6 +248,11 @@ TEXT libc_pthread_fchdir_np_trampoline<>(SB),NOSPLIT,$0-0  GLOBL	·libc_pthread_fchdir_np_trampoline_addr(SB), RODATA, $8  DATA	·libc_pthread_fchdir_np_trampoline_addr(SB)/8, $libc_pthread_fchdir_np_trampoline<>(SB) +TEXT libc_connectx_trampoline<>(SB),NOSPLIT,$0-0 +	JMP	libc_connectx(SB) +GLOBL	·libc_connectx_trampoline_addr(SB), RODATA, $8 +DATA	·libc_connectx_trampoline_addr(SB)/8, $libc_connectx_trampoline<>(SB) +  TEXT libc_sendfile_trampoline<>(SB),NOSPLIT,$0-0  	JMP	libc_sendfile(SB)  GLOBL	·libc_sendfile_trampoline_addr(SB), RODATA, $8 diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go index 13f624f69..824b9c2d5 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go @@ -841,6 +841,26 @@ var libc_pthread_fchdir_np_trampoline_addr uintptr  // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func connectx(fd int, endpoints *SaEndpoints, associd SaeAssocID, flags uint32, iov []Iovec, n *uintptr, connid *SaeConnID) (err error) { +	var _p0 unsafe.Pointer +	if len(iov) > 0 { +		_p0 = unsafe.Pointer(&iov[0]) +	} else { +		_p0 = unsafe.Pointer(&_zero) +	} +	_, _, e1 := syscall_syscall9(libc_connectx_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(endpoints)), uintptr(associd), uintptr(flags), uintptr(_p0), uintptr(len(iov)), uintptr(unsafe.Pointer(n)), uintptr(unsafe.Pointer(connid)), 0) +	if e1 != 0 { +		err = errnoErr(e1) +	} +	return +} + +var libc_connectx_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_connectx connectx "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +  func sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) {  	_, _, e1 := syscall_syscall6(libc_sendfile_trampoline_addr, uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags))  	if e1 != 0 { diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s index fe222b75d..4f178a229 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s @@ -248,6 +248,11 @@ TEXT libc_pthread_fchdir_np_trampoline<>(SB),NOSPLIT,$0-0  GLOBL	·libc_pthread_fchdir_np_trampoline_addr(SB), RODATA, $8  DATA	·libc_pthread_fchdir_np_trampoline_addr(SB)/8, $libc_pthread_fchdir_np_trampoline<>(SB) +TEXT libc_connectx_trampoline<>(SB),NOSPLIT,$0-0 +	JMP	libc_connectx(SB) +GLOBL	·libc_connectx_trampoline_addr(SB), RODATA, $8 +DATA	·libc_connectx_trampoline_addr(SB)/8, $libc_connectx_trampoline<>(SB) +  TEXT libc_sendfile_trampoline<>(SB),NOSPLIT,$0-0  	JMP	libc_sendfile(SB)  GLOBL	·libc_sendfile_trampoline_addr(SB), RODATA, $8 diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go index 091d107f3..d003c3d43 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go @@ -306,6 +306,19 @@ type XVSockPgen struct {  type _Socklen uint32 +type SaeAssocID uint32 + +type SaeConnID uint32 + +type SaEndpoints struct { +	Srcif      uint32 +	Srcaddr    *RawSockaddr +	Srcaddrlen uint32 +	Dstaddr    *RawSockaddr +	Dstaddrlen uint32 +	_          [4]byte +} +  type Xucred struct {  	Version uint32  	Uid     uint32 diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go index 28ff4ef74..0d45a941a 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go @@ -306,6 +306,19 @@ type XVSockPgen struct {  type _Socklen uint32 +type SaeAssocID uint32 + +type SaeConnID uint32 + +type SaEndpoints struct { +	Srcif      uint32 +	Srcaddr    *RawSockaddr +	Srcaddrlen uint32 +	Dstaddr    *RawSockaddr +	Dstaddrlen uint32 +	_          [4]byte +} +  type Xucred struct {  	Version uint32  	Uid     uint32 diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go index 6cbd094a3..51e13eb05 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go +++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go @@ -625,6 +625,7 @@ const (  	POLLRDNORM   = 0x40  	POLLWRBAND   = 0x100  	POLLWRNORM   = 0x4 +	POLLRDHUP    = 0x4000  )  type CapRights struct { diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go index 7c03b6ee7..d002d8ef3 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go @@ -630,6 +630,7 @@ const (  	POLLRDNORM   = 0x40  	POLLWRBAND   = 0x100  	POLLWRNORM   = 0x4 +	POLLRDHUP    = 0x4000  )  type CapRights struct { diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go index 422107ee8..3f863d898 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go +++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go @@ -616,6 +616,7 @@ const (  	POLLRDNORM   = 0x40  	POLLWRBAND   = 0x100  	POLLWRNORM   = 0x4 +	POLLRDHUP    = 0x4000  )  type CapRights struct { diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go index 505a12acf..61c729310 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go @@ -610,6 +610,7 @@ const (  	POLLRDNORM   = 0x40  	POLLWRBAND   = 0x100  	POLLWRNORM   = 0x4 +	POLLRDHUP    = 0x4000  )  type CapRights struct { diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_riscv64.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_riscv64.go index cc986c790..b5d17414f 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_freebsd_riscv64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_riscv64.go @@ -612,6 +612,7 @@ const (  	POLLRDNORM   = 0x40  	POLLWRBAND   = 0x100  	POLLWRNORM   = 0x4 +	POLLRDHUP    = 0x4000  )  type CapRights struct { diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux.go b/vendor/golang.org/x/sys/unix/ztypes_linux.go index 7f1961b90..9f2550dc3 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux.go @@ -2486,7 +2486,7 @@ type XDPMmapOffsets struct {  type XDPUmemReg struct {  	Addr            uint64  	Len             uint64 -	Chunk_size      uint32 +	Size            uint32  	Headroom        uint32  	Flags           uint32  	Tx_metadata_len uint32 diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go index 15adc0414..ad05b51a6 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go @@ -727,6 +727,37 @@ const (  	RISCV_HWPROBE_EXT_ZBA                = 0x8  	RISCV_HWPROBE_EXT_ZBB                = 0x10  	RISCV_HWPROBE_EXT_ZBS                = 0x20 +	RISCV_HWPROBE_EXT_ZICBOZ             = 0x40 +	RISCV_HWPROBE_EXT_ZBC                = 0x80 +	RISCV_HWPROBE_EXT_ZBKB               = 0x100 +	RISCV_HWPROBE_EXT_ZBKC               = 0x200 +	RISCV_HWPROBE_EXT_ZBKX               = 0x400 +	RISCV_HWPROBE_EXT_ZKND               = 0x800 +	RISCV_HWPROBE_EXT_ZKNE               = 0x1000 +	RISCV_HWPROBE_EXT_ZKNH               = 0x2000 +	RISCV_HWPROBE_EXT_ZKSED              = 0x4000 +	RISCV_HWPROBE_EXT_ZKSH               = 0x8000 +	RISCV_HWPROBE_EXT_ZKT                = 0x10000 +	RISCV_HWPROBE_EXT_ZVBB               = 0x20000 +	RISCV_HWPROBE_EXT_ZVBC               = 0x40000 +	RISCV_HWPROBE_EXT_ZVKB               = 0x80000 +	RISCV_HWPROBE_EXT_ZVKG               = 0x100000 +	RISCV_HWPROBE_EXT_ZVKNED             = 0x200000 +	RISCV_HWPROBE_EXT_ZVKNHA             = 0x400000 +	RISCV_HWPROBE_EXT_ZVKNHB             = 0x800000 +	RISCV_HWPROBE_EXT_ZVKSED             = 0x1000000 +	RISCV_HWPROBE_EXT_ZVKSH              = 0x2000000 +	RISCV_HWPROBE_EXT_ZVKT               = 0x4000000 +	RISCV_HWPROBE_EXT_ZFH                = 0x8000000 +	RISCV_HWPROBE_EXT_ZFHMIN             = 0x10000000 +	RISCV_HWPROBE_EXT_ZIHINTNTL          = 0x20000000 +	RISCV_HWPROBE_EXT_ZVFH               = 0x40000000 +	RISCV_HWPROBE_EXT_ZVFHMIN            = 0x80000000 +	RISCV_HWPROBE_EXT_ZFA                = 0x100000000 +	RISCV_HWPROBE_EXT_ZTSO               = 0x200000000 +	RISCV_HWPROBE_EXT_ZACAS              = 0x400000000 +	RISCV_HWPROBE_EXT_ZICOND             = 0x800000000 +	RISCV_HWPROBE_EXT_ZIHINTPAUSE        = 0x1000000000  	RISCV_HWPROBE_KEY_CPUPERF_0          = 0x5  	RISCV_HWPROBE_MISALIGNED_UNKNOWN     = 0x0  	RISCV_HWPROBE_MISALIGNED_EMULATED    = 0x1 @@ -734,4 +765,6 @@ const (  	RISCV_HWPROBE_MISALIGNED_FAST        = 0x3  	RISCV_HWPROBE_MISALIGNED_UNSUPPORTED = 0x4  	RISCV_HWPROBE_MISALIGNED_MASK        = 0x7 +	RISCV_HWPROBE_KEY_ZICBOZ_BLOCK_SIZE  = 0x6 +	RISCV_HWPROBE_WHICH_CPUS             = 0x1  ) diff --git a/vendor/golang.org/x/sys/windows/syscall_windows.go b/vendor/golang.org/x/sys/windows/syscall_windows.go index 1fa34fd17..5cee9a314 100644 --- a/vendor/golang.org/x/sys/windows/syscall_windows.go +++ b/vendor/golang.org/x/sys/windows/syscall_windows.go @@ -313,6 +313,10 @@ func NewCallbackCDecl(fn interface{}) uintptr {  //sys	SetConsoleMode(console Handle, mode uint32) (err error) = kernel32.SetConsoleMode  //sys	GetConsoleScreenBufferInfo(console Handle, info *ConsoleScreenBufferInfo) (err error) = kernel32.GetConsoleScreenBufferInfo  //sys	setConsoleCursorPosition(console Handle, position uint32) (err error) = kernel32.SetConsoleCursorPosition +//sys	GetConsoleCP() (cp uint32, err error) = kernel32.GetConsoleCP +//sys	GetConsoleOutputCP() (cp uint32, err error) = kernel32.GetConsoleOutputCP +//sys	SetConsoleCP(cp uint32) (err error) = kernel32.SetConsoleCP +//sys	SetConsoleOutputCP(cp uint32) (err error) = kernel32.SetConsoleOutputCP  //sys	WriteConsole(console Handle, buf *uint16, towrite uint32, written *uint32, reserved *byte) (err error) = kernel32.WriteConsoleW  //sys	ReadConsole(console Handle, buf *uint16, toread uint32, read *uint32, inputControl *byte) (err error) = kernel32.ReadConsoleW  //sys	resizePseudoConsole(pconsole Handle, size uint32) (hr error) = kernel32.ResizePseudoConsole diff --git a/vendor/golang.org/x/sys/windows/types_windows.go b/vendor/golang.org/x/sys/windows/types_windows.go index 3f03b3d57..7b97a154c 100644 --- a/vendor/golang.org/x/sys/windows/types_windows.go +++ b/vendor/golang.org/x/sys/windows/types_windows.go @@ -1060,6 +1060,7 @@ const (  	SIO_GET_EXTENSION_FUNCTION_POINTER = IOC_INOUT | IOC_WS2 | 6  	SIO_KEEPALIVE_VALS                 = IOC_IN | IOC_VENDOR | 4  	SIO_UDP_CONNRESET                  = IOC_IN | IOC_VENDOR | 12 +	SIO_UDP_NETRESET                   = IOC_IN | IOC_VENDOR | 15  	// cf. http://support.microsoft.com/default.aspx?scid=kb;en-us;257460 diff --git a/vendor/golang.org/x/sys/windows/zsyscall_windows.go b/vendor/golang.org/x/sys/windows/zsyscall_windows.go index 9bb979a3e..4c2e1bdc0 100644 --- a/vendor/golang.org/x/sys/windows/zsyscall_windows.go +++ b/vendor/golang.org/x/sys/windows/zsyscall_windows.go @@ -247,7 +247,9 @@ var (  	procGetCommandLineW                                      = modkernel32.NewProc("GetCommandLineW")  	procGetComputerNameExW                                   = modkernel32.NewProc("GetComputerNameExW")  	procGetComputerNameW                                     = modkernel32.NewProc("GetComputerNameW") +	procGetConsoleCP                                         = modkernel32.NewProc("GetConsoleCP")  	procGetConsoleMode                                       = modkernel32.NewProc("GetConsoleMode") +	procGetConsoleOutputCP                                   = modkernel32.NewProc("GetConsoleOutputCP")  	procGetConsoleScreenBufferInfo                           = modkernel32.NewProc("GetConsoleScreenBufferInfo")  	procGetCurrentDirectoryW                                 = modkernel32.NewProc("GetCurrentDirectoryW")  	procGetCurrentProcessId                                  = modkernel32.NewProc("GetCurrentProcessId") @@ -347,8 +349,10 @@ var (  	procSetCommMask                                          = modkernel32.NewProc("SetCommMask")  	procSetCommState                                         = modkernel32.NewProc("SetCommState")  	procSetCommTimeouts                                      = modkernel32.NewProc("SetCommTimeouts") +	procSetConsoleCP                                         = modkernel32.NewProc("SetConsoleCP")  	procSetConsoleCursorPosition                             = modkernel32.NewProc("SetConsoleCursorPosition")  	procSetConsoleMode                                       = modkernel32.NewProc("SetConsoleMode") +	procSetConsoleOutputCP                                   = modkernel32.NewProc("SetConsoleOutputCP")  	procSetCurrentDirectoryW                                 = modkernel32.NewProc("SetCurrentDirectoryW")  	procSetDefaultDllDirectories                             = modkernel32.NewProc("SetDefaultDllDirectories")  	procSetDllDirectoryW                                     = modkernel32.NewProc("SetDllDirectoryW") @@ -2162,6 +2166,15 @@ func GetComputerName(buf *uint16, n *uint32) (err error) {  	return  } +func GetConsoleCP() (cp uint32, err error) { +	r0, _, e1 := syscall.Syscall(procGetConsoleCP.Addr(), 0, 0, 0, 0) +	cp = uint32(r0) +	if cp == 0 { +		err = errnoErr(e1) +	} +	return +} +  func GetConsoleMode(console Handle, mode *uint32) (err error) {  	r1, _, e1 := syscall.Syscall(procGetConsoleMode.Addr(), 2, uintptr(console), uintptr(unsafe.Pointer(mode)), 0)  	if r1 == 0 { @@ -2170,6 +2183,15 @@ func GetConsoleMode(console Handle, mode *uint32) (err error) {  	return  } +func GetConsoleOutputCP() (cp uint32, err error) { +	r0, _, e1 := syscall.Syscall(procGetConsoleOutputCP.Addr(), 0, 0, 0, 0) +	cp = uint32(r0) +	if cp == 0 { +		err = errnoErr(e1) +	} +	return +} +  func GetConsoleScreenBufferInfo(console Handle, info *ConsoleScreenBufferInfo) (err error) {  	r1, _, e1 := syscall.Syscall(procGetConsoleScreenBufferInfo.Addr(), 2, uintptr(console), uintptr(unsafe.Pointer(info)), 0)  	if r1 == 0 { @@ -3038,6 +3060,14 @@ func SetCommTimeouts(handle Handle, timeouts *CommTimeouts) (err error) {  	return  } +func SetConsoleCP(cp uint32) (err error) { +	r1, _, e1 := syscall.Syscall(procSetConsoleCP.Addr(), 1, uintptr(cp), 0, 0) +	if r1 == 0 { +		err = errnoErr(e1) +	} +	return +} +  func setConsoleCursorPosition(console Handle, position uint32) (err error) {  	r1, _, e1 := syscall.Syscall(procSetConsoleCursorPosition.Addr(), 2, uintptr(console), uintptr(position), 0)  	if r1 == 0 { @@ -3054,6 +3084,14 @@ func SetConsoleMode(console Handle, mode uint32) (err error) {  	return  } +func SetConsoleOutputCP(cp uint32) (err error) { +	r1, _, e1 := syscall.Syscall(procSetConsoleOutputCP.Addr(), 1, uintptr(cp), 0, 0) +	if r1 == 0 { +		err = errnoErr(e1) +	} +	return +} +  func SetCurrentDirectory(path *uint16) (err error) {  	r1, _, e1 := syscall.Syscall(procSetCurrentDirectoryW.Addr(), 1, uintptr(unsafe.Pointer(path)), 0, 0)  	if r1 == 0 {  | 
