]> Cypherpunks repositories - gostls13.git/commitdiff
vendor, cmd/vendor: update to current x/sys repo
authorIan Lance Taylor <iant@golang.org>
Fri, 22 Apr 2022 22:38:00 +0000 (15:38 -0700)
committerGopher Robot <gobot@golang.org>
Tue, 3 May 2022 19:48:07 +0000 (19:48 +0000)
Ran, in src and src/cmd:

    go get -u golang.org/x/sys
    go mod vendor
    go mod tidy

This brings in loong64 support.

Change-Id: Ide30bd7bd073f473be9d8329e6a4f1d2c903d9a3
Reviewed-on: https://go-review.googlesource.com/c/go/+/401855
Reviewed-by: David Chase <drchase@google.com>
Run-TryBot: Ian Lance Taylor <iant@google.com>
Auto-Submit: Ian Lance Taylor <iant@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@google.com>
64 files changed:
src/cmd/go.mod
src/cmd/go.sum
src/cmd/vendor/golang.org/x/sys/unix/asm_linux_loong64.s [new file with mode: 0644]
src/cmd/vendor/golang.org/x/sys/unix/endian_little.go
src/cmd/vendor/golang.org/x/sys/unix/mkerrors.sh
src/cmd/vendor/golang.org/x/sys/unix/syscall_bsd.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_darwin.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_dragonfly.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_freebsd.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_linux.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_linux_loong64.go [new file with mode: 0644]
src/cmd/vendor/golang.org/x/sys/unix/syscall_netbsd.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_openbsd.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_solaris.go
src/cmd/vendor/golang.org/x/sys/unix/zerrors_linux.go
src/cmd/vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go [new file with mode: 0644]
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_linux.go
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_linux_loong64.go [new file with mode: 0644]
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_linux_loong64.go [new file with mode: 0644]
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_linux.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_linux_386.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_linux_loong64.go [new file with mode: 0644]
src/cmd/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go
src/cmd/vendor/golang.org/x/sys/windows/syscall_windows.go
src/cmd/vendor/modules.txt
src/go.mod
src/go.sum
src/vendor/golang.org/x/sys/cpu/byteorder.go
src/vendor/golang.org/x/sys/cpu/cpu_loong64.go [new file with mode: 0644]
src/vendor/modules.txt

index 33ba0a6ae8853048414d86d547f84d38b5337b9e..51a1e7131118687801cc10936e0d56c28083fdcf 100644 (file)
@@ -7,7 +7,7 @@ require (
        golang.org/x/arch v0.0.0-20210923205945-b76863e36670
        golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3
        golang.org/x/sync v0.0.0-20210220032951-036812b2e83c
-       golang.org/x/sys v0.0.0-20220317061510-51cd9980dadf
+       golang.org/x/sys v0.0.0-20220422013727-9388b58f7150
        golang.org/x/term v0.0.0-20210927222741-03fcf44c2211
        golang.org/x/tools v0.1.11-0.20220321170318-c717623e3197
 )
index 5f625110c20306f353188e7a8ae85dc134d2dd1e..b65cab54b7a00aa5385025dc68c63658ec157f5b 100644 (file)
@@ -14,8 +14,8 @@ golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2
 golang.org/x/sync v0.0.0-20210220032951-036812b2e83c h1:5KslGYwFpkhGh+Q16bwMP3cOontH8FOep7tGV86Y7SQ=
 golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20220317061510-51cd9980dadf h1:Fm4IcnUL803i92qDlmB0obyHmosDrxZWxJL3gIeNqOw=
-golang.org/x/sys v0.0.0-20220317061510-51cd9980dadf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220422013727-9388b58f7150 h1:xHms4gcpe1YE7A3yIllJXP16CMAGuqwO2lX1mTyyRRc=
+golang.org/x/sys v0.0.0-20220422013727-9388b58f7150/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 h1:JGgROgKl9N8DuW20oFS5gxc+lE67/N3FcwmBPMe7ArY=
 golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
 golang.org/x/tools v0.1.11-0.20220321170318-c717623e3197 h1:WMZWqasfF4Mn7qLi4QW7JmUmwV6ucBntOppK8p6dYKQ=
diff --git a/src/cmd/vendor/golang.org/x/sys/unix/asm_linux_loong64.s b/src/cmd/vendor/golang.org/x/sys/unix/asm_linux_loong64.s
new file mode 100644 (file)
index 0000000..6abd48e
--- /dev/null
@@ -0,0 +1,54 @@
+// Copyright 2022 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.
+
+//go:build linux && loong64 && gc
+// +build linux
+// +build loong64
+// +build gc
+
+#include "textflag.h"
+
+
+// Just jump to package syscall's implementation for all these functions.
+// The runtime may know about them.
+
+TEXT ·Syscall(SB),NOSPLIT,$0-56
+       JMP     syscall·Syscall(SB)
+
+TEXT ·Syscall6(SB),NOSPLIT,$0-80
+       JMP     syscall·Syscall6(SB)
+
+TEXT ·SyscallNoError(SB),NOSPLIT,$0-48
+       JAL     runtime·entersyscall(SB)
+       MOVV    a1+8(FP), R4
+       MOVV    a2+16(FP), R5
+       MOVV    a3+24(FP), R6
+       MOVV    R0, R7
+       MOVV    R0, R8
+       MOVV    R0, R9
+       MOVV    trap+0(FP), R11 // syscall entry
+       SYSCALL
+       MOVV    R4, r1+32(FP)
+       MOVV    R5, r2+40(FP)
+       JAL     runtime·exitsyscall(SB)
+       RET
+
+TEXT ·RawSyscall(SB),NOSPLIT,$0-56
+       JMP     syscall·RawSyscall(SB)
+
+TEXT ·RawSyscall6(SB),NOSPLIT,$0-80
+       JMP     syscall·RawSyscall6(SB)
+
+TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48
+       MOVV    a1+8(FP), R4
+       MOVV    a2+16(FP), R5
+       MOVV    a3+24(FP), R6
+       MOVV    R0, R7
+       MOVV    R0, R8
+       MOVV    R0, R9
+       MOVV    trap+0(FP), R11 // syscall entry
+       SYSCALL
+       MOVV    R4, r1+32(FP)
+       MOVV    R5, r2+40(FP)
+       RET
index 4362f47e2c003aa254abfcf329fdb139225a558b..b0f2bc4ae3b200f818e942dad998c210a2f388b0 100644 (file)
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 //
-//go:build 386 || amd64 || amd64p32 || alpha || arm || arm64 || mipsle || mips64le || mips64p32le || nios2 || ppc64le || riscv || riscv64 || sh
-// +build 386 amd64 amd64p32 alpha arm arm64 mipsle mips64le mips64p32le nios2 ppc64le riscv riscv64 sh
+//go:build 386 || amd64 || amd64p32 || alpha || arm || arm64 || loong64 || mipsle || mips64le || mips64p32le || nios2 || ppc64le || riscv || riscv64 || sh
+// +build 386 amd64 amd64p32 alpha arm arm64 loong64 mipsle mips64le mips64p32le nios2 ppc64le riscv riscv64 sh
 
 package unix
 
index a037087481db7422f1a76f76aab834e48381ad35..d888fb770364d86e83eafa81510ee2f185aa161c 100644 (file)
@@ -215,6 +215,7 @@ struct ltchars {
 #include <linux/ethtool_netlink.h>
 #include <linux/falloc.h>
 #include <linux/fanotify.h>
+#include <linux/fib_rules.h>
 #include <linux/filter.h>
 #include <linux/fs.h>
 #include <linux/fscrypt.h>
@@ -603,6 +604,7 @@ ccflags="$@"
                $2 ~ /^ITIMER_/ ||
                $2 !~ "WMESGLEN" &&
                $2 ~ /^W[A-Z0-9]+$/ ||
+               $2 ~ /^P_/ ||
                $2 ~/^PPPIOC/ ||
                $2 ~ /^FAN_|FANOTIFY_/ ||
                $2 == "HID_MAX_DESCRIPTOR_SIZE" ||
@@ -612,6 +614,7 @@ ccflags="$@"
                $2 ~ /^OTP/ ||
                $2 ~ /^MEM/ ||
                $2 ~ /^WG/ ||
+               $2 ~ /^FIB_RULE_/ ||
                $2 ~ /^BLK[A-Z]*(GET$|SET$|BUF$|PART$|SIZE)/ {printf("\t%s = C.%s\n", $2, $2)}
                $2 ~ /^__WCOREFLAG$/ {next}
                $2 ~ /^__W[A-Z0-9]+$/ {printf("\t%s = C.%s\n", substr($2,3), $2)}
index a801b1b1b8423d480a4b15e5a03d17cfbd880afb..9c87c5f07f8c885378ca306cc7bf28c9ea923964 100644 (file)
@@ -553,12 +553,7 @@ func UtimesNano(path string, ts []Timespec) error {
        if len(ts) != 2 {
                return EINVAL
        }
-       // Darwin setattrlist can set nanosecond timestamps
-       err := setattrlistTimes(path, ts, 0)
-       if err != ENOSYS {
-               return err
-       }
-       err = utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0)
+       err := utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0)
        if err != ENOSYS {
                return err
        }
@@ -578,10 +573,6 @@ func UtimesNanoAt(dirfd int, path string, ts []Timespec, flags int) error {
        if len(ts) != 2 {
                return EINVAL
        }
-       err := setattrlistTimes(path, ts, flags)
-       if err != ENOSYS {
-               return err
-       }
        return utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), flags)
 }
 
index ca2ae35719539bdafbaa269acfcf650e36582c01..09a25c65321f2327d92e7edb42b6037997f4490e 100644 (file)
@@ -141,16 +141,6 @@ func direntNamlen(buf []byte) (uint64, bool) {
 func PtraceAttach(pid int) (err error) { return ptrace(PT_ATTACH, pid, 0, 0) }
 func PtraceDetach(pid int) (err error) { return ptrace(PT_DETACH, pid, 0, 0) }
 
-type attrList struct {
-       bitmapCount uint16
-       _           uint16
-       CommonAttr  uint32
-       VolAttr     uint32
-       DirAttr     uint32
-       FileAttr    uint32
-       Forkattr    uint32
-}
-
 //sysnb        pipe(p *[2]int32) (err error)
 
 func Pipe(p []int) (err error) {
@@ -282,36 +272,7 @@ func Flistxattr(fd int, dest []byte) (sz int, err error) {
        return flistxattr(fd, xattrPointer(dest), len(dest), 0)
 }
 
-func setattrlistTimes(path string, times []Timespec, flags int) error {
-       _p0, err := BytePtrFromString(path)
-       if err != nil {
-               return err
-       }
-
-       var attrList attrList
-       attrList.bitmapCount = ATTR_BIT_MAP_COUNT
-       attrList.CommonAttr = ATTR_CMN_MODTIME | ATTR_CMN_ACCTIME
-
-       // order is mtime, atime: the opposite of Chtimes
-       attributes := [2]Timespec{times[1], times[0]}
-       options := 0
-       if flags&AT_SYMLINK_NOFOLLOW != 0 {
-               options |= FSOPT_NOFOLLOW
-       }
-       return setattrlist(
-               _p0,
-               unsafe.Pointer(&attrList),
-               unsafe.Pointer(&attributes),
-               unsafe.Sizeof(attributes),
-               options)
-}
-
-//sys  setattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error)
-
-func utimensat(dirfd int, path string, times *[2]Timespec, flags int) error {
-       // Darwin doesn't support SYS_UTIMENSAT
-       return ENOSYS
-}
+//sys  utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error)
 
 /*
  * Wrapped
index 36c268b3525e3542f96a9009e2e2df579e9271e8..c61e27498000029a259d276f9ea7aeed99208279 100644 (file)
@@ -169,11 +169,6 @@ func Getfsstat(buf []Statfs_t, flags int) (n int, err error) {
        return
 }
 
-func setattrlistTimes(path string, times []Timespec, flags int) error {
-       // used on Darwin for UtimesNano
-       return ENOSYS
-}
-
 //sys  ioctl(fd int, req uint, arg uintptr) (err error)
 
 //sys  sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL
index ac3db019b59526126c827f61d87f3e4383390eba..6f6c510f4130d046dd6da063e581168ea4bd8ae6 100644 (file)
@@ -194,11 +194,6 @@ func Getfsstat(buf []Statfs_t, flags int) (n int, err error) {
        return
 }
 
-func setattrlistTimes(path string, times []Timespec, flags int) error {
-       // used on Darwin for UtimesNano
-       return ENOSYS
-}
-
 //sys  ioctl(fd int, req uint, arg uintptr) (err error)
 
 //sys  sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL
index d7a94e767dedff9b73b87268518079ea8fba425f..d251dafae001f8211f7a176ddde5ac33cbfba515 100644 (file)
@@ -366,6 +366,8 @@ func Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int,
        return
 }
 
+//sys  Waitid(idType int, id int, info *Siginfo, options int, rusage *Rusage) (err error)
+
 func Mkfifo(path string, mode uint32) error {
        return Mknod(path, mode|S_IFIFO, 0)
 }
@@ -1827,6 +1829,9 @@ func Dup2(oldfd, newfd int) error {
 //sys  Fremovexattr(fd int, attr string) (err error)
 //sys  Fsetxattr(fd int, attr string, dest []byte, flags int) (err error)
 //sys  Fsync(fd int) (err error)
+//sys  Fsmount(fd int, flags int, mountAttrs int) (fsfd int, err error)
+//sys  Fsopen(fsName string, flags int) (fd int, err error)
+//sys  Fspick(dirfd int, pathName string, flags int) (fd int, err error)
 //sys  Getdents(fd int, buf []byte) (n int, err error) = SYS_GETDENTS64
 //sysnb        Getpgid(pid int) (pgid int, err error)
 
@@ -1857,7 +1862,9 @@ func Getpgrp() (pid int) {
 //sys  MemfdCreate(name string, flags int) (fd int, err error)
 //sys  Mkdirat(dirfd int, path string, mode uint32) (err error)
 //sys  Mknodat(dirfd int, path string, mode uint32, dev int) (err error)
+//sys  MoveMount(fromDirfd int, fromPathName string, toDirfd int, toPathName string, flags int) (err error)
 //sys  Nanosleep(time *Timespec, leftover *Timespec) (err error)
+//sys  OpenTree(dfd int, fileName string, flags uint) (r int, err error)
 //sys  PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error)
 //sys  PivotRoot(newroot string, putold string) (err error) = SYS_PIVOT_ROOT
 //sysnb        Prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) = SYS_PRLIMIT64
@@ -2182,7 +2189,7 @@ func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
                        gid = Getgid()
                }
 
-               if uint32(gid) == st.Gid || isGroupMember(gid) {
+               if uint32(gid) == st.Gid || isGroupMember(int(st.Gid)) {
                        fmode = (st.Mode >> 3) & 7
                } else {
                        fmode = st.Mode & 7
@@ -2297,6 +2304,7 @@ type RemoteIovec struct {
 
 //sys  PidfdOpen(pid int, flags int) (fd int, err error) = SYS_PIDFD_OPEN
 //sys  PidfdGetfd(pidfd int, targetfd int, flags int) (fd int, err error) = SYS_PIDFD_GETFD
+//sys  PidfdSendSignal(pidfd int, sig Signal, info *Siginfo, flags int) (err error) = SYS_PIDFD_SEND_SIGNAL
 
 //sys  shmat(id int, addr uintptr, flag int) (ret uintptr, err error)
 //sys  shmctl(id int, cmd int, buf *SysvShmDesc) (result int, err error)
@@ -2445,5 +2453,4 @@ func Setitimer(which ItimerWhich, it Itimerval) (Itimerval, error) {
 // Vfork
 // Vhangup
 // Vserver
-// Waitid
 // _Sysctl
index b945ab254dd3171b578be8088ddda7a0ced0d6bb..f5e9d6bef10971aeac1f9bf94609f7ed3425c3fb 100644 (file)
@@ -28,6 +28,7 @@ func Lstat(path string, stat *Stat_t) (err error) {
        return Fstatat(AT_FDCWD, path, stat, AT_SYMLINK_NOFOLLOW)
 }
 
+//sys  MemfdSecret(flags int) (fd int, err error)
 //sys  Pause() (err error)
 //sys  pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64
 //sys  pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64
index 81db4833a57c7267c49693bcb3f0808313c9cd1f..d83e2c65716186ca5555fb2fdd9d8cd39df88b50 100644 (file)
@@ -22,6 +22,7 @@ import "unsafe"
 //sysnb        getrlimit(resource int, rlim *Rlimit) (err error)
 //sysnb        Getuid() (uid int)
 //sys  Listen(s int, n int) (err error)
+//sys  MemfdSecret(flags int) (fd int, err error)
 //sys  pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64
 //sys  pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64
 //sys  Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error)
diff --git a/src/cmd/vendor/golang.org/x/sys/unix/syscall_linux_loong64.go b/src/cmd/vendor/golang.org/x/sys/unix/syscall_linux_loong64.go
new file mode 100644 (file)
index 0000000..28ba7b8
--- /dev/null
@@ -0,0 +1,191 @@
+// Copyright 2022 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.
+
+//go:build loong64 && linux
+// +build loong64,linux
+
+package unix
+
+import "unsafe"
+
+//sys  EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) = SYS_EPOLL_PWAIT
+//sys  Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64
+//sys  Fchown(fd int, uid int, gid int) (err error)
+//sys  Fstat(fd int, stat *Stat_t) (err error)
+//sys  Fstatat(fd int, path string, stat *Stat_t, flags int) (err error)
+//sys  Fstatfs(fd int, buf *Statfs_t) (err error)
+//sys  Ftruncate(fd int, length int64) (err error)
+//sysnb        Getegid() (egid int)
+//sysnb        Geteuid() (euid int)
+//sysnb        Getgid() (gid int)
+//sysnb        Getuid() (uid int)
+//sys  Listen(s int, n int) (err error)
+//sys  pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64
+//sys  pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64
+//sys  Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK
+
+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {
+       var ts *Timespec
+       if timeout != nil {
+               ts = &Timespec{Sec: timeout.Sec, Nsec: timeout.Usec * 1000}
+       }
+       return Pselect(nfd, r, w, e, ts, nil)
+}
+
+//sys  sendfile(outfd int, infd int, offset *int64, count int) (written int, err error)
+//sys  setfsgid(gid int) (prev int, err error)
+//sys  setfsuid(uid int) (prev int, err error)
+//sysnb        Setregid(rgid int, egid int) (err error)
+//sysnb        Setresgid(rgid int, egid int, sgid int) (err error)
+//sysnb        Setresuid(ruid int, euid int, suid int) (err error)
+//sysnb        Setreuid(ruid int, euid int) (err error)
+//sys  Shutdown(fd int, how int) (err error)
+//sys  Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error)
+
+func Stat(path string, stat *Stat_t) (err error) {
+       return Fstatat(AT_FDCWD, path, stat, 0)
+}
+
+func Lchown(path string, uid int, gid int) (err error) {
+       return Fchownat(AT_FDCWD, path, uid, gid, AT_SYMLINK_NOFOLLOW)
+}
+
+func Lstat(path string, stat *Stat_t) (err error) {
+       return Fstatat(AT_FDCWD, path, stat, AT_SYMLINK_NOFOLLOW)
+}
+
+//sys  Statfs(path string, buf *Statfs_t) (err error)
+//sys  SyncFileRange(fd int, off int64, n int64, flags int) (err error)
+//sys  Truncate(path string, length int64) (err error)
+
+func Ustat(dev int, ubuf *Ustat_t) (err error) {
+       return ENOSYS
+}
+
+//sys  accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error)
+//sys  bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)
+//sys  connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)
+//sysnb        getgroups(n int, list *_Gid_t) (nn int, err error)
+//sysnb        setgroups(n int, list *_Gid_t) (err error)
+//sys  getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error)
+//sys  setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error)
+//sysnb        socket(domain int, typ int, proto int) (fd int, err error)
+//sysnb        socketpair(domain int, typ int, proto int, fd *[2]int32) (err error)
+//sysnb        getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error)
+//sysnb        getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error)
+//sys  recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error)
+//sys  sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error)
+//sys  recvmsg(s int, msg *Msghdr, flags int) (n int, err error)
+//sys  sendmsg(s int, msg *Msghdr, flags int) (n int, err error)
+//sys  mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error)
+
+//sysnb        Gettimeofday(tv *Timeval) (err error)
+
+func setTimespec(sec, nsec int64) Timespec {
+       return Timespec{Sec: sec, Nsec: nsec}
+}
+
+func setTimeval(sec, usec int64) Timeval {
+       return Timeval{Sec: sec, Usec: usec}
+}
+
+func Getrlimit(resource int, rlim *Rlimit) (err error) {
+       err = Prlimit(0, resource, nil, rlim)
+       return
+}
+
+func Setrlimit(resource int, rlim *Rlimit) (err error) {
+       err = Prlimit(0, resource, rlim, nil)
+       return
+}
+
+func futimesat(dirfd int, path string, tv *[2]Timeval) (err error) {
+       if tv == nil {
+               return utimensat(dirfd, path, nil, 0)
+       }
+
+       ts := []Timespec{
+               NsecToTimespec(TimevalToNsec(tv[0])),
+               NsecToTimespec(TimevalToNsec(tv[1])),
+       }
+       return utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0)
+}
+
+func Time(t *Time_t) (Time_t, error) {
+       var tv Timeval
+       err := Gettimeofday(&tv)
+       if err != nil {
+               return 0, err
+       }
+       if t != nil {
+               *t = Time_t(tv.Sec)
+       }
+       return Time_t(tv.Sec), nil
+}
+
+func Utime(path string, buf *Utimbuf) error {
+       tv := []Timeval{
+               {Sec: buf.Actime},
+               {Sec: buf.Modtime},
+       }
+       return Utimes(path, tv)
+}
+
+func utimes(path string, tv *[2]Timeval) (err error) {
+       if tv == nil {
+               return utimensat(AT_FDCWD, path, nil, 0)
+       }
+
+       ts := []Timespec{
+               NsecToTimespec(TimevalToNsec(tv[0])),
+               NsecToTimespec(TimevalToNsec(tv[1])),
+       }
+       return utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0)
+}
+
+func (r *PtraceRegs) PC() uint64 { return r.Era }
+
+func (r *PtraceRegs) SetPC(era uint64) { r.Era = era }
+
+func (iov *Iovec) SetLen(length int) {
+       iov.Len = uint64(length)
+}
+
+func (msghdr *Msghdr) SetControllen(length int) {
+       msghdr.Controllen = uint64(length)
+}
+
+func (msghdr *Msghdr) SetIovlen(length int) {
+       msghdr.Iovlen = uint64(length)
+}
+
+func (cmsg *Cmsghdr) SetLen(length int) {
+       cmsg.Len = uint64(length)
+}
+
+func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) {
+       rsa.Service_name_len = uint64(length)
+}
+
+func Pause() error {
+       _, err := ppoll(nil, 0, nil, nil)
+       return err
+}
+
+func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {
+       return Renameat2(olddirfd, oldpath, newdirfd, newpath, 0)
+}
+
+//sys  kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error)
+
+func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error {
+       cmdlineLen := len(cmdline)
+       if cmdlineLen > 0 {
+               // Account for the additional NULL byte added by
+               // BytePtrFromString in kexecFileLoad. The kexec_file_load
+               // syscall expects a NULL-terminated string.
+               cmdlineLen++
+       }
+       return kexecFileLoad(kernelFd, initrdFd, cmdlineLen, cmdline, flags)
+}
index d9946e5f545892b3d5e167e7a94d758539a70566..666f0a1b33d25a2f50934a7fbe72f18bc2a60a4b 100644 (file)
@@ -163,11 +163,6 @@ func sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
        return -1, ENOSYS
 }
 
-func setattrlistTimes(path string, times []Timespec, flags int) error {
-       // used on Darwin for UtimesNano
-       return ENOSYS
-}
-
 //sys  ioctl(fd int, req uint, arg uintptr) (err error)
 
 //sys  sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL
index 0d94765b1a6bdd925c6e380d81da6e9b7b6424a7..15d637d63ea1a9e84be208024294d53d05b43d5c 100644 (file)
@@ -149,11 +149,6 @@ func Getfsstat(buf []Statfs_t, flags int) (n int, err error) {
        return
 }
 
-func setattrlistTimes(path string, times []Timespec, flags int) error {
-       // used on Darwin for UtimesNano
-       return ENOSYS
-}
-
 //sys  ioctl(fd int, req uint, arg uintptr) (err error)
 
 //sys  sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL
index 8c4e800607864603da816a9eb9a7e5900529c083..5c2003cec654d2df3dd383506d34b3a76188bb1e 100644 (file)
@@ -737,8 +737,20 @@ type fileObjCookie struct {
 type EventPort struct {
        port  int
        mu    sync.Mutex
-       fds   map[uintptr]interface{}
+       fds   map[uintptr]*fileObjCookie
        paths map[string]*fileObjCookie
+       // The user cookie presents an interesting challenge from a memory management perspective.
+       // There are two paths by which we can discover that it is no longer in use:
+       // 1. The user calls port_dissociate before any events fire
+       // 2. An event fires and we return it to the user
+       // The tricky situation is if the event has fired in the kernel but
+       // the user hasn't requested/received it yet.
+       // If the user wants to port_dissociate before the event has been processed,
+       // we should handle things gracefully. To do so, we need to keep an extra
+       // reference to the cookie around until the event is processed
+       // thus the otherwise seemingly extraneous "cookies" map
+       // The key of this map is a pointer to the corresponding &fCookie.cookie
+       cookies map[*interface{}]*fileObjCookie
 }
 
 // PortEvent is an abstraction of the port_event C struct.
@@ -762,9 +774,10 @@ func NewEventPort() (*EventPort, error) {
                return nil, err
        }
        e := &EventPort{
-               port:  port,
-               fds:   make(map[uintptr]interface{}),
-               paths: make(map[string]*fileObjCookie),
+               port:    port,
+               fds:     make(map[uintptr]*fileObjCookie),
+               paths:   make(map[string]*fileObjCookie),
+               cookies: make(map[*interface{}]*fileObjCookie),
        }
        return e, nil
 }
@@ -779,9 +792,13 @@ func NewEventPort() (*EventPort, error) {
 func (e *EventPort) Close() error {
        e.mu.Lock()
        defer e.mu.Unlock()
+       err := Close(e.port)
+       if err != nil {
+               return err
+       }
        e.fds = nil
        e.paths = nil
-       return Close(e.port)
+       return nil
 }
 
 // PathIsWatched checks to see if path is associated with this EventPort.
@@ -818,6 +835,7 @@ func (e *EventPort) AssociatePath(path string, stat os.FileInfo, events int, coo
                return err
        }
        e.paths[path] = fCookie
+       e.cookies[&fCookie.cookie] = fCookie
        return nil
 }
 
@@ -830,11 +848,19 @@ func (e *EventPort) DissociatePath(path string) error {
                return fmt.Errorf("%v is not associated with this Event Port", path)
        }
        _, err := port_dissociate(e.port, PORT_SOURCE_FILE, uintptr(unsafe.Pointer(f.fobj)))
-       if err != nil {
+       // If the path is no longer associated with this event port (ENOENT)
+       // we should delete it from our map. We can still return ENOENT to the caller.
+       // But we need to save the cookie
+       if err != nil && err != ENOENT {
                return err
        }
+       if err == nil {
+               // dissociate was successful, safe to delete the cookie
+               fCookie := e.paths[path]
+               delete(e.cookies, &fCookie.cookie)
+       }
        delete(e.paths, path)
-       return nil
+       return err
 }
 
 // AssociateFd wraps calls to port_associate(3c) on file descriptors.
@@ -844,12 +870,13 @@ func (e *EventPort) AssociateFd(fd uintptr, events int, cookie interface{}) erro
        if _, found := e.fds[fd]; found {
                return fmt.Errorf("%v is already associated with this Event Port", fd)
        }
-       pcookie := &cookie
-       _, err := port_associate(e.port, PORT_SOURCE_FD, fd, events, (*byte)(unsafe.Pointer(pcookie)))
+       fCookie := &fileObjCookie{nil, cookie}
+       _, err := port_associate(e.port, PORT_SOURCE_FD, fd, events, (*byte)(unsafe.Pointer(&fCookie.cookie)))
        if err != nil {
                return err
        }
-       e.fds[fd] = pcookie
+       e.fds[fd] = fCookie
+       e.cookies[&fCookie.cookie] = fCookie
        return nil
 }
 
@@ -862,11 +889,16 @@ func (e *EventPort) DissociateFd(fd uintptr) error {
                return fmt.Errorf("%v is not associated with this Event Port", fd)
        }
        _, err := port_dissociate(e.port, PORT_SOURCE_FD, fd)
-       if err != nil {
+       if err != nil && err != ENOENT {
                return err
        }
+       if err == nil {
+               // dissociate was successful, safe to delete the cookie
+               fCookie := e.fds[fd]
+               delete(e.cookies, &fCookie.cookie)
+       }
        delete(e.fds, fd)
-       return nil
+       return err
 }
 
 func createFileObj(name string, stat os.FileInfo) (*fileObj, error) {
@@ -894,24 +926,46 @@ func (e *EventPort) GetOne(t *Timespec) (*PortEvent, error) {
                return nil, err
        }
        p := new(PortEvent)
-       p.Events = pe.Events
-       p.Source = pe.Source
        e.mu.Lock()
        defer e.mu.Unlock()
-       switch pe.Source {
+       e.peIntToExt(pe, p)
+       return p, nil
+}
+
+// peIntToExt converts a cgo portEvent struct into the friendlier PortEvent
+// NOTE: Always call this function while holding the e.mu mutex
+func (e *EventPort) peIntToExt(peInt *portEvent, peExt *PortEvent) {
+       peExt.Events = peInt.Events
+       peExt.Source = peInt.Source
+       cookie := (*interface{})(unsafe.Pointer(peInt.User))
+       peExt.Cookie = *cookie
+       switch peInt.Source {
        case PORT_SOURCE_FD:
-               p.Fd = uintptr(pe.Object)
-               cookie := (*interface{})(unsafe.Pointer(pe.User))
-               p.Cookie = *cookie
-               delete(e.fds, p.Fd)
+               delete(e.cookies, cookie)
+               peExt.Fd = uintptr(peInt.Object)
+               // Only remove the fds entry if it exists and this cookie matches
+               if fobj, ok := e.fds[peExt.Fd]; ok {
+                       if &fobj.cookie == cookie {
+                               delete(e.fds, peExt.Fd)
+                       }
+               }
        case PORT_SOURCE_FILE:
-               p.fobj = (*fileObj)(unsafe.Pointer(uintptr(pe.Object)))
-               p.Path = BytePtrToString((*byte)(unsafe.Pointer(p.fobj.Name)))
-               cookie := (*interface{})(unsafe.Pointer(pe.User))
-               p.Cookie = *cookie
-               delete(e.paths, p.Path)
+               if fCookie, ok := e.cookies[cookie]; ok && uintptr(unsafe.Pointer(fCookie.fobj)) == uintptr(peInt.Object) {
+                       // Use our stashed reference rather than using unsafe on what we got back
+                       // the unsafe version would be (*fileObj)(unsafe.Pointer(uintptr(peInt.Object)))
+                       peExt.fobj = fCookie.fobj
+               } else {
+                       panic("mismanaged memory")
+               }
+               delete(e.cookies, cookie)
+               peExt.Path = BytePtrToString((*byte)(unsafe.Pointer(peExt.fobj.Name)))
+               // Only remove the paths entry if it exists and this cookie matches
+               if fobj, ok := e.paths[peExt.Path]; ok {
+                       if &fobj.cookie == cookie {
+                               delete(e.paths, peExt.Path)
+                       }
+               }
        }
-       return p, nil
 }
 
 // Pending wraps port_getn(3c) and returns how many events are pending.
@@ -944,21 +998,7 @@ func (e *EventPort) Get(s []PortEvent, min int, timeout *Timespec) (int, error)
        e.mu.Lock()
        defer e.mu.Unlock()
        for i := 0; i < int(got); i++ {
-               s[i].Events = ps[i].Events
-               s[i].Source = ps[i].Source
-               switch ps[i].Source {
-               case PORT_SOURCE_FD:
-                       s[i].Fd = uintptr(ps[i].Object)
-                       cookie := (*interface{})(unsafe.Pointer(ps[i].User))
-                       s[i].Cookie = *cookie
-                       delete(e.fds, s[i].Fd)
-               case PORT_SOURCE_FILE:
-                       s[i].fobj = (*fileObj)(unsafe.Pointer(uintptr(ps[i].Object)))
-                       s[i].Path = BytePtrToString((*byte)(unsafe.Pointer(s[i].fobj.Name)))
-                       cookie := (*interface{})(unsafe.Pointer(ps[i].User))
-                       s[i].Cookie = *cookie
-                       delete(e.paths, s[i].Path)
-               }
+               e.peIntToExt(&ps[i], &s[i])
        }
        return int(got), err
 }
index bc7c9d0755988f58a94862eb50bf7376f762a0ca..c0a43f8ba6fcd3e7dbba81154d53c33a54a600ca 100644 (file)
@@ -393,9 +393,11 @@ const (
        CAP_SYS_TIME                                = 0x19
        CAP_SYS_TTY_CONFIG                          = 0x1a
        CAP_WAKE_ALARM                              = 0x23
+       CEPH_SUPER_MAGIC                            = 0xc36400
        CFLUSH                                      = 0xf
        CGROUP2_SUPER_MAGIC                         = 0x63677270
        CGROUP_SUPER_MAGIC                          = 0x27e0eb
+       CIFS_SUPER_MAGIC                            = 0xff534d42
        CLOCK_BOOTTIME                              = 0x7
        CLOCK_BOOTTIME_ALARM                        = 0x9
        CLOCK_DEFAULT                               = 0x0
@@ -784,6 +786,7 @@ const (
        EV_SYN                                      = 0x0
        EV_VERSION                                  = 0x10001
        EXABYTE_ENABLE_NEST                         = 0xf0
+       EXFAT_SUPER_MAGIC                           = 0x2011bab0
        EXT2_SUPER_MAGIC                            = 0xef53
        EXT3_SUPER_MAGIC                            = 0xef53
        EXT4_SUPER_MAGIC                            = 0xef53
@@ -826,6 +829,8 @@ const (
        FAN_EVENT_INFO_TYPE_DFID_NAME               = 0x2
        FAN_EVENT_INFO_TYPE_ERROR                   = 0x5
        FAN_EVENT_INFO_TYPE_FID                     = 0x1
+       FAN_EVENT_INFO_TYPE_NEW_DFID_NAME           = 0xc
+       FAN_EVENT_INFO_TYPE_OLD_DFID_NAME           = 0xa
        FAN_EVENT_INFO_TYPE_PIDFD                   = 0x4
        FAN_EVENT_METADATA_LEN                      = 0x18
        FAN_EVENT_ON_CHILD                          = 0x8000000
@@ -854,17 +859,27 @@ const (
        FAN_OPEN_EXEC_PERM                          = 0x40000
        FAN_OPEN_PERM                               = 0x10000
        FAN_Q_OVERFLOW                              = 0x4000
+       FAN_RENAME                                  = 0x10000000
        FAN_REPORT_DFID_NAME                        = 0xc00
+       FAN_REPORT_DFID_NAME_TARGET                 = 0x1e00
        FAN_REPORT_DIR_FID                          = 0x400
        FAN_REPORT_FID                              = 0x200
        FAN_REPORT_NAME                             = 0x800
        FAN_REPORT_PIDFD                            = 0x80
+       FAN_REPORT_TARGET_FID                       = 0x1000
        FAN_REPORT_TID                              = 0x100
        FAN_UNLIMITED_MARKS                         = 0x20
        FAN_UNLIMITED_QUEUE                         = 0x10
        FD_CLOEXEC                                  = 0x1
        FD_SETSIZE                                  = 0x400
        FF0                                         = 0x0
+       FIB_RULE_DEV_DETACHED                       = 0x8
+       FIB_RULE_FIND_SADDR                         = 0x10000
+       FIB_RULE_IIF_DETACHED                       = 0x8
+       FIB_RULE_INVERT                             = 0x2
+       FIB_RULE_OIF_DETACHED                       = 0x10
+       FIB_RULE_PERMANENT                          = 0x1
+       FIB_RULE_UNRESOLVED                         = 0x4
        FIDEDUPERANGE                               = 0xc0189436
        FSCRYPT_KEY_DESCRIPTOR_SIZE                 = 0x8
        FSCRYPT_KEY_DESC_PREFIX                     = "fscrypt:"
@@ -927,6 +942,7 @@ const (
        FS_VERITY_METADATA_TYPE_DESCRIPTOR          = 0x2
        FS_VERITY_METADATA_TYPE_MERKLE_TREE         = 0x1
        FS_VERITY_METADATA_TYPE_SIGNATURE           = 0x3
+       FUSE_SUPER_MAGIC                            = 0x65735546
        FUTEXFS_SUPER_MAGIC                         = 0xbad1dea
        F_ADD_SEALS                                 = 0x409
        F_DUPFD                                     = 0x0
@@ -1294,6 +1310,7 @@ const (
        KEXEC_ARCH_ARM                              = 0x280000
        KEXEC_ARCH_DEFAULT                          = 0x0
        KEXEC_ARCH_IA_64                            = 0x320000
+       KEXEC_ARCH_LOONGARCH                        = 0x1020000
        KEXEC_ARCH_MASK                             = 0xffff0000
        KEXEC_ARCH_MIPS                             = 0x80000
        KEXEC_ARCH_MIPS_LE                          = 0xa0000
@@ -1495,6 +1512,7 @@ const (
        MNT_DETACH                                  = 0x2
        MNT_EXPIRE                                  = 0x4
        MNT_FORCE                                   = 0x1
+       MODULE_INIT_COMPRESSED_FILE                 = 0x4
        MODULE_INIT_IGNORE_MODVERSIONS              = 0x1
        MODULE_INIT_IGNORE_VERMAGIC                 = 0x2
        MOUNT_ATTR_IDMAP                            = 0x100000
@@ -1849,6 +1867,9 @@ const (
        PERF_MEM_BLK_NA                             = 0x1
        PERF_MEM_BLK_SHIFT                          = 0x28
        PERF_MEM_HOPS_0                             = 0x1
+       PERF_MEM_HOPS_1                             = 0x2
+       PERF_MEM_HOPS_2                             = 0x3
+       PERF_MEM_HOPS_3                             = 0x4
        PERF_MEM_HOPS_SHIFT                         = 0x2b
        PERF_MEM_LOCK_LOCKED                        = 0x2
        PERF_MEM_LOCK_NA                            = 0x1
@@ -2052,6 +2073,8 @@ const (
        PR_SET_TIMING                               = 0xe
        PR_SET_TSC                                  = 0x1a
        PR_SET_UNALIGN                              = 0x6
+       PR_SET_VMA                                  = 0x53564d41
+       PR_SET_VMA_ANON_NAME                        = 0x0
        PR_SPEC_DISABLE                             = 0x4
        PR_SPEC_DISABLE_NOEXEC                      = 0x10
        PR_SPEC_ENABLE                              = 0x2
@@ -2135,6 +2158,10 @@ const (
        PTRACE_SYSCALL_INFO_NONE                    = 0x0
        PTRACE_SYSCALL_INFO_SECCOMP                 = 0x3
        PTRACE_TRACEME                              = 0x0
+       P_ALL                                       = 0x0
+       P_PGID                                      = 0x2
+       P_PID                                       = 0x1
+       P_PIDFD                                     = 0x3
        QNX4_SUPER_MAGIC                            = 0x2f
        QNX6_SUPER_MAGIC                            = 0x68191122
        RAMFS_MAGIC                                 = 0x858458f6
@@ -2505,6 +2532,7 @@ const (
        SMART_STATUS                                = 0xda
        SMART_WRITE_LOG_SECTOR                      = 0xd6
        SMART_WRITE_THRESHOLDS                      = 0xd7
+       SMB2_SUPER_MAGIC                            = 0xfe534d42
        SMB_SUPER_MAGIC                             = 0x517b
        SOCKFS_MAGIC                                = 0x534f434b
        SOCK_BUF_LOCK_MASK                          = 0x3
@@ -2646,7 +2674,7 @@ const (
        TASKSTATS_GENL_NAME                         = "TASKSTATS"
        TASKSTATS_GENL_VERSION                      = 0x1
        TASKSTATS_TYPE_MAX                          = 0x6
-       TASKSTATS_VERSION                           = 0xa
+       TASKSTATS_VERSION                           = 0xb
        TCIFLUSH                                    = 0x0
        TCIOFF                                      = 0x2
        TCIOFLUSH                                   = 0x2
diff --git a/src/cmd/vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go b/src/cmd/vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go
new file mode 100644 (file)
index 0000000..ebc5f32
--- /dev/null
@@ -0,0 +1,818 @@
+// mkerrors.sh -Wall -Werror -static -I/tmp/include
+// Code generated by the command above; see README.md. DO NOT EDIT.
+
+//go:build loong64 && linux
+// +build loong64,linux
+
+// Code generated by cmd/cgo -godefs; DO NOT EDIT.
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/_const.go
+
+package unix
+
+import "syscall"
+
+const (
+       B1000000                         = 0x1008
+       B115200                          = 0x1002
+       B1152000                         = 0x1009
+       B1500000                         = 0x100a
+       B2000000                         = 0x100b
+       B230400                          = 0x1003
+       B2500000                         = 0x100c
+       B3000000                         = 0x100d
+       B3500000                         = 0x100e
+       B4000000                         = 0x100f
+       B460800                          = 0x1004
+       B500000                          = 0x1005
+       B57600                           = 0x1001
+       B576000                          = 0x1006
+       B921600                          = 0x1007
+       BLKBSZGET                        = 0x80081270
+       BLKBSZSET                        = 0x40081271
+       BLKFLSBUF                        = 0x1261
+       BLKFRAGET                        = 0x1265
+       BLKFRASET                        = 0x1264
+       BLKGETSIZE                       = 0x1260
+       BLKGETSIZE64                     = 0x80081272
+       BLKPBSZGET                       = 0x127b
+       BLKRAGET                         = 0x1263
+       BLKRASET                         = 0x1262
+       BLKROGET                         = 0x125e
+       BLKROSET                         = 0x125d
+       BLKRRPART                        = 0x125f
+       BLKSECTGET                       = 0x1267
+       BLKSECTSET                       = 0x1266
+       BLKSSZGET                        = 0x1268
+       BOTHER                           = 0x1000
+       BS1                              = 0x2000
+       BSDLY                            = 0x2000
+       CBAUD                            = 0x100f
+       CBAUDEX                          = 0x1000
+       CIBAUD                           = 0x100f0000
+       CLOCAL                           = 0x800
+       CR1                              = 0x200
+       CR2                              = 0x400
+       CR3                              = 0x600
+       CRDLY                            = 0x600
+       CREAD                            = 0x80
+       CS6                              = 0x10
+       CS7                              = 0x20
+       CS8                              = 0x30
+       CSIZE                            = 0x30
+       CSTOPB                           = 0x40
+       ECCGETLAYOUT                     = 0x81484d11
+       ECCGETSTATS                      = 0x80104d12
+       ECHOCTL                          = 0x200
+       ECHOE                            = 0x10
+       ECHOK                            = 0x20
+       ECHOKE                           = 0x800
+       ECHONL                           = 0x40
+       ECHOPRT                          = 0x400
+       EFD_CLOEXEC                      = 0x80000
+       EFD_NONBLOCK                     = 0x800
+       EPOLL_CLOEXEC                    = 0x80000
+       EXTPROC                          = 0x10000
+       FF1                              = 0x8000
+       FFDLY                            = 0x8000
+       FICLONE                          = 0x40049409
+       FICLONERANGE                     = 0x4020940d
+       FLUSHO                           = 0x1000
+       FPU_CTX_MAGIC                    = 0x46505501
+       FS_IOC_ENABLE_VERITY             = 0x40806685
+       FS_IOC_GETFLAGS                  = 0x80086601
+       FS_IOC_GET_ENCRYPTION_NONCE      = 0x8010661b
+       FS_IOC_GET_ENCRYPTION_POLICY     = 0x400c6615
+       FS_IOC_GET_ENCRYPTION_PWSALT     = 0x40106614
+       FS_IOC_SETFLAGS                  = 0x40086602
+       FS_IOC_SET_ENCRYPTION_POLICY     = 0x800c6613
+       F_GETLK                          = 0x5
+       F_GETLK64                        = 0x5
+       F_GETOWN                         = 0x9
+       F_RDLCK                          = 0x0
+       F_SETLK                          = 0x6
+       F_SETLK64                        = 0x6
+       F_SETLKW                         = 0x7
+       F_SETLKW64                       = 0x7
+       F_SETOWN                         = 0x8
+       F_UNLCK                          = 0x2
+       F_WRLCK                          = 0x1
+       HIDIOCGRAWINFO                   = 0x80084803
+       HIDIOCGRDESC                     = 0x90044802
+       HIDIOCGRDESCSIZE                 = 0x80044801
+       HUPCL                            = 0x400
+       ICANON                           = 0x2
+       IEXTEN                           = 0x8000
+       IN_CLOEXEC                       = 0x80000
+       IN_NONBLOCK                      = 0x800
+       IOCTL_VM_SOCKETS_GET_LOCAL_CID   = 0x7b9
+       ISIG                             = 0x1
+       IUCLC                            = 0x200
+       IXOFF                            = 0x1000
+       IXON                             = 0x400
+       LASX_CTX_MAGIC                   = 0x41535801
+       LSX_CTX_MAGIC                    = 0x53580001
+       MAP_ANON                         = 0x20
+       MAP_ANONYMOUS                    = 0x20
+       MAP_DENYWRITE                    = 0x800
+       MAP_EXECUTABLE                   = 0x1000
+       MAP_GROWSDOWN                    = 0x100
+       MAP_HUGETLB                      = 0x40000
+       MAP_LOCKED                       = 0x2000
+       MAP_NONBLOCK                     = 0x10000
+       MAP_NORESERVE                    = 0x4000
+       MAP_POPULATE                     = 0x8000
+       MAP_STACK                        = 0x20000
+       MAP_SYNC                         = 0x80000
+       MCL_CURRENT                      = 0x1
+       MCL_FUTURE                       = 0x2
+       MCL_ONFAULT                      = 0x4
+       MEMERASE                         = 0x40084d02
+       MEMERASE64                       = 0x40104d14
+       MEMGETBADBLOCK                   = 0x40084d0b
+       MEMGETINFO                       = 0x80204d01
+       MEMGETOOBSEL                     = 0x80c84d0a
+       MEMGETREGIONCOUNT                = 0x80044d07
+       MEMISLOCKED                      = 0x80084d17
+       MEMLOCK                          = 0x40084d05
+       MEMREADOOB                       = 0xc0104d04
+       MEMSETBADBLOCK                   = 0x40084d0c
+       MEMUNLOCK                        = 0x40084d06
+       MEMWRITEOOB                      = 0xc0104d03
+       MTDFILEMODE                      = 0x4d13
+       NFDBITS                          = 0x40
+       NLDLY                            = 0x100
+       NOFLSH                           = 0x80
+       NS_GET_NSTYPE                    = 0xb703
+       NS_GET_OWNER_UID                 = 0xb704
+       NS_GET_PARENT                    = 0xb702
+       NS_GET_USERNS                    = 0xb701
+       OLCUC                            = 0x2
+       ONLCR                            = 0x4
+       OTPERASE                         = 0x400c4d19
+       OTPGETREGIONCOUNT                = 0x40044d0e
+       OTPGETREGIONINFO                 = 0x400c4d0f
+       OTPLOCK                          = 0x800c4d10
+       OTPSELECT                        = 0x80044d0d
+       O_APPEND                         = 0x400
+       O_ASYNC                          = 0x2000
+       O_CLOEXEC                        = 0x80000
+       O_CREAT                          = 0x40
+       O_DIRECT                         = 0x4000
+       O_DIRECTORY                      = 0x10000
+       O_DSYNC                          = 0x1000
+       O_EXCL                           = 0x80
+       O_FSYNC                          = 0x101000
+       O_LARGEFILE                      = 0x0
+       O_NDELAY                         = 0x800
+       O_NOATIME                        = 0x40000
+       O_NOCTTY                         = 0x100
+       O_NOFOLLOW                       = 0x20000
+       O_NONBLOCK                       = 0x800
+       O_PATH                           = 0x200000
+       O_RSYNC                          = 0x101000
+       O_SYNC                           = 0x101000
+       O_TMPFILE                        = 0x410000
+       O_TRUNC                          = 0x200
+       PARENB                           = 0x100
+       PARODD                           = 0x200
+       PENDIN                           = 0x4000
+       PERF_EVENT_IOC_DISABLE           = 0x2401
+       PERF_EVENT_IOC_ENABLE            = 0x2400
+       PERF_EVENT_IOC_ID                = 0x80082407
+       PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x4008240b
+       PERF_EVENT_IOC_PAUSE_OUTPUT      = 0x40042409
+       PERF_EVENT_IOC_PERIOD            = 0x40082404
+       PERF_EVENT_IOC_QUERY_BPF         = 0xc008240a
+       PERF_EVENT_IOC_REFRESH           = 0x2402
+       PERF_EVENT_IOC_RESET             = 0x2403
+       PERF_EVENT_IOC_SET_BPF           = 0x40042408
+       PERF_EVENT_IOC_SET_FILTER        = 0x40082406
+       PERF_EVENT_IOC_SET_OUTPUT        = 0x2405
+       PPPIOCATTACH                     = 0x4004743d
+       PPPIOCATTCHAN                    = 0x40047438
+       PPPIOCBRIDGECHAN                 = 0x40047435
+       PPPIOCCONNECT                    = 0x4004743a
+       PPPIOCDETACH                     = 0x4004743c
+       PPPIOCDISCONN                    = 0x7439
+       PPPIOCGASYNCMAP                  = 0x80047458
+       PPPIOCGCHAN                      = 0x80047437
+       PPPIOCGDEBUG                     = 0x80047441
+       PPPIOCGFLAGS                     = 0x8004745a
+       PPPIOCGIDLE                      = 0x8010743f
+       PPPIOCGIDLE32                    = 0x8008743f
+       PPPIOCGIDLE64                    = 0x8010743f
+       PPPIOCGL2TPSTATS                 = 0x80487436
+       PPPIOCGMRU                       = 0x80047453
+       PPPIOCGRASYNCMAP                 = 0x80047455
+       PPPIOCGUNIT                      = 0x80047456
+       PPPIOCGXASYNCMAP                 = 0x80207450
+       PPPIOCSACTIVE                    = 0x40107446
+       PPPIOCSASYNCMAP                  = 0x40047457
+       PPPIOCSCOMPRESS                  = 0x4010744d
+       PPPIOCSDEBUG                     = 0x40047440
+       PPPIOCSFLAGS                     = 0x40047459
+       PPPIOCSMAXCID                    = 0x40047451
+       PPPIOCSMRRU                      = 0x4004743b
+       PPPIOCSMRU                       = 0x40047452
+       PPPIOCSNPMODE                    = 0x4008744b
+       PPPIOCSPASS                      = 0x40107447
+       PPPIOCSRASYNCMAP                 = 0x40047454
+       PPPIOCSXASYNCMAP                 = 0x4020744f
+       PPPIOCUNBRIDGECHAN               = 0x7434
+       PPPIOCXFERUNIT                   = 0x744e
+       PR_SET_PTRACER_ANY               = 0xffffffffffffffff
+       PTRACE_SYSEMU                    = 0x1f
+       PTRACE_SYSEMU_SINGLESTEP         = 0x20
+       RLIMIT_AS                        = 0x9
+       RLIMIT_MEMLOCK                   = 0x8
+       RLIMIT_NOFILE                    = 0x7
+       RLIMIT_NPROC                     = 0x6
+       RLIMIT_RSS                       = 0x5
+       RNDADDENTROPY                    = 0x40085203
+       RNDADDTOENTCNT                   = 0x40045201
+       RNDCLEARPOOL                     = 0x5206
+       RNDGETENTCNT                     = 0x80045200
+       RNDGETPOOL                       = 0x80085202
+       RNDRESEEDCRNG                    = 0x5207
+       RNDZAPENTCNT                     = 0x5204
+       RTC_AIE_OFF                      = 0x7002
+       RTC_AIE_ON                       = 0x7001
+       RTC_ALM_READ                     = 0x80247008
+       RTC_ALM_SET                      = 0x40247007
+       RTC_EPOCH_READ                   = 0x8008700d
+       RTC_EPOCH_SET                    = 0x4008700e
+       RTC_IRQP_READ                    = 0x8008700b
+       RTC_IRQP_SET                     = 0x4008700c
+       RTC_PARAM_GET                    = 0x40187013
+       RTC_PARAM_SET                    = 0x40187014
+       RTC_PIE_OFF                      = 0x7006
+       RTC_PIE_ON                       = 0x7005
+       RTC_PLL_GET                      = 0x80207011
+       RTC_PLL_SET                      = 0x40207012
+       RTC_RD_TIME                      = 0x80247009
+       RTC_SET_TIME                     = 0x4024700a
+       RTC_UIE_OFF                      = 0x7004
+       RTC_UIE_ON                       = 0x7003
+       RTC_VL_CLR                       = 0x7014
+       RTC_VL_READ                      = 0x80047013
+       RTC_WIE_OFF                      = 0x7010
+       RTC_WIE_ON                       = 0x700f
+       RTC_WKALM_RD                     = 0x80287010
+       RTC_WKALM_SET                    = 0x4028700f
+       SCM_TIMESTAMPING                 = 0x25
+       SCM_TIMESTAMPING_OPT_STATS       = 0x36
+       SCM_TIMESTAMPING_PKTINFO         = 0x3a
+       SCM_TIMESTAMPNS                  = 0x23
+       SCM_TXTIME                       = 0x3d
+       SCM_WIFI_STATUS                  = 0x29
+       SFD_CLOEXEC                      = 0x80000
+       SFD_NONBLOCK                     = 0x800
+       SIOCATMARK                       = 0x8905
+       SIOCGPGRP                        = 0x8904
+       SIOCGSTAMPNS_NEW                 = 0x80108907
+       SIOCGSTAMP_NEW                   = 0x80108906
+       SIOCINQ                          = 0x541b
+       SIOCOUTQ                         = 0x5411
+       SIOCSPGRP                        = 0x8902
+       SOCK_CLOEXEC                     = 0x80000
+       SOCK_DGRAM                       = 0x2
+       SOCK_NONBLOCK                    = 0x800
+       SOCK_STREAM                      = 0x1
+       SOL_SOCKET                       = 0x1
+       SO_ACCEPTCONN                    = 0x1e
+       SO_ATTACH_BPF                    = 0x32
+       SO_ATTACH_REUSEPORT_CBPF         = 0x33
+       SO_ATTACH_REUSEPORT_EBPF         = 0x34
+       SO_BINDTODEVICE                  = 0x19
+       SO_BINDTOIFINDEX                 = 0x3e
+       SO_BPF_EXTENSIONS                = 0x30
+       SO_BROADCAST                     = 0x6
+       SO_BSDCOMPAT                     = 0xe
+       SO_BUF_LOCK                      = 0x48
+       SO_BUSY_POLL                     = 0x2e
+       SO_BUSY_POLL_BUDGET              = 0x46
+       SO_CNX_ADVICE                    = 0x35
+       SO_COOKIE                        = 0x39
+       SO_DETACH_REUSEPORT_BPF          = 0x44
+       SO_DOMAIN                        = 0x27
+       SO_DONTROUTE                     = 0x5
+       SO_ERROR                         = 0x4
+       SO_INCOMING_CPU                  = 0x31
+       SO_INCOMING_NAPI_ID              = 0x38
+       SO_KEEPALIVE                     = 0x9
+       SO_LINGER                        = 0xd
+       SO_LOCK_FILTER                   = 0x2c
+       SO_MARK                          = 0x24
+       SO_MAX_PACING_RATE               = 0x2f
+       SO_MEMINFO                       = 0x37
+       SO_NETNS_COOKIE                  = 0x47
+       SO_NOFCS                         = 0x2b
+       SO_OOBINLINE                     = 0xa
+       SO_PASSCRED                      = 0x10
+       SO_PASSSEC                       = 0x22
+       SO_PEEK_OFF                      = 0x2a
+       SO_PEERCRED                      = 0x11
+       SO_PEERGROUPS                    = 0x3b
+       SO_PEERSEC                       = 0x1f
+       SO_PREFER_BUSY_POLL              = 0x45
+       SO_PROTOCOL                      = 0x26
+       SO_RCVBUF                        = 0x8
+       SO_RCVBUFFORCE                   = 0x21
+       SO_RCVLOWAT                      = 0x12
+       SO_RCVTIMEO                      = 0x14
+       SO_RCVTIMEO_NEW                  = 0x42
+       SO_RCVTIMEO_OLD                  = 0x14
+       SO_RESERVE_MEM                   = 0x49
+       SO_REUSEADDR                     = 0x2
+       SO_REUSEPORT                     = 0xf
+       SO_RXQ_OVFL                      = 0x28
+       SO_SECURITY_AUTHENTICATION       = 0x16
+       SO_SECURITY_ENCRYPTION_NETWORK   = 0x18
+       SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17
+       SO_SELECT_ERR_QUEUE              = 0x2d
+       SO_SNDBUF                        = 0x7
+       SO_SNDBUFFORCE                   = 0x20
+       SO_SNDLOWAT                      = 0x13
+       SO_SNDTIMEO                      = 0x15
+       SO_SNDTIMEO_NEW                  = 0x43
+       SO_SNDTIMEO_OLD                  = 0x15
+       SO_TIMESTAMPING                  = 0x25
+       SO_TIMESTAMPING_NEW              = 0x41
+       SO_TIMESTAMPING_OLD              = 0x25
+       SO_TIMESTAMPNS                   = 0x23
+       SO_TIMESTAMPNS_NEW               = 0x40
+       SO_TIMESTAMPNS_OLD               = 0x23
+       SO_TIMESTAMP_NEW                 = 0x3f
+       SO_TXTIME                        = 0x3d
+       SO_TYPE                          = 0x3
+       SO_WIFI_STATUS                   = 0x29
+       SO_ZEROCOPY                      = 0x3c
+       TAB1                             = 0x800
+       TAB2                             = 0x1000
+       TAB3                             = 0x1800
+       TABDLY                           = 0x1800
+       TCFLSH                           = 0x540b
+       TCGETA                           = 0x5405
+       TCGETS                           = 0x5401
+       TCGETS2                          = 0x802c542a
+       TCGETX                           = 0x5432
+       TCSAFLUSH                        = 0x2
+       TCSBRK                           = 0x5409
+       TCSBRKP                          = 0x5425
+       TCSETA                           = 0x5406
+       TCSETAF                          = 0x5408
+       TCSETAW                          = 0x5407
+       TCSETS                           = 0x5402
+       TCSETS2                          = 0x402c542b
+       TCSETSF                          = 0x5404
+       TCSETSF2                         = 0x402c542d
+       TCSETSW                          = 0x5403
+       TCSETSW2                         = 0x402c542c
+       TCSETX                           = 0x5433
+       TCSETXF                          = 0x5434
+       TCSETXW                          = 0x5435
+       TCXONC                           = 0x540a
+       TFD_CLOEXEC                      = 0x80000
+       TFD_NONBLOCK                     = 0x800
+       TIOCCBRK                         = 0x5428
+       TIOCCONS                         = 0x541d
+       TIOCEXCL                         = 0x540c
+       TIOCGDEV                         = 0x80045432
+       TIOCGETD                         = 0x5424
+       TIOCGEXCL                        = 0x80045440
+       TIOCGICOUNT                      = 0x545d
+       TIOCGISO7816                     = 0x80285442
+       TIOCGLCKTRMIOS                   = 0x5456
+       TIOCGPGRP                        = 0x540f
+       TIOCGPKT                         = 0x80045438
+       TIOCGPTLCK                       = 0x80045439
+       TIOCGPTN                         = 0x80045430
+       TIOCGPTPEER                      = 0x5441
+       TIOCGRS485                       = 0x542e
+       TIOCGSERIAL                      = 0x541e
+       TIOCGSID                         = 0x5429
+       TIOCGSOFTCAR                     = 0x5419
+       TIOCGWINSZ                       = 0x5413
+       TIOCINQ                          = 0x541b
+       TIOCLINUX                        = 0x541c
+       TIOCMBIC                         = 0x5417
+       TIOCMBIS                         = 0x5416
+       TIOCMGET                         = 0x5415
+       TIOCMIWAIT                       = 0x545c
+       TIOCMSET                         = 0x5418
+       TIOCM_CAR                        = 0x40
+       TIOCM_CD                         = 0x40
+       TIOCM_CTS                        = 0x20
+       TIOCM_DSR                        = 0x100
+       TIOCM_RI                         = 0x80
+       TIOCM_RNG                        = 0x80
+       TIOCM_SR                         = 0x10
+       TIOCM_ST                         = 0x8
+       TIOCNOTTY                        = 0x5422
+       TIOCNXCL                         = 0x540d
+       TIOCOUTQ                         = 0x5411
+       TIOCPKT                          = 0x5420
+       TIOCSBRK                         = 0x5427
+       TIOCSCTTY                        = 0x540e
+       TIOCSERCONFIG                    = 0x5453
+       TIOCSERGETLSR                    = 0x5459
+       TIOCSERGETMULTI                  = 0x545a
+       TIOCSERGSTRUCT                   = 0x5458
+       TIOCSERGWILD                     = 0x5454
+       TIOCSERSETMULTI                  = 0x545b
+       TIOCSERSWILD                     = 0x5455
+       TIOCSER_TEMT                     = 0x1
+       TIOCSETD                         = 0x5423
+       TIOCSIG                          = 0x40045436
+       TIOCSISO7816                     = 0xc0285443
+       TIOCSLCKTRMIOS                   = 0x5457
+       TIOCSPGRP                        = 0x5410
+       TIOCSPTLCK                       = 0x40045431
+       TIOCSRS485                       = 0x542f
+       TIOCSSERIAL                      = 0x541f
+       TIOCSSOFTCAR                     = 0x541a
+       TIOCSTI                          = 0x5412
+       TIOCSWINSZ                       = 0x5414
+       TIOCVHANGUP                      = 0x5437
+       TOSTOP                           = 0x100
+       TUNATTACHFILTER                  = 0x401054d5
+       TUNDETACHFILTER                  = 0x401054d6
+       TUNGETDEVNETNS                   = 0x54e3
+       TUNGETFEATURES                   = 0x800454cf
+       TUNGETFILTER                     = 0x801054db
+       TUNGETIFF                        = 0x800454d2
+       TUNGETSNDBUF                     = 0x800454d3
+       TUNGETVNETBE                     = 0x800454df
+       TUNGETVNETHDRSZ                  = 0x800454d7
+       TUNGETVNETLE                     = 0x800454dd
+       TUNSETCARRIER                    = 0x400454e2
+       TUNSETDEBUG                      = 0x400454c9
+       TUNSETFILTEREBPF                 = 0x800454e1
+       TUNSETGROUP                      = 0x400454ce
+       TUNSETIFF                        = 0x400454ca
+       TUNSETIFINDEX                    = 0x400454da
+       TUNSETLINK                       = 0x400454cd
+       TUNSETNOCSUM                     = 0x400454c8
+       TUNSETOFFLOAD                    = 0x400454d0
+       TUNSETOWNER                      = 0x400454cc
+       TUNSETPERSIST                    = 0x400454cb
+       TUNSETQUEUE                      = 0x400454d9
+       TUNSETSNDBUF                     = 0x400454d4
+       TUNSETSTEERINGEBPF               = 0x800454e0
+       TUNSETTXFILTER                   = 0x400454d1
+       TUNSETVNETBE                     = 0x400454de
+       TUNSETVNETHDRSZ                  = 0x400454d8
+       TUNSETVNETLE                     = 0x400454dc
+       UBI_IOCATT                       = 0x40186f40
+       UBI_IOCDET                       = 0x40046f41
+       UBI_IOCEBCH                      = 0x40044f02
+       UBI_IOCEBER                      = 0x40044f01
+       UBI_IOCEBISMAP                   = 0x80044f05
+       UBI_IOCEBMAP                     = 0x40084f03
+       UBI_IOCEBUNMAP                   = 0x40044f04
+       UBI_IOCMKVOL                     = 0x40986f00
+       UBI_IOCRMVOL                     = 0x40046f01
+       UBI_IOCRNVOL                     = 0x51106f03
+       UBI_IOCRPEB                      = 0x40046f04
+       UBI_IOCRSVOL                     = 0x400c6f02
+       UBI_IOCSETVOLPROP                = 0x40104f06
+       UBI_IOCSPEB                      = 0x40046f05
+       UBI_IOCVOLCRBLK                  = 0x40804f07
+       UBI_IOCVOLRMBLK                  = 0x4f08
+       UBI_IOCVOLUP                     = 0x40084f00
+       VDISCARD                         = 0xd
+       VEOF                             = 0x4
+       VEOL                             = 0xb
+       VEOL2                            = 0x10
+       VMIN                             = 0x6
+       VREPRINT                         = 0xc
+       VSTART                           = 0x8
+       VSTOP                            = 0x9
+       VSUSP                            = 0xa
+       VSWTC                            = 0x7
+       VT1                              = 0x4000
+       VTDLY                            = 0x4000
+       VTIME                            = 0x5
+       VWERASE                          = 0xe
+       WDIOC_GETBOOTSTATUS              = 0x80045702
+       WDIOC_GETPRETIMEOUT              = 0x80045709
+       WDIOC_GETSTATUS                  = 0x80045701
+       WDIOC_GETSUPPORT                 = 0x80285700
+       WDIOC_GETTEMP                    = 0x80045703
+       WDIOC_GETTIMELEFT                = 0x8004570a
+       WDIOC_GETTIMEOUT                 = 0x80045707
+       WDIOC_KEEPALIVE                  = 0x80045705
+       WDIOC_SETOPTIONS                 = 0x80045704
+       WORDSIZE                         = 0x40
+       XCASE                            = 0x4
+       XTABS                            = 0x1800
+       _HIDIOCGRAWNAME                  = 0x80804804
+       _HIDIOCGRAWPHYS                  = 0x80404805
+       _HIDIOCGRAWUNIQ                  = 0x80404808
+)
+
+// Errors
+const (
+       EADDRINUSE      = syscall.Errno(0x62)
+       EADDRNOTAVAIL   = syscall.Errno(0x63)
+       EADV            = syscall.Errno(0x44)
+       EAFNOSUPPORT    = syscall.Errno(0x61)
+       EALREADY        = syscall.Errno(0x72)
+       EBADE           = syscall.Errno(0x34)
+       EBADFD          = syscall.Errno(0x4d)
+       EBADMSG         = syscall.Errno(0x4a)
+       EBADR           = syscall.Errno(0x35)
+       EBADRQC         = syscall.Errno(0x38)
+       EBADSLT         = syscall.Errno(0x39)
+       EBFONT          = syscall.Errno(0x3b)
+       ECANCELED       = syscall.Errno(0x7d)
+       ECHRNG          = syscall.Errno(0x2c)
+       ECOMM           = syscall.Errno(0x46)
+       ECONNABORTED    = syscall.Errno(0x67)
+       ECONNREFUSED    = syscall.Errno(0x6f)
+       ECONNRESET      = syscall.Errno(0x68)
+       EDEADLK         = syscall.Errno(0x23)
+       EDEADLOCK       = syscall.Errno(0x23)
+       EDESTADDRREQ    = syscall.Errno(0x59)
+       EDOTDOT         = syscall.Errno(0x49)
+       EDQUOT          = syscall.Errno(0x7a)
+       EHOSTDOWN       = syscall.Errno(0x70)
+       EHOSTUNREACH    = syscall.Errno(0x71)
+       EHWPOISON       = syscall.Errno(0x85)
+       EIDRM           = syscall.Errno(0x2b)
+       EILSEQ          = syscall.Errno(0x54)
+       EINPROGRESS     = syscall.Errno(0x73)
+       EISCONN         = syscall.Errno(0x6a)
+       EISNAM          = syscall.Errno(0x78)
+       EKEYEXPIRED     = syscall.Errno(0x7f)
+       EKEYREJECTED    = syscall.Errno(0x81)
+       EKEYREVOKED     = syscall.Errno(0x80)
+       EL2HLT          = syscall.Errno(0x33)
+       EL2NSYNC        = syscall.Errno(0x2d)
+       EL3HLT          = syscall.Errno(0x2e)
+       EL3RST          = syscall.Errno(0x2f)
+       ELIBACC         = syscall.Errno(0x4f)
+       ELIBBAD         = syscall.Errno(0x50)
+       ELIBEXEC        = syscall.Errno(0x53)
+       ELIBMAX         = syscall.Errno(0x52)
+       ELIBSCN         = syscall.Errno(0x51)
+       ELNRNG          = syscall.Errno(0x30)
+       ELOOP           = syscall.Errno(0x28)
+       EMEDIUMTYPE     = syscall.Errno(0x7c)
+       EMSGSIZE        = syscall.Errno(0x5a)
+       EMULTIHOP       = syscall.Errno(0x48)
+       ENAMETOOLONG    = syscall.Errno(0x24)
+       ENAVAIL         = syscall.Errno(0x77)
+       ENETDOWN        = syscall.Errno(0x64)
+       ENETRESET       = syscall.Errno(0x66)
+       ENETUNREACH     = syscall.Errno(0x65)
+       ENOANO          = syscall.Errno(0x37)
+       ENOBUFS         = syscall.Errno(0x69)
+       ENOCSI          = syscall.Errno(0x32)
+       ENODATA         = syscall.Errno(0x3d)
+       ENOKEY          = syscall.Errno(0x7e)
+       ENOLCK          = syscall.Errno(0x25)
+       ENOLINK         = syscall.Errno(0x43)
+       ENOMEDIUM       = syscall.Errno(0x7b)
+       ENOMSG          = syscall.Errno(0x2a)
+       ENONET          = syscall.Errno(0x40)
+       ENOPKG          = syscall.Errno(0x41)
+       ENOPROTOOPT     = syscall.Errno(0x5c)
+       ENOSR           = syscall.Errno(0x3f)
+       ENOSTR          = syscall.Errno(0x3c)
+       ENOSYS          = syscall.Errno(0x26)
+       ENOTCONN        = syscall.Errno(0x6b)
+       ENOTEMPTY       = syscall.Errno(0x27)
+       ENOTNAM         = syscall.Errno(0x76)
+       ENOTRECOVERABLE = syscall.Errno(0x83)
+       ENOTSOCK        = syscall.Errno(0x58)
+       ENOTSUP         = syscall.Errno(0x5f)
+       ENOTUNIQ        = syscall.Errno(0x4c)
+       EOPNOTSUPP      = syscall.Errno(0x5f)
+       EOVERFLOW       = syscall.Errno(0x4b)
+       EOWNERDEAD      = syscall.Errno(0x82)
+       EPFNOSUPPORT    = syscall.Errno(0x60)
+       EPROTO          = syscall.Errno(0x47)
+       EPROTONOSUPPORT = syscall.Errno(0x5d)
+       EPROTOTYPE      = syscall.Errno(0x5b)
+       EREMCHG         = syscall.Errno(0x4e)
+       EREMOTE         = syscall.Errno(0x42)
+       EREMOTEIO       = syscall.Errno(0x79)
+       ERESTART        = syscall.Errno(0x55)
+       ERFKILL         = syscall.Errno(0x84)
+       ESHUTDOWN       = syscall.Errno(0x6c)
+       ESOCKTNOSUPPORT = syscall.Errno(0x5e)
+       ESRMNT          = syscall.Errno(0x45)
+       ESTALE          = syscall.Errno(0x74)
+       ESTRPIPE        = syscall.Errno(0x56)
+       ETIME           = syscall.Errno(0x3e)
+       ETIMEDOUT       = syscall.Errno(0x6e)
+       ETOOMANYREFS    = syscall.Errno(0x6d)
+       EUCLEAN         = syscall.Errno(0x75)
+       EUNATCH         = syscall.Errno(0x31)
+       EUSERS          = syscall.Errno(0x57)
+       EXFULL          = syscall.Errno(0x36)
+)
+
+// Signals
+const (
+       SIGBUS    = syscall.Signal(0x7)
+       SIGCHLD   = syscall.Signal(0x11)
+       SIGCLD    = syscall.Signal(0x11)
+       SIGCONT   = syscall.Signal(0x12)
+       SIGIO     = syscall.Signal(0x1d)
+       SIGPOLL   = syscall.Signal(0x1d)
+       SIGPROF   = syscall.Signal(0x1b)
+       SIGPWR    = syscall.Signal(0x1e)
+       SIGSTKFLT = syscall.Signal(0x10)
+       SIGSTOP   = syscall.Signal(0x13)
+       SIGSYS    = syscall.Signal(0x1f)
+       SIGTSTP   = syscall.Signal(0x14)
+       SIGTTIN   = syscall.Signal(0x15)
+       SIGTTOU   = syscall.Signal(0x16)
+       SIGURG    = syscall.Signal(0x17)
+       SIGUSR1   = syscall.Signal(0xa)
+       SIGUSR2   = syscall.Signal(0xc)
+       SIGVTALRM = syscall.Signal(0x1a)
+       SIGWINCH  = syscall.Signal(0x1c)
+       SIGXCPU   = syscall.Signal(0x18)
+       SIGXFSZ   = syscall.Signal(0x19)
+)
+
+// Error table
+var errorList = [...]struct {
+       num  syscall.Errno
+       name string
+       desc string
+}{
+       {1, "EPERM", "operation not permitted"},
+       {2, "ENOENT", "no such file or directory"},
+       {3, "ESRCH", "no such process"},
+       {4, "EINTR", "interrupted system call"},
+       {5, "EIO", "input/output error"},
+       {6, "ENXIO", "no such device or address"},
+       {7, "E2BIG", "argument list too long"},
+       {8, "ENOEXEC", "exec format error"},
+       {9, "EBADF", "bad file descriptor"},
+       {10, "ECHILD", "no child processes"},
+       {11, "EAGAIN", "resource temporarily unavailable"},
+       {12, "ENOMEM", "cannot allocate memory"},
+       {13, "EACCES", "permission denied"},
+       {14, "EFAULT", "bad address"},
+       {15, "ENOTBLK", "block device required"},
+       {16, "EBUSY", "device or resource busy"},
+       {17, "EEXIST", "file exists"},
+       {18, "EXDEV", "invalid cross-device link"},
+       {19, "ENODEV", "no such device"},
+       {20, "ENOTDIR", "not a directory"},
+       {21, "EISDIR", "is a directory"},
+       {22, "EINVAL", "invalid argument"},
+       {23, "ENFILE", "too many open files in system"},
+       {24, "EMFILE", "too many open files"},
+       {25, "ENOTTY", "inappropriate ioctl for device"},
+       {26, "ETXTBSY", "text file busy"},
+       {27, "EFBIG", "file too large"},
+       {28, "ENOSPC", "no space left on device"},
+       {29, "ESPIPE", "illegal seek"},
+       {30, "EROFS", "read-only file system"},
+       {31, "EMLINK", "too many links"},
+       {32, "EPIPE", "broken pipe"},
+       {33, "EDOM", "numerical argument out of domain"},
+       {34, "ERANGE", "numerical result out of range"},
+       {35, "EDEADLK", "resource deadlock avoided"},
+       {36, "ENAMETOOLONG", "file name too long"},
+       {37, "ENOLCK", "no locks available"},
+       {38, "ENOSYS", "function not implemented"},
+       {39, "ENOTEMPTY", "directory not empty"},
+       {40, "ELOOP", "too many levels of symbolic links"},
+       {42, "ENOMSG", "no message of desired type"},
+       {43, "EIDRM", "identifier removed"},
+       {44, "ECHRNG", "channel number out of range"},
+       {45, "EL2NSYNC", "level 2 not synchronized"},
+       {46, "EL3HLT", "level 3 halted"},
+       {47, "EL3RST", "level 3 reset"},
+       {48, "ELNRNG", "link number out of range"},
+       {49, "EUNATCH", "protocol driver not attached"},
+       {50, "ENOCSI", "no CSI structure available"},
+       {51, "EL2HLT", "level 2 halted"},
+       {52, "EBADE", "invalid exchange"},
+       {53, "EBADR", "invalid request descriptor"},
+       {54, "EXFULL", "exchange full"},
+       {55, "ENOANO", "no anode"},
+       {56, "EBADRQC", "invalid request code"},
+       {57, "EBADSLT", "invalid slot"},
+       {59, "EBFONT", "bad font file format"},
+       {60, "ENOSTR", "device not a stream"},
+       {61, "ENODATA", "no data available"},
+       {62, "ETIME", "timer expired"},
+       {63, "ENOSR", "out of streams resources"},
+       {64, "ENONET", "machine is not on the network"},
+       {65, "ENOPKG", "package not installed"},
+       {66, "EREMOTE", "object is remote"},
+       {67, "ENOLINK", "link has been severed"},
+       {68, "EADV", "advertise error"},
+       {69, "ESRMNT", "srmount error"},
+       {70, "ECOMM", "communication error on send"},
+       {71, "EPROTO", "protocol error"},
+       {72, "EMULTIHOP", "multihop attempted"},
+       {73, "EDOTDOT", "RFS specific error"},
+       {74, "EBADMSG", "bad message"},
+       {75, "EOVERFLOW", "value too large for defined data type"},
+       {76, "ENOTUNIQ", "name not unique on network"},
+       {77, "EBADFD", "file descriptor in bad state"},
+       {78, "EREMCHG", "remote address changed"},
+       {79, "ELIBACC", "can not access a needed shared library"},
+       {80, "ELIBBAD", "accessing a corrupted shared library"},
+       {81, "ELIBSCN", ".lib section in a.out corrupted"},
+       {82, "ELIBMAX", "attempting to link in too many shared libraries"},
+       {83, "ELIBEXEC", "cannot exec a shared library directly"},
+       {84, "EILSEQ", "invalid or incomplete multibyte or wide character"},
+       {85, "ERESTART", "interrupted system call should be restarted"},
+       {86, "ESTRPIPE", "streams pipe error"},
+       {87, "EUSERS", "too many users"},
+       {88, "ENOTSOCK", "socket operation on non-socket"},
+       {89, "EDESTADDRREQ", "destination address required"},
+       {90, "EMSGSIZE", "message too long"},
+       {91, "EPROTOTYPE", "protocol wrong type for socket"},
+       {92, "ENOPROTOOPT", "protocol not available"},
+       {93, "EPROTONOSUPPORT", "protocol not supported"},
+       {94, "ESOCKTNOSUPPORT", "socket type not supported"},
+       {95, "ENOTSUP", "operation not supported"},
+       {96, "EPFNOSUPPORT", "protocol family not supported"},
+       {97, "EAFNOSUPPORT", "address family not supported by protocol"},
+       {98, "EADDRINUSE", "address already in use"},
+       {99, "EADDRNOTAVAIL", "cannot assign requested address"},
+       {100, "ENETDOWN", "network is down"},
+       {101, "ENETUNREACH", "network is unreachable"},
+       {102, "ENETRESET", "network dropped connection on reset"},
+       {103, "ECONNABORTED", "software caused connection abort"},
+       {104, "ECONNRESET", "connection reset by peer"},
+       {105, "ENOBUFS", "no buffer space available"},
+       {106, "EISCONN", "transport endpoint is already connected"},
+       {107, "ENOTCONN", "transport endpoint is not connected"},
+       {108, "ESHUTDOWN", "cannot send after transport endpoint shutdown"},
+       {109, "ETOOMANYREFS", "too many references: cannot splice"},
+       {110, "ETIMEDOUT", "connection timed out"},
+       {111, "ECONNREFUSED", "connection refused"},
+       {112, "EHOSTDOWN", "host is down"},
+       {113, "EHOSTUNREACH", "no route to host"},
+       {114, "EALREADY", "operation already in progress"},
+       {115, "EINPROGRESS", "operation now in progress"},
+       {116, "ESTALE", "stale file handle"},
+       {117, "EUCLEAN", "structure needs cleaning"},
+       {118, "ENOTNAM", "not a XENIX named type file"},
+       {119, "ENAVAIL", "no XENIX semaphores available"},
+       {120, "EISNAM", "is a named type file"},
+       {121, "EREMOTEIO", "remote I/O error"},
+       {122, "EDQUOT", "disk quota exceeded"},
+       {123, "ENOMEDIUM", "no medium found"},
+       {124, "EMEDIUMTYPE", "wrong medium type"},
+       {125, "ECANCELED", "operation canceled"},
+       {126, "ENOKEY", "required key not available"},
+       {127, "EKEYEXPIRED", "key has expired"},
+       {128, "EKEYREVOKED", "key has been revoked"},
+       {129, "EKEYREJECTED", "key was rejected by service"},
+       {130, "EOWNERDEAD", "owner died"},
+       {131, "ENOTRECOVERABLE", "state not recoverable"},
+       {132, "ERFKILL", "operation not possible due to RF-kill"},
+       {133, "EHWPOISON", "memory page has hardware error"},
+}
+
+// Signal table
+var signalList = [...]struct {
+       num  syscall.Signal
+       name string
+       desc string
+}{
+       {1, "SIGHUP", "hangup"},
+       {2, "SIGINT", "interrupt"},
+       {3, "SIGQUIT", "quit"},
+       {4, "SIGILL", "illegal instruction"},
+       {5, "SIGTRAP", "trace/breakpoint trap"},
+       {6, "SIGABRT", "aborted"},
+       {7, "SIGBUS", "bus error"},
+       {8, "SIGFPE", "floating point exception"},
+       {9, "SIGKILL", "killed"},
+       {10, "SIGUSR1", "user defined signal 1"},
+       {11, "SIGSEGV", "segmentation fault"},
+       {12, "SIGUSR2", "user defined signal 2"},
+       {13, "SIGPIPE", "broken pipe"},
+       {14, "SIGALRM", "alarm clock"},
+       {15, "SIGTERM", "terminated"},
+       {16, "SIGSTKFLT", "stack fault"},
+       {17, "SIGCHLD", "child exited"},
+       {18, "SIGCONT", "continued"},
+       {19, "SIGSTOP", "stopped (signal)"},
+       {20, "SIGTSTP", "stopped"},
+       {21, "SIGTTIN", "stopped (tty input)"},
+       {22, "SIGTTOU", "stopped (tty output)"},
+       {23, "SIGURG", "urgent I/O condition"},
+       {24, "SIGXCPU", "CPU time limit exceeded"},
+       {25, "SIGXFSZ", "file size limit exceeded"},
+       {26, "SIGVTALRM", "virtual timer expired"},
+       {27, "SIGPROF", "profiling timer expired"},
+       {28, "SIGWINCH", "window changed"},
+       {29, "SIGIO", "I/O possible"},
+       {30, "SIGPWR", "power failure"},
+       {31, "SIGSYS", "bad system call"},
+}
index fbfce0204ff3ccdd68022ca0823aa7a9837a39b9..879376589646526b300c64e047c29c8712aa568e 100644 (file)
@@ -643,17 +643,22 @@ var libc_flistxattr_trampoline_addr uintptr
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func setattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) {
-       _, _, e1 := syscall_syscall6(libc_setattrlist_trampoline_addr, uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0)
+func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(path)
+       if err != nil {
+               return
+       }
+       _, _, e1 := syscall_syscall6(libc_utimensat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)
        if e1 != 0 {
                err = errnoErr(e1)
        }
        return
 }
 
-var libc_setattrlist_trampoline_addr uintptr
+var libc_utimensat_trampoline_addr uintptr
 
-//go:cgo_import_dynamic libc_setattrlist setattrlist "/usr/lib/libSystem.B.dylib"
+//go:cgo_import_dynamic libc_utimensat utimensat "/usr/lib/libSystem.B.dylib"
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
index eac6ca806f4d5c65ff3c9f564a6f3c7de73063d7..8da90cf0e4fad55a240edc03cdc22659fe75638e 100644 (file)
@@ -228,11 +228,11 @@ TEXT libc_flistxattr_trampoline<>(SB),NOSPLIT,$0-0
 GLOBL  ·libc_flistxattr_trampoline_addr(SB), RODATA, $8
 DATA   ·libc_flistxattr_trampoline_addr(SB)/8, $libc_flistxattr_trampoline<>(SB)
 
-TEXT libc_setattrlist_trampoline<>(SB),NOSPLIT,$0-0
-       JMP     libc_setattrlist(SB)
+TEXT libc_utimensat_trampoline<>(SB),NOSPLIT,$0-0
+       JMP     libc_utimensat(SB)
 
-GLOBL  ·libc_setattrlist_trampoline_addr(SB), RODATA, $8
-DATA   ·libc_setattrlist_trampoline_addr(SB)/8, $libc_setattrlist_trampoline<>(SB)
+GLOBL  ·libc_utimensat_trampoline_addr(SB), RODATA, $8
+DATA   ·libc_utimensat_trampoline_addr(SB)/8, $libc_utimensat_trampoline<>(SB)
 
 TEXT libc_fcntl_trampoline<>(SB),NOSPLIT,$0-0
        JMP     libc_fcntl(SB)
index 49d2225ef5aada2ccc4984806579c1f5f3b3ab56..f47eedd5a86730cc590584ae998d7e89da97af6b 100644 (file)
@@ -643,17 +643,22 @@ var libc_flistxattr_trampoline_addr uintptr
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func setattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) {
-       _, _, e1 := syscall_syscall6(libc_setattrlist_trampoline_addr, uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0)
+func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(path)
+       if err != nil {
+               return
+       }
+       _, _, e1 := syscall_syscall6(libc_utimensat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)
        if e1 != 0 {
                err = errnoErr(e1)
        }
        return
 }
 
-var libc_setattrlist_trampoline_addr uintptr
+var libc_utimensat_trampoline_addr uintptr
 
-//go:cgo_import_dynamic libc_setattrlist setattrlist "/usr/lib/libSystem.B.dylib"
+//go:cgo_import_dynamic libc_utimensat utimensat "/usr/lib/libSystem.B.dylib"
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
index 4ebcf217585403cd63c424c65b67b83379e51dc2..4d26f7d014e0c20cd3de3c04424b38d49273743b 100644 (file)
@@ -228,11 +228,11 @@ TEXT libc_flistxattr_trampoline<>(SB),NOSPLIT,$0-0
 GLOBL  ·libc_flistxattr_trampoline_addr(SB), RODATA, $8
 DATA   ·libc_flistxattr_trampoline_addr(SB)/8, $libc_flistxattr_trampoline<>(SB)
 
-TEXT libc_setattrlist_trampoline<>(SB),NOSPLIT,$0-0
-       JMP     libc_setattrlist(SB)
+TEXT libc_utimensat_trampoline<>(SB),NOSPLIT,$0-0
+       JMP     libc_utimensat(SB)
 
-GLOBL  ·libc_setattrlist_trampoline_addr(SB), RODATA, $8
-DATA   ·libc_setattrlist_trampoline_addr(SB)/8, $libc_setattrlist_trampoline<>(SB)
+GLOBL  ·libc_utimensat_trampoline_addr(SB), RODATA, $8
+DATA   ·libc_utimensat_trampoline_addr(SB)/8, $libc_utimensat_trampoline<>(SB)
 
 TEXT libc_fcntl_trampoline<>(SB),NOSPLIT,$0-0
        JMP     libc_fcntl(SB)
index 30fa4055ec1f3f0d7496c5fdd2d09690af8e5d68..bc4a2753114ae76414e4a1f52aff218b2ea7dc41 100644 (file)
@@ -231,6 +231,16 @@ func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
+func Waitid(idType int, id int, info *Siginfo, options int, rusage *Rusage) (err error) {
+       _, _, e1 := Syscall6(SYS_WAITID, uintptr(idType), uintptr(id), uintptr(unsafe.Pointer(info)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
 func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) {
        r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)
        ret = int(r0)
@@ -818,6 +828,49 @@ func Fsync(fd int) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
+func Fsmount(fd int, flags int, mountAttrs int) (fsfd int, err error) {
+       r0, _, e1 := Syscall(SYS_FSMOUNT, uintptr(fd), uintptr(flags), uintptr(mountAttrs))
+       fsfd = int(r0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Fsopen(fsName string, flags int) (fd int, err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(fsName)
+       if err != nil {
+               return
+       }
+       r0, _, e1 := Syscall(SYS_FSOPEN, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
+       fd = int(r0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Fspick(dirfd int, pathName string, flags int) (fd int, err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(pathName)
+       if err != nil {
+               return
+       }
+       r0, _, e1 := Syscall(SYS_FSPICK, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))
+       fd = int(r0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
 func Getdents(fd int, buf []byte) (n int, err error) {
        var _p0 unsafe.Pointer
        if len(buf) > 0 {
@@ -1195,6 +1248,26 @@ func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
+func MoveMount(fromDirfd int, fromPathName string, toDirfd int, toPathName string, flags int) (err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(fromPathName)
+       if err != nil {
+               return
+       }
+       var _p1 *byte
+       _p1, err = BytePtrFromString(toPathName)
+       if err != nil {
+               return
+       }
+       _, _, e1 := Syscall6(SYS_MOVE_MOUNT, uintptr(fromDirfd), uintptr(unsafe.Pointer(_p0)), uintptr(toDirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
 func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
        _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)
        if e1 != 0 {
@@ -1205,6 +1278,22 @@ func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
+func OpenTree(dfd int, fileName string, flags uint) (r int, err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(fileName)
+       if err != nil {
+               return
+       }
+       r0, _, e1 := Syscall(SYS_OPEN_TREE, uintptr(dfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))
+       r = int(r0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
 func PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) {
        r0, _, e1 := Syscall6(SYS_PERF_EVENT_OPEN, uintptr(unsafe.Pointer(attr)), uintptr(pid), uintptr(cpu), uintptr(groupFd), uintptr(flags), 0)
        fd = int(r0)
@@ -1992,6 +2081,16 @@ func PidfdGetfd(pidfd int, targetfd int, flags int) (fd int, err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
+func PidfdSendSignal(pidfd int, sig Signal, info *Siginfo, flags int) (err error) {
+       _, _, e1 := Syscall6(SYS_PIDFD_SEND_SIGNAL, uintptr(pidfd), uintptr(sig), uintptr(unsafe.Pointer(info)), uintptr(flags), 0, 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
 func shmat(id int, addr uintptr, flag int) (ret uintptr, err error) {
        r0, _, e1 := Syscall(SYS_SHMAT, uintptr(id), uintptr(addr), uintptr(flag))
        ret = uintptr(r0)
index c947a4d10e81ab3d9ea763708f285c6ab5ce1a5a..2a0c4aa6a634c13976cdb128067e7ecd954133df 100644 (file)
@@ -215,6 +215,17 @@ func Listen(s int, n int) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
+func MemfdSecret(flags int) (fd int, err error) {
+       r0, _, e1 := Syscall(SYS_MEMFD_SECRET, uintptr(flags), 0, 0)
+       fd = int(r0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
 func Pause() (err error) {
        _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0)
        if e1 != 0 {
index dd15284d84b64107d8ca0c117c2a6cdb793c9d9d..9f8c24e434385c9a92506dd65d500b8feac80bb1 100644 (file)
@@ -180,6 +180,17 @@ func Listen(s int, n int) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
+func MemfdSecret(flags int) (fd int, err error) {
+       r0, _, e1 := Syscall(SYS_MEMFD_SECRET, uintptr(flags), 0, 0)
+       fd = int(r0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
 func pread(fd int, p []byte, offset int64) (n int, err error) {
        var _p0 unsafe.Pointer
        if len(p) > 0 {
diff --git a/src/cmd/vendor/golang.org/x/sys/unix/zsyscall_linux_loong64.go b/src/cmd/vendor/golang.org/x/sys/unix/zsyscall_linux_loong64.go
new file mode 100644 (file)
index 0000000..8cdfbe7
--- /dev/null
@@ -0,0 +1,552 @@
+// go run mksyscall.go -tags linux,loong64 syscall_linux.go syscall_linux_loong64.go
+// Code generated by the command above; see README.md. DO NOT EDIT.
+
+//go:build linux && loong64
+// +build linux,loong64
+
+package unix
+
+import (
+       "syscall"
+       "unsafe"
+)
+
+var _ syscall.Errno
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) {
+       _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Fallocate(fd int, mode uint32, off int64, len int64) (err error) {
+       _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {
+       r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0)
+       n = int64(r0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {
+       var _p0 unsafe.Pointer
+       if len(events) > 0 {
+               _p0 = unsafe.Pointer(&events[0])
+       } else {
+               _p0 = unsafe.Pointer(&_zero)
+       }
+       r0, _, e1 := Syscall6(SYS_EPOLL_PWAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)
+       n = int(r0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Fadvise(fd int, offset int64, length int64, advice int) (err error) {
+       _, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Fchown(fd int, uid int, gid int) (err error) {
+       _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Fstat(fd int, stat *Stat_t) (err error) {
+       _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(path)
+       if err != nil {
+               return
+       }
+       _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Fstatfs(fd int, buf *Statfs_t) (err error) {
+       _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Ftruncate(fd int, length int64) (err error) {
+       _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Getegid() (egid int) {
+       r0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0)
+       egid = int(r0)
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Geteuid() (euid int) {
+       r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0)
+       euid = int(r0)
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Getgid() (gid int) {
+       r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0)
+       gid = int(r0)
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Getuid() (uid int) {
+       r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0)
+       uid = int(r0)
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Listen(s int, n int) (err error) {
+       _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func pread(fd int, p []byte, offset int64) (n int, err error) {
+       var _p0 unsafe.Pointer
+       if len(p) > 0 {
+               _p0 = unsafe.Pointer(&p[0])
+       } else {
+               _p0 = unsafe.Pointer(&_zero)
+       }
+       r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)
+       n = int(r0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func pwrite(fd int, p []byte, offset int64) (n int, err error) {
+       var _p0 unsafe.Pointer
+       if len(p) > 0 {
+               _p0 = unsafe.Pointer(&p[0])
+       } else {
+               _p0 = unsafe.Pointer(&_zero)
+       }
+       r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)
+       n = int(r0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Seek(fd int, offset int64, whence int) (off int64, err error) {
+       r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence))
+       off = int64(r0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
+       r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0)
+       written = int(r0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func setfsgid(gid int) (prev int, err error) {
+       r0, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0)
+       prev = int(r0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func setfsuid(uid int) (prev int, err error) {
+       r0, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0)
+       prev = int(r0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Setregid(rgid int, egid int) (err error) {
+       _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Setresgid(rgid int, egid int, sgid int) (err error) {
+       _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid))
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Setresuid(ruid int, euid int, suid int) (err error) {
+       _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid))
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Setreuid(ruid int, euid int) (err error) {
+       _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Shutdown(fd int, how int) (err error) {
+       _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) {
+       r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))
+       n = int64(r0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Statfs(path string, buf *Statfs_t) (err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(path)
+       if err != nil {
+               return
+       }
+       _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func SyncFileRange(fd int, off int64, n int64, flags int) (err error) {
+       _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Truncate(path string, length int64) (err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(path)
+       if err != nil {
+               return
+       }
+       _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) {
+       r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0)
+       fd = int(r0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {
+       _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen))
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {
+       _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen))
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func getgroups(n int, list *_Gid_t) (nn int, err error) {
+       r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0)
+       nn = int(r0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func setgroups(n int, list *_Gid_t) (err error) {
+       _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {
+       _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {
+       _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func socket(domain int, typ int, proto int) (fd int, err error) {
+       r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto))
+       fd = int(r0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {
+       _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {
+       _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {
+       _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {
+       var _p0 unsafe.Pointer
+       if len(p) > 0 {
+               _p0 = unsafe.Pointer(&p[0])
+       } else {
+               _p0 = unsafe.Pointer(&_zero)
+       }
+       r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))
+       n = int(r0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {
+       var _p0 unsafe.Pointer
+       if len(buf) > 0 {
+               _p0 = unsafe.Pointer(&buf[0])
+       } else {
+               _p0 = unsafe.Pointer(&_zero)
+       }
+       _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {
+       r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))
+       n = int(r0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {
+       r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))
+       n = int(r0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) {
+       r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset))
+       xaddr = uintptr(r0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Gettimeofday(tv *Timeval) (err error) {
+       _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(cmdline)
+       if err != nil {
+               return
+       }
+       _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
index cac1f758bf7e08af728c34d2fa7dd270ecb4b225..62192e1de2a75541d59040fdf66ac39432155f1d 100644 (file)
@@ -446,4 +446,5 @@ const (
        SYS_MEMFD_SECRET                 = 447
        SYS_PROCESS_MRELEASE             = 448
        SYS_FUTEX_WAITV                  = 449
+       SYS_SET_MEMPOLICY_HOME_NODE      = 450
 )
index f327e4a0bccbd97ab59fda66ca9ea519626c0522..490aab5d215e1e427f32fdc61f8f55c4b552a0fb 100644 (file)
@@ -368,4 +368,5 @@ const (
        SYS_MEMFD_SECRET            = 447
        SYS_PROCESS_MRELEASE        = 448
        SYS_FUTEX_WAITV             = 449
+       SYS_SET_MEMPOLICY_HOME_NODE = 450
 )
index fb06a08d4ee8f638f29744b61db65b15da5a969e..aca17b6fad41744561f8a0a0a2bceefced07432b 100644 (file)
@@ -410,4 +410,5 @@ const (
        SYS_LANDLOCK_RESTRICT_SELF       = 446
        SYS_PROCESS_MRELEASE             = 448
        SYS_FUTEX_WAITV                  = 449
+       SYS_SET_MEMPOLICY_HOME_NODE      = 450
 )
index 58285646eb797138788f5eec9b034b35b0ab2bdc..54b4dfa547f1bc48c5258a0e5d86d9eea73e6283 100644 (file)
@@ -313,4 +313,5 @@ const (
        SYS_MEMFD_SECRET            = 447
        SYS_PROCESS_MRELEASE        = 448
        SYS_FUTEX_WAITV             = 449
+       SYS_SET_MEMPOLICY_HOME_NODE = 450
 )
diff --git a/src/cmd/vendor/golang.org/x/sys/unix/zsysnum_linux_loong64.go b/src/cmd/vendor/golang.org/x/sys/unix/zsysnum_linux_loong64.go
new file mode 100644 (file)
index 0000000..e443f9a
--- /dev/null
@@ -0,0 +1,313 @@
+// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h
+// Code generated by the command above; see README.md. DO NOT EDIT.
+
+//go:build loong64 && linux
+// +build loong64,linux
+
+package unix
+
+const (
+       SYS_IO_SETUP                = 0
+       SYS_IO_DESTROY              = 1
+       SYS_IO_SUBMIT               = 2
+       SYS_IO_CANCEL               = 3
+       SYS_IO_GETEVENTS            = 4
+       SYS_SETXATTR                = 5
+       SYS_LSETXATTR               = 6
+       SYS_FSETXATTR               = 7
+       SYS_GETXATTR                = 8
+       SYS_LGETXATTR               = 9
+       SYS_FGETXATTR               = 10
+       SYS_LISTXATTR               = 11
+       SYS_LLISTXATTR              = 12
+       SYS_FLISTXATTR              = 13
+       SYS_REMOVEXATTR             = 14
+       SYS_LREMOVEXATTR            = 15
+       SYS_FREMOVEXATTR            = 16
+       SYS_GETCWD                  = 17
+       SYS_LOOKUP_DCOOKIE          = 18
+       SYS_EVENTFD2                = 19
+       SYS_EPOLL_CREATE1           = 20
+       SYS_EPOLL_CTL               = 21
+       SYS_EPOLL_PWAIT             = 22
+       SYS_DUP                     = 23
+       SYS_DUP3                    = 24
+       SYS_FCNTL                   = 25
+       SYS_INOTIFY_INIT1           = 26
+       SYS_INOTIFY_ADD_WATCH       = 27
+       SYS_INOTIFY_RM_WATCH        = 28
+       SYS_IOCTL                   = 29
+       SYS_IOPRIO_SET              = 30
+       SYS_IOPRIO_GET              = 31
+       SYS_FLOCK                   = 32
+       SYS_MKNODAT                 = 33
+       SYS_MKDIRAT                 = 34
+       SYS_UNLINKAT                = 35
+       SYS_SYMLINKAT               = 36
+       SYS_LINKAT                  = 37
+       SYS_UMOUNT2                 = 39
+       SYS_MOUNT                   = 40
+       SYS_PIVOT_ROOT              = 41
+       SYS_NFSSERVCTL              = 42
+       SYS_STATFS                  = 43
+       SYS_FSTATFS                 = 44
+       SYS_TRUNCATE                = 45
+       SYS_FTRUNCATE               = 46
+       SYS_FALLOCATE               = 47
+       SYS_FACCESSAT               = 48
+       SYS_CHDIR                   = 49
+       SYS_FCHDIR                  = 50
+       SYS_CHROOT                  = 51
+       SYS_FCHMOD                  = 52
+       SYS_FCHMODAT                = 53
+       SYS_FCHOWNAT                = 54
+       SYS_FCHOWN                  = 55
+       SYS_OPENAT                  = 56
+       SYS_CLOSE                   = 57
+       SYS_VHANGUP                 = 58
+       SYS_PIPE2                   = 59
+       SYS_QUOTACTL                = 60
+       SYS_GETDENTS64              = 61
+       SYS_LSEEK                   = 62
+       SYS_READ                    = 63
+       SYS_WRITE                   = 64
+       SYS_READV                   = 65
+       SYS_WRITEV                  = 66
+       SYS_PREAD64                 = 67
+       SYS_PWRITE64                = 68
+       SYS_PREADV                  = 69
+       SYS_PWRITEV                 = 70
+       SYS_SENDFILE                = 71
+       SYS_PSELECT6                = 72
+       SYS_PPOLL                   = 73
+       SYS_SIGNALFD4               = 74
+       SYS_VMSPLICE                = 75
+       SYS_SPLICE                  = 76
+       SYS_TEE                     = 77
+       SYS_READLINKAT              = 78
+       SYS_FSTATAT                 = 79
+       SYS_FSTAT                   = 80
+       SYS_SYNC                    = 81
+       SYS_FSYNC                   = 82
+       SYS_FDATASYNC               = 83
+       SYS_SYNC_FILE_RANGE         = 84
+       SYS_TIMERFD_CREATE          = 85
+       SYS_TIMERFD_SETTIME         = 86
+       SYS_TIMERFD_GETTIME         = 87
+       SYS_UTIMENSAT               = 88
+       SYS_ACCT                    = 89
+       SYS_CAPGET                  = 90
+       SYS_CAPSET                  = 91
+       SYS_PERSONALITY             = 92
+       SYS_EXIT                    = 93
+       SYS_EXIT_GROUP              = 94
+       SYS_WAITID                  = 95
+       SYS_SET_TID_ADDRESS         = 96
+       SYS_UNSHARE                 = 97
+       SYS_FUTEX                   = 98
+       SYS_SET_ROBUST_LIST         = 99
+       SYS_GET_ROBUST_LIST         = 100
+       SYS_NANOSLEEP               = 101
+       SYS_GETITIMER               = 102
+       SYS_SETITIMER               = 103
+       SYS_KEXEC_LOAD              = 104
+       SYS_INIT_MODULE             = 105
+       SYS_DELETE_MODULE           = 106
+       SYS_TIMER_CREATE            = 107
+       SYS_TIMER_GETTIME           = 108
+       SYS_TIMER_GETOVERRUN        = 109
+       SYS_TIMER_SETTIME           = 110
+       SYS_TIMER_DELETE            = 111
+       SYS_CLOCK_SETTIME           = 112
+       SYS_CLOCK_GETTIME           = 113
+       SYS_CLOCK_GETRES            = 114
+       SYS_CLOCK_NANOSLEEP         = 115
+       SYS_SYSLOG                  = 116
+       SYS_PTRACE                  = 117
+       SYS_SCHED_SETPARAM          = 118
+       SYS_SCHED_SETSCHEDULER      = 119
+       SYS_SCHED_GETSCHEDULER      = 120
+       SYS_SCHED_GETPARAM          = 121
+       SYS_SCHED_SETAFFINITY       = 122
+       SYS_SCHED_GETAFFINITY       = 123
+       SYS_SCHED_YIELD             = 124
+       SYS_SCHED_GET_PRIORITY_MAX  = 125
+       SYS_SCHED_GET_PRIORITY_MIN  = 126
+       SYS_SCHED_RR_GET_INTERVAL   = 127
+       SYS_RESTART_SYSCALL         = 128
+       SYS_KILL                    = 129
+       SYS_TKILL                   = 130
+       SYS_TGKILL                  = 131
+       SYS_SIGALTSTACK             = 132
+       SYS_RT_SIGSUSPEND           = 133
+       SYS_RT_SIGACTION            = 134
+       SYS_RT_SIGPROCMASK          = 135
+       SYS_RT_SIGPENDING           = 136
+       SYS_RT_SIGTIMEDWAIT         = 137
+       SYS_RT_SIGQUEUEINFO         = 138
+       SYS_RT_SIGRETURN            = 139
+       SYS_SETPRIORITY             = 140
+       SYS_GETPRIORITY             = 141
+       SYS_REBOOT                  = 142
+       SYS_SETREGID                = 143
+       SYS_SETGID                  = 144
+       SYS_SETREUID                = 145
+       SYS_SETUID                  = 146
+       SYS_SETRESUID               = 147
+       SYS_GETRESUID               = 148
+       SYS_SETRESGID               = 149
+       SYS_GETRESGID               = 150
+       SYS_SETFSUID                = 151
+       SYS_SETFSGID                = 152
+       SYS_TIMES                   = 153
+       SYS_SETPGID                 = 154
+       SYS_GETPGID                 = 155
+       SYS_GETSID                  = 156
+       SYS_SETSID                  = 157
+       SYS_GETGROUPS               = 158
+       SYS_SETGROUPS               = 159
+       SYS_UNAME                   = 160
+       SYS_SETHOSTNAME             = 161
+       SYS_SETDOMAINNAME           = 162
+       SYS_GETRUSAGE               = 165
+       SYS_UMASK                   = 166
+       SYS_PRCTL                   = 167
+       SYS_GETCPU                  = 168
+       SYS_GETTIMEOFDAY            = 169
+       SYS_SETTIMEOFDAY            = 170
+       SYS_ADJTIMEX                = 171
+       SYS_GETPID                  = 172
+       SYS_GETPPID                 = 173
+       SYS_GETUID                  = 174
+       SYS_GETEUID                 = 175
+       SYS_GETGID                  = 176
+       SYS_GETEGID                 = 177
+       SYS_GETTID                  = 178
+       SYS_SYSINFO                 = 179
+       SYS_MQ_OPEN                 = 180
+       SYS_MQ_UNLINK               = 181
+       SYS_MQ_TIMEDSEND            = 182
+       SYS_MQ_TIMEDRECEIVE         = 183
+       SYS_MQ_NOTIFY               = 184
+       SYS_MQ_GETSETATTR           = 185
+       SYS_MSGGET                  = 186
+       SYS_MSGCTL                  = 187
+       SYS_MSGRCV                  = 188
+       SYS_MSGSND                  = 189
+       SYS_SEMGET                  = 190
+       SYS_SEMCTL                  = 191
+       SYS_SEMTIMEDOP              = 192
+       SYS_SEMOP                   = 193
+       SYS_SHMGET                  = 194
+       SYS_SHMCTL                  = 195
+       SYS_SHMAT                   = 196
+       SYS_SHMDT                   = 197
+       SYS_SOCKET                  = 198
+       SYS_SOCKETPAIR              = 199
+       SYS_BIND                    = 200
+       SYS_LISTEN                  = 201
+       SYS_ACCEPT                  = 202
+       SYS_CONNECT                 = 203
+       SYS_GETSOCKNAME             = 204
+       SYS_GETPEERNAME             = 205
+       SYS_SENDTO                  = 206
+       SYS_RECVFROM                = 207
+       SYS_SETSOCKOPT              = 208
+       SYS_GETSOCKOPT              = 209
+       SYS_SHUTDOWN                = 210
+       SYS_SENDMSG                 = 211
+       SYS_RECVMSG                 = 212
+       SYS_READAHEAD               = 213
+       SYS_BRK                     = 214
+       SYS_MUNMAP                  = 215
+       SYS_MREMAP                  = 216
+       SYS_ADD_KEY                 = 217
+       SYS_REQUEST_KEY             = 218
+       SYS_KEYCTL                  = 219
+       SYS_CLONE                   = 220
+       SYS_EXECVE                  = 221
+       SYS_MMAP                    = 222
+       SYS_FADVISE64               = 223
+       SYS_SWAPON                  = 224
+       SYS_SWAPOFF                 = 225
+       SYS_MPROTECT                = 226
+       SYS_MSYNC                   = 227
+       SYS_MLOCK                   = 228
+       SYS_MUNLOCK                 = 229
+       SYS_MLOCKALL                = 230
+       SYS_MUNLOCKALL              = 231
+       SYS_MINCORE                 = 232
+       SYS_MADVISE                 = 233
+       SYS_REMAP_FILE_PAGES        = 234
+       SYS_MBIND                   = 235
+       SYS_GET_MEMPOLICY           = 236
+       SYS_SET_MEMPOLICY           = 237
+       SYS_MIGRATE_PAGES           = 238
+       SYS_MOVE_PAGES              = 239
+       SYS_RT_TGSIGQUEUEINFO       = 240
+       SYS_PERF_EVENT_OPEN         = 241
+       SYS_ACCEPT4                 = 242
+       SYS_RECVMMSG                = 243
+       SYS_ARCH_SPECIFIC_SYSCALL   = 244
+       SYS_WAIT4                   = 260
+       SYS_PRLIMIT64               = 261
+       SYS_FANOTIFY_INIT           = 262
+       SYS_FANOTIFY_MARK           = 263
+       SYS_NAME_TO_HANDLE_AT       = 264
+       SYS_OPEN_BY_HANDLE_AT       = 265
+       SYS_CLOCK_ADJTIME           = 266
+       SYS_SYNCFS                  = 267
+       SYS_SETNS                   = 268
+       SYS_SENDMMSG                = 269
+       SYS_PROCESS_VM_READV        = 270
+       SYS_PROCESS_VM_WRITEV       = 271
+       SYS_KCMP                    = 272
+       SYS_FINIT_MODULE            = 273
+       SYS_SCHED_SETATTR           = 274
+       SYS_SCHED_GETATTR           = 275
+       SYS_RENAMEAT2               = 276
+       SYS_SECCOMP                 = 277
+       SYS_GETRANDOM               = 278
+       SYS_MEMFD_CREATE            = 279
+       SYS_BPF                     = 280
+       SYS_EXECVEAT                = 281
+       SYS_USERFAULTFD             = 282
+       SYS_MEMBARRIER              = 283
+       SYS_MLOCK2                  = 284
+       SYS_COPY_FILE_RANGE         = 285
+       SYS_PREADV2                 = 286
+       SYS_PWRITEV2                = 287
+       SYS_PKEY_MPROTECT           = 288
+       SYS_PKEY_ALLOC              = 289
+       SYS_PKEY_FREE               = 290
+       SYS_STATX                   = 291
+       SYS_IO_PGETEVENTS           = 292
+       SYS_RSEQ                    = 293
+       SYS_KEXEC_FILE_LOAD         = 294
+       SYS_PIDFD_SEND_SIGNAL       = 424
+       SYS_IO_URING_SETUP          = 425
+       SYS_IO_URING_ENTER          = 426
+       SYS_IO_URING_REGISTER       = 427
+       SYS_OPEN_TREE               = 428
+       SYS_MOVE_MOUNT              = 429
+       SYS_FSOPEN                  = 430
+       SYS_FSCONFIG                = 431
+       SYS_FSMOUNT                 = 432
+       SYS_FSPICK                  = 433
+       SYS_PIDFD_OPEN              = 434
+       SYS_CLONE3                  = 435
+       SYS_CLOSE_RANGE             = 436
+       SYS_OPENAT2                 = 437
+       SYS_PIDFD_GETFD             = 438
+       SYS_FACCESSAT2              = 439
+       SYS_PROCESS_MADVISE         = 440
+       SYS_EPOLL_PWAIT2            = 441
+       SYS_MOUNT_SETATTR           = 442
+       SYS_QUOTACTL_FD             = 443
+       SYS_LANDLOCK_CREATE_RULESET = 444
+       SYS_LANDLOCK_ADD_RULE       = 445
+       SYS_LANDLOCK_RESTRICT_SELF  = 446
+       SYS_PROCESS_MRELEASE        = 448
+       SYS_FUTEX_WAITV             = 449
+       SYS_SET_MEMPOLICY_HOME_NODE = 450
+)
index 3b0418e6894413d3164ac54e040bdff99d512a86..65a99efc236be115b39f06c3653bc0878fec9350 100644 (file)
@@ -430,4 +430,5 @@ const (
        SYS_LANDLOCK_RESTRICT_SELF       = 4446
        SYS_PROCESS_MRELEASE             = 4448
        SYS_FUTEX_WAITV                  = 4449
+       SYS_SET_MEMPOLICY_HOME_NODE      = 4450
 )
index 314ebf166ab9cdb405edd4682456ecb1dcda8e6c..841c8a668206b17d7e765b81421d27b39b7e7243 100644 (file)
@@ -360,4 +360,5 @@ const (
        SYS_LANDLOCK_RESTRICT_SELF  = 5446
        SYS_PROCESS_MRELEASE        = 5448
        SYS_FUTEX_WAITV             = 5449
+       SYS_SET_MEMPOLICY_HOME_NODE = 5450
 )
index b8fbb937a333c75df1ac16b106e6ddf96774d6bb..e26a7c7658e9bcb0761972d68ceb1e875e349d2f 100644 (file)
@@ -360,4 +360,5 @@ const (
        SYS_LANDLOCK_RESTRICT_SELF  = 5446
        SYS_PROCESS_MRELEASE        = 5448
        SYS_FUTEX_WAITV             = 5449
+       SYS_SET_MEMPOLICY_HOME_NODE = 5450
 )
index ee309b2bac96080e3d9f844628d016daf3878fdc..26447260a9ef196769d160436ff1c8aa4834334b 100644 (file)
@@ -430,4 +430,5 @@ const (
        SYS_LANDLOCK_RESTRICT_SELF       = 4446
        SYS_PROCESS_MRELEASE             = 4448
        SYS_FUTEX_WAITV                  = 4449
+       SYS_SET_MEMPOLICY_HOME_NODE      = 4450
 )
index ac3748104ed0303c03c942d255561e962a5321e0..26aefc1869aea0c4133da3bbcf7c6b7b9df55a35 100644 (file)
@@ -437,4 +437,5 @@ const (
        SYS_LANDLOCK_RESTRICT_SELF       = 446
        SYS_PROCESS_MRELEASE             = 448
        SYS_FUTEX_WAITV                  = 449
+       SYS_SET_MEMPOLICY_HOME_NODE      = 450
 )
index 5aa472111041c5f2145578f385a4ffd7d936075e..8d4cd9d99d48cc614de076d0db232b2a390eda1b 100644 (file)
@@ -409,4 +409,5 @@ const (
        SYS_LANDLOCK_RESTRICT_SELF  = 446
        SYS_PROCESS_MRELEASE        = 448
        SYS_FUTEX_WAITV             = 449
+       SYS_SET_MEMPOLICY_HOME_NODE = 450
 )
index 0793ac1a65be1985ac860cd91ed0ec7ad4dbab2f..3b405d1f82a8132bb93a2911aaf02ccc7f38b23e 100644 (file)
@@ -409,4 +409,5 @@ const (
        SYS_LANDLOCK_RESTRICT_SELF  = 446
        SYS_PROCESS_MRELEASE        = 448
        SYS_FUTEX_WAITV             = 449
+       SYS_SET_MEMPOLICY_HOME_NODE = 450
 )
index a520962e3954721d561ba4972ba6caba99b76b4a..c3a5af8623b8bfd1572d52503093cf5c33797617 100644 (file)
@@ -311,4 +311,5 @@ const (
        SYS_LANDLOCK_RESTRICT_SELF  = 446
        SYS_PROCESS_MRELEASE        = 448
        SYS_FUTEX_WAITV             = 449
+       SYS_SET_MEMPOLICY_HOME_NODE = 450
 )
index d1738586b4f62f5f168e0eafd4ed9cbef5cc0d21..8ffa66469ef9abda828d8e7386722a96f07ad67b 100644 (file)
@@ -374,4 +374,5 @@ const (
        SYS_LANDLOCK_RESTRICT_SELF  = 446
        SYS_PROCESS_MRELEASE        = 448
        SYS_FUTEX_WAITV             = 449
+       SYS_SET_MEMPOLICY_HOME_NODE = 450
 )
index dfd5660f9741fb27c8ed8d592b92ff567bb66ab4..6a39640e76daa2423cb8ee2c4b13e9eb9b038e87 100644 (file)
@@ -388,4 +388,5 @@ const (
        SYS_LANDLOCK_RESTRICT_SELF  = 446
        SYS_PROCESS_MRELEASE        = 448
        SYS_FUTEX_WAITV             = 449
+       SYS_SET_MEMPOLICY_HOME_NODE = 450
 )
index 2c26466e07c7345d5c6120ceb20efd5c4dfd340e..9962d26bb30c9e36d9577459636dd5e4ac4ade74 100644 (file)
@@ -754,6 +754,25 @@ const (
        AT_SYMLINK_NOFOLLOW = 0x100
 
        AT_EACCESS = 0x200
+
+       OPEN_TREE_CLONE = 0x1
+
+       MOVE_MOUNT_F_SYMLINKS   = 0x1
+       MOVE_MOUNT_F_AUTOMOUNTS = 0x2
+       MOVE_MOUNT_F_EMPTY_PATH = 0x4
+       MOVE_MOUNT_T_SYMLINKS   = 0x10
+       MOVE_MOUNT_T_AUTOMOUNTS = 0x20
+       MOVE_MOUNT_T_EMPTY_PATH = 0x40
+       MOVE_MOUNT_SET_GROUP    = 0x100
+
+       FSOPEN_CLOEXEC = 0x1
+
+       FSPICK_CLOEXEC          = 0x1
+       FSPICK_SYMLINK_NOFOLLOW = 0x2
+       FSPICK_NO_AUTOMOUNT     = 0x4
+       FSPICK_EMPTY_PATH       = 0x8
+
+       FSMOUNT_CLOEXEC = 0x1
 )
 
 type OpenHow struct {
@@ -3619,7 +3638,7 @@ const (
        ETHTOOL_A_RINGS_RX_MINI                   = 0x7
        ETHTOOL_A_RINGS_RX_JUMBO                  = 0x8
        ETHTOOL_A_RINGS_TX                        = 0x9
-       ETHTOOL_A_RINGS_MAX                       = 0x9
+       ETHTOOL_A_RINGS_MAX                       = 0xa
        ETHTOOL_A_CHANNELS_UNSPEC                 = 0x0
        ETHTOOL_A_CHANNELS_HEADER                 = 0x1
        ETHTOOL_A_CHANNELS_RX_MAX                 = 0x2
@@ -4304,7 +4323,7 @@ const (
        NL80211_ATTR_MAC_HINT                                   = 0xc8
        NL80211_ATTR_MAC_MASK                                   = 0xd7
        NL80211_ATTR_MAX_AP_ASSOC_STA                           = 0xca
-       NL80211_ATTR_MAX                                        = 0x133
+       NL80211_ATTR_MAX                                        = 0x135
        NL80211_ATTR_MAX_CRIT_PROT_DURATION                     = 0xb4
        NL80211_ATTR_MAX_CSA_COUNTERS                           = 0xce
        NL80211_ATTR_MAX_MATCH_SETS                             = 0x85
@@ -4645,7 +4664,7 @@ const (
        NL80211_CMD_LEAVE_IBSS                                  = 0x2c
        NL80211_CMD_LEAVE_MESH                                  = 0x45
        NL80211_CMD_LEAVE_OCB                                   = 0x6d
-       NL80211_CMD_MAX                                         = 0x92
+       NL80211_CMD_MAX                                         = 0x93
        NL80211_CMD_MICHAEL_MIC_FAILURE                         = 0x29
        NL80211_CMD_NAN_MATCH                                   = 0x78
        NL80211_CMD_NEW_BEACON                                  = 0xf
@@ -5532,3 +5551,40 @@ const (
        NL80211_WPA_VERSION_2                                   = 0x2
        NL80211_WPA_VERSION_3                                   = 0x4
 )
+
+const (
+       FRA_UNSPEC             = 0x0
+       FRA_DST                = 0x1
+       FRA_SRC                = 0x2
+       FRA_IIFNAME            = 0x3
+       FRA_GOTO               = 0x4
+       FRA_UNUSED2            = 0x5
+       FRA_PRIORITY           = 0x6
+       FRA_UNUSED3            = 0x7
+       FRA_UNUSED4            = 0x8
+       FRA_UNUSED5            = 0x9
+       FRA_FWMARK             = 0xa
+       FRA_FLOW               = 0xb
+       FRA_TUN_ID             = 0xc
+       FRA_SUPPRESS_IFGROUP   = 0xd
+       FRA_SUPPRESS_PREFIXLEN = 0xe
+       FRA_TABLE              = 0xf
+       FRA_FWMASK             = 0x10
+       FRA_OIFNAME            = 0x11
+       FRA_PAD                = 0x12
+       FRA_L3MDEV             = 0x13
+       FRA_UID_RANGE          = 0x14
+       FRA_PROTOCOL           = 0x15
+       FRA_IP_PROTO           = 0x16
+       FRA_SPORT_RANGE        = 0x17
+       FRA_DPORT_RANGE        = 0x18
+       FR_ACT_UNSPEC          = 0x0
+       FR_ACT_TO_TBL          = 0x1
+       FR_ACT_GOTO            = 0x2
+       FR_ACT_NOP             = 0x3
+       FR_ACT_RES3            = 0x4
+       FR_ACT_RES4            = 0x5
+       FR_ACT_BLACKHOLE       = 0x6
+       FR_ACT_UNREACHABLE     = 0x7
+       FR_ACT_PROHIBIT        = 0x8
+)
index bea2549455ea30a530b90bf84e002ecce7e29f39..5314092568f69d83835320dec75ce6ebc5a61846 100644 (file)
@@ -240,6 +240,10 @@ type EpollEvent struct {
        Pad    int32
 }
 
+const (
+       OPEN_TREE_CLOEXEC = 0x80000
+)
+
 const (
        POLLRDHUP = 0x2000
 )
@@ -250,6 +254,13 @@ type Sigset_t struct {
 
 const _C__NSIG = 0x41
 
+type Siginfo struct {
+       Signo int32
+       Errno int32
+       Code  int32
+       _     [116]byte
+}
+
 type Termios struct {
        Iflag  uint32
        Oflag  uint32
@@ -311,6 +322,8 @@ type Taskstats struct {
        Thrashing_count           uint64
        Thrashing_delay_total     uint64
        Ac_btime64                uint64
+       Compact_count             uint64
+       Compact_delay_total       uint64
 }
 
 type cpuMask uint32
index b8c8f2894335a888f1788bf05a9db046ef25101b..b02ab83dbd33ebe4fbf42a1a7d0e91e01fc676a5 100644 (file)
@@ -255,6 +255,10 @@ type EpollEvent struct {
        Pad    int32
 }
 
+const (
+       OPEN_TREE_CLOEXEC = 0x80000
+)
+
 const (
        POLLRDHUP = 0x2000
 )
@@ -265,6 +269,14 @@ type Sigset_t struct {
 
 const _C__NSIG = 0x41
 
+type Siginfo struct {
+       Signo int32
+       Errno int32
+       Code  int32
+       _     int32
+       _     [112]byte
+}
+
 type Termios struct {
        Iflag  uint32
        Oflag  uint32
@@ -324,6 +336,8 @@ type Taskstats struct {
        Thrashing_count           uint64
        Thrashing_delay_total     uint64
        Ac_btime64                uint64
+       Compact_count             uint64
+       Compact_delay_total       uint64
 }
 
 type cpuMask uint64
index 4db44301632bc5088638ca0eb0b5daadeb67894b..9e6871d2e0457249f58b7d28ad44c4a8af5f43cb 100644 (file)
@@ -231,6 +231,10 @@ type EpollEvent struct {
        Pad    int32
 }
 
+const (
+       OPEN_TREE_CLOEXEC = 0x80000
+)
+
 const (
        POLLRDHUP = 0x2000
 )
@@ -241,6 +245,13 @@ type Sigset_t struct {
 
 const _C__NSIG = 0x41
 
+type Siginfo struct {
+       Signo int32
+       Errno int32
+       Code  int32
+       _     [116]byte
+}
+
 type Termios struct {
        Iflag  uint32
        Oflag  uint32
@@ -302,6 +313,8 @@ type Taskstats struct {
        Thrashing_count           uint64
        Thrashing_delay_total     uint64
        Ac_btime64                uint64
+       Compact_count             uint64
+       Compact_delay_total       uint64
 }
 
 type cpuMask uint32
index 3ebcad8a88739f5cb4c691ccaa42259585224417..b732d12559ce4360f3cb18e3520fde6972b182fe 100644 (file)
@@ -234,6 +234,10 @@ type EpollEvent struct {
        Pad    int32
 }
 
+const (
+       OPEN_TREE_CLOEXEC = 0x80000
+)
+
 const (
        POLLRDHUP = 0x2000
 )
@@ -244,6 +248,14 @@ type Sigset_t struct {
 
 const _C__NSIG = 0x41
 
+type Siginfo struct {
+       Signo int32
+       Errno int32
+       Code  int32
+       _     int32
+       _     [112]byte
+}
+
 type Termios struct {
        Iflag  uint32
        Oflag  uint32
@@ -303,6 +315,8 @@ type Taskstats struct {
        Thrashing_count           uint64
        Thrashing_delay_total     uint64
        Ac_btime64                uint64
+       Compact_count             uint64
+       Compact_delay_total       uint64
 }
 
 type cpuMask uint64
diff --git a/src/cmd/vendor/golang.org/x/sys/unix/ztypes_linux_loong64.go b/src/cmd/vendor/golang.org/x/sys/unix/ztypes_linux_loong64.go
new file mode 100644 (file)
index 0000000..61fbb24
--- /dev/null
@@ -0,0 +1,679 @@
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/linux/types.go | go run mkpost.go
+// Code generated by the command above; see README.md. DO NOT EDIT.
+
+//go:build loong64 && linux
+// +build loong64,linux
+
+package unix
+
+const (
+       SizeofPtr  = 0x8
+       SizeofLong = 0x8
+)
+
+type (
+       _C_long int64
+)
+
+type Timespec struct {
+       Sec  int64
+       Nsec int64
+}
+
+type Timeval struct {
+       Sec  int64
+       Usec int64
+}
+
+type Timex struct {
+       Modes     uint32
+       Offset    int64
+       Freq      int64
+       Maxerror  int64
+       Esterror  int64
+       Status    int32
+       Constant  int64
+       Precision int64
+       Tolerance int64
+       Time      Timeval
+       Tick      int64
+       Ppsfreq   int64
+       Jitter    int64
+       Shift     int32
+       Stabil    int64
+       Jitcnt    int64
+       Calcnt    int64
+       Errcnt    int64
+       Stbcnt    int64
+       Tai       int32
+       _         [44]byte
+}
+
+type Time_t int64
+
+type Tms struct {
+       Utime  int64
+       Stime  int64
+       Cutime int64
+       Cstime int64
+}
+
+type Utimbuf struct {
+       Actime  int64
+       Modtime int64
+}
+
+type Rusage struct {
+       Utime    Timeval
+       Stime    Timeval
+       Maxrss   int64
+       Ixrss    int64
+       Idrss    int64
+       Isrss    int64
+       Minflt   int64
+       Majflt   int64
+       Nswap    int64
+       Inblock  int64
+       Oublock  int64
+       Msgsnd   int64
+       Msgrcv   int64
+       Nsignals int64
+       Nvcsw    int64
+       Nivcsw   int64
+}
+
+type Stat_t struct {
+       Dev     uint64
+       Ino     uint64
+       Mode    uint32
+       Nlink   uint32
+       Uid     uint32
+       Gid     uint32
+       Rdev    uint64
+       _       uint64
+       Size    int64
+       Blksize int32
+       _       int32
+       Blocks  int64
+       Atim    Timespec
+       Mtim    Timespec
+       Ctim    Timespec
+       _       [2]int32
+}
+
+type Dirent struct {
+       Ino    uint64
+       Off    int64
+       Reclen uint16
+       Type   uint8
+       Name   [256]int8
+       _      [5]byte
+}
+
+type Flock_t struct {
+       Type   int16
+       Whence int16
+       Start  int64
+       Len    int64
+       Pid    int32
+       _      [4]byte
+}
+
+type DmNameList struct {
+       Dev  uint64
+       Next uint32
+       Name [0]byte
+       _    [4]byte
+}
+
+const (
+       FADV_DONTNEED = 0x4
+       FADV_NOREUSE  = 0x5
+)
+
+type RawSockaddrNFCLLCP struct {
+       Sa_family        uint16
+       Dev_idx          uint32
+       Target_idx       uint32
+       Nfc_protocol     uint32
+       Dsap             uint8
+       Ssap             uint8
+       Service_name     [63]uint8
+       Service_name_len uint64
+}
+
+type RawSockaddr struct {
+       Family uint16
+       Data   [14]int8
+}
+
+type RawSockaddrAny struct {
+       Addr RawSockaddr
+       Pad  [96]int8
+}
+
+type Iovec struct {
+       Base *byte
+       Len  uint64
+}
+
+type Msghdr struct {
+       Name       *byte
+       Namelen    uint32
+       Iov        *Iovec
+       Iovlen     uint64
+       Control    *byte
+       Controllen uint64
+       Flags      int32
+       _          [4]byte
+}
+
+type Cmsghdr struct {
+       Len   uint64
+       Level int32
+       Type  int32
+}
+
+type ifreq struct {
+       Ifrn [16]byte
+       Ifru [24]byte
+}
+
+const (
+       SizeofSockaddrNFCLLCP = 0x60
+       SizeofIovec           = 0x10
+       SizeofMsghdr          = 0x38
+       SizeofCmsghdr         = 0x10
+)
+
+const (
+       SizeofSockFprog = 0x10
+)
+
+type PtraceRegs struct {
+       Regs     [32]uint64
+       Orig_a0  uint64
+       Era      uint64
+       Badv     uint64
+       Reserved [10]uint64
+}
+
+type FdSet struct {
+       Bits [16]int64
+}
+
+type Sysinfo_t struct {
+       Uptime    int64
+       Loads     [3]uint64
+       Totalram  uint64
+       Freeram   uint64
+       Sharedram uint64
+       Bufferram uint64
+       Totalswap uint64
+       Freeswap  uint64
+       Procs     uint16
+       Pad       uint16
+       Totalhigh uint64
+       Freehigh  uint64
+       Unit      uint32
+       _         [0]int8
+       _         [4]byte
+}
+
+type Ustat_t struct {
+       Tfree  int32
+       Tinode uint64
+       Fname  [6]int8
+       Fpack  [6]int8
+       _      [4]byte
+}
+
+type EpollEvent struct {
+       Events uint32
+       _      int32
+       Fd     int32
+       Pad    int32
+}
+
+const (
+       OPEN_TREE_CLOEXEC = 0x80000
+)
+
+const (
+       POLLRDHUP = 0x2000
+)
+
+type Sigset_t struct {
+       Val [16]uint64
+}
+
+const _C__NSIG = 0x41
+
+type Siginfo struct {
+       Signo int32
+       Errno int32
+       Code  int32
+       _     int32
+       _     [112]byte
+}
+
+type Termios struct {
+       Iflag  uint32
+       Oflag  uint32
+       Cflag  uint32
+       Lflag  uint32
+       Line   uint8
+       Cc     [19]uint8
+       Ispeed uint32
+       Ospeed uint32
+}
+
+type Taskstats struct {
+       Version                   uint16
+       Ac_exitcode               uint32
+       Ac_flag                   uint8
+       Ac_nice                   uint8
+       Cpu_count                 uint64
+       Cpu_delay_total           uint64
+       Blkio_count               uint64
+       Blkio_delay_total         uint64
+       Swapin_count              uint64
+       Swapin_delay_total        uint64
+       Cpu_run_real_total        uint64
+       Cpu_run_virtual_total     uint64
+       Ac_comm                   [32]int8
+       Ac_sched                  uint8
+       Ac_pad                    [3]uint8
+       _                         [4]byte
+       Ac_uid                    uint32
+       Ac_gid                    uint32
+       Ac_pid                    uint32
+       Ac_ppid                   uint32
+       Ac_btime                  uint32
+       Ac_etime                  uint64
+       Ac_utime                  uint64
+       Ac_stime                  uint64
+       Ac_minflt                 uint64
+       Ac_majflt                 uint64
+       Coremem                   uint64
+       Virtmem                   uint64
+       Hiwater_rss               uint64
+       Hiwater_vm                uint64
+       Read_char                 uint64
+       Write_char                uint64
+       Read_syscalls             uint64
+       Write_syscalls            uint64
+       Read_bytes                uint64
+       Write_bytes               uint64
+       Cancelled_write_bytes     uint64
+       Nvcsw                     uint64
+       Nivcsw                    uint64
+       Ac_utimescaled            uint64
+       Ac_stimescaled            uint64
+       Cpu_scaled_run_real_total uint64
+       Freepages_count           uint64
+       Freepages_delay_total     uint64
+       Thrashing_count           uint64
+       Thrashing_delay_total     uint64
+       Ac_btime64                uint64
+       Compact_count             uint64
+       Compact_delay_total       uint64
+}
+
+type cpuMask uint64
+
+const (
+       _NCPUBITS = 0x40
+)
+
+const (
+       CBitFieldMaskBit0  = 0x1
+       CBitFieldMaskBit1  = 0x2
+       CBitFieldMaskBit2  = 0x4
+       CBitFieldMaskBit3  = 0x8
+       CBitFieldMaskBit4  = 0x10
+       CBitFieldMaskBit5  = 0x20
+       CBitFieldMaskBit6  = 0x40
+       CBitFieldMaskBit7  = 0x80
+       CBitFieldMaskBit8  = 0x100
+       CBitFieldMaskBit9  = 0x200
+       CBitFieldMaskBit10 = 0x400
+       CBitFieldMaskBit11 = 0x800
+       CBitFieldMaskBit12 = 0x1000
+       CBitFieldMaskBit13 = 0x2000
+       CBitFieldMaskBit14 = 0x4000
+       CBitFieldMaskBit15 = 0x8000
+       CBitFieldMaskBit16 = 0x10000
+       CBitFieldMaskBit17 = 0x20000
+       CBitFieldMaskBit18 = 0x40000
+       CBitFieldMaskBit19 = 0x80000
+       CBitFieldMaskBit20 = 0x100000
+       CBitFieldMaskBit21 = 0x200000
+       CBitFieldMaskBit22 = 0x400000
+       CBitFieldMaskBit23 = 0x800000
+       CBitFieldMaskBit24 = 0x1000000
+       CBitFieldMaskBit25 = 0x2000000
+       CBitFieldMaskBit26 = 0x4000000
+       CBitFieldMaskBit27 = 0x8000000
+       CBitFieldMaskBit28 = 0x10000000
+       CBitFieldMaskBit29 = 0x20000000
+       CBitFieldMaskBit30 = 0x40000000
+       CBitFieldMaskBit31 = 0x80000000
+       CBitFieldMaskBit32 = 0x100000000
+       CBitFieldMaskBit33 = 0x200000000
+       CBitFieldMaskBit34 = 0x400000000
+       CBitFieldMaskBit35 = 0x800000000
+       CBitFieldMaskBit36 = 0x1000000000
+       CBitFieldMaskBit37 = 0x2000000000
+       CBitFieldMaskBit38 = 0x4000000000
+       CBitFieldMaskBit39 = 0x8000000000
+       CBitFieldMaskBit40 = 0x10000000000
+       CBitFieldMaskBit41 = 0x20000000000
+       CBitFieldMaskBit42 = 0x40000000000
+       CBitFieldMaskBit43 = 0x80000000000
+       CBitFieldMaskBit44 = 0x100000000000
+       CBitFieldMaskBit45 = 0x200000000000
+       CBitFieldMaskBit46 = 0x400000000000
+       CBitFieldMaskBit47 = 0x800000000000
+       CBitFieldMaskBit48 = 0x1000000000000
+       CBitFieldMaskBit49 = 0x2000000000000
+       CBitFieldMaskBit50 = 0x4000000000000
+       CBitFieldMaskBit51 = 0x8000000000000
+       CBitFieldMaskBit52 = 0x10000000000000
+       CBitFieldMaskBit53 = 0x20000000000000
+       CBitFieldMaskBit54 = 0x40000000000000
+       CBitFieldMaskBit55 = 0x80000000000000
+       CBitFieldMaskBit56 = 0x100000000000000
+       CBitFieldMaskBit57 = 0x200000000000000
+       CBitFieldMaskBit58 = 0x400000000000000
+       CBitFieldMaskBit59 = 0x800000000000000
+       CBitFieldMaskBit60 = 0x1000000000000000
+       CBitFieldMaskBit61 = 0x2000000000000000
+       CBitFieldMaskBit62 = 0x4000000000000000
+       CBitFieldMaskBit63 = 0x8000000000000000
+)
+
+type SockaddrStorage struct {
+       Family uint16
+       _      [118]int8
+       _      uint64
+}
+
+type HDGeometry struct {
+       Heads     uint8
+       Sectors   uint8
+       Cylinders uint16
+       Start     uint64
+}
+
+type Statfs_t struct {
+       Type    int64
+       Bsize   int64
+       Blocks  uint64
+       Bfree   uint64
+       Bavail  uint64
+       Files   uint64
+       Ffree   uint64
+       Fsid    Fsid
+       Namelen int64
+       Frsize  int64
+       Flags   int64
+       Spare   [4]int64
+}
+
+type TpacketHdr struct {
+       Status  uint64
+       Len     uint32
+       Snaplen uint32
+       Mac     uint16
+       Net     uint16
+       Sec     uint32
+       Usec    uint32
+       _       [4]byte
+}
+
+const (
+       SizeofTpacketHdr = 0x20
+)
+
+type RTCPLLInfo struct {
+       Ctrl    int32
+       Value   int32
+       Max     int32
+       Min     int32
+       Posmult int32
+       Negmult int32
+       Clock   int64
+}
+
+type BlkpgPartition struct {
+       Start   int64
+       Length  int64
+       Pno     int32
+       Devname [64]uint8
+       Volname [64]uint8
+       _       [4]byte
+}
+
+const (
+       BLKPG = 0x1269
+)
+
+type XDPUmemReg struct {
+       Addr     uint64
+       Len      uint64
+       Size     uint32
+       Headroom uint32
+       Flags    uint32
+       _        [4]byte
+}
+
+type CryptoUserAlg struct {
+       Name        [64]int8
+       Driver_name [64]int8
+       Module_name [64]int8
+       Type        uint32
+       Mask        uint32
+       Refcnt      uint32
+       Flags       uint32
+}
+
+type CryptoStatAEAD struct {
+       Type         [64]int8
+       Encrypt_cnt  uint64
+       Encrypt_tlen uint64
+       Decrypt_cnt  uint64
+       Decrypt_tlen uint64
+       Err_cnt      uint64
+}
+
+type CryptoStatAKCipher struct {
+       Type         [64]int8
+       Encrypt_cnt  uint64
+       Encrypt_tlen uint64
+       Decrypt_cnt  uint64
+       Decrypt_tlen uint64
+       Verify_cnt   uint64
+       Sign_cnt     uint64
+       Err_cnt      uint64
+}
+
+type CryptoStatCipher struct {
+       Type         [64]int8
+       Encrypt_cnt  uint64
+       Encrypt_tlen uint64
+       Decrypt_cnt  uint64
+       Decrypt_tlen uint64
+       Err_cnt      uint64
+}
+
+type CryptoStatCompress struct {
+       Type            [64]int8
+       Compress_cnt    uint64
+       Compress_tlen   uint64
+       Decompress_cnt  uint64
+       Decompress_tlen uint64
+       Err_cnt         uint64
+}
+
+type CryptoStatHash struct {
+       Type      [64]int8
+       Hash_cnt  uint64
+       Hash_tlen uint64
+       Err_cnt   uint64
+}
+
+type CryptoStatKPP struct {
+       Type                      [64]int8
+       Setsecret_cnt             uint64
+       Generate_public_key_cnt   uint64
+       Compute_shared_secret_cnt uint64
+       Err_cnt                   uint64
+}
+
+type CryptoStatRNG struct {
+       Type          [64]int8
+       Generate_cnt  uint64
+       Generate_tlen uint64
+       Seed_cnt      uint64
+       Err_cnt       uint64
+}
+
+type CryptoStatLarval struct {
+       Type [64]int8
+}
+
+type CryptoReportLarval struct {
+       Type [64]int8
+}
+
+type CryptoReportHash struct {
+       Type       [64]int8
+       Blocksize  uint32
+       Digestsize uint32
+}
+
+type CryptoReportCipher struct {
+       Type        [64]int8
+       Blocksize   uint32
+       Min_keysize uint32
+       Max_keysize uint32
+}
+
+type CryptoReportBlkCipher struct {
+       Type        [64]int8
+       Geniv       [64]int8
+       Blocksize   uint32
+       Min_keysize uint32
+       Max_keysize uint32
+       Ivsize      uint32
+}
+
+type CryptoReportAEAD struct {
+       Type        [64]int8
+       Geniv       [64]int8
+       Blocksize   uint32
+       Maxauthsize uint32
+       Ivsize      uint32
+}
+
+type CryptoReportComp struct {
+       Type [64]int8
+}
+
+type CryptoReportRNG struct {
+       Type     [64]int8
+       Seedsize uint32
+}
+
+type CryptoReportAKCipher struct {
+       Type [64]int8
+}
+
+type CryptoReportKPP struct {
+       Type [64]int8
+}
+
+type CryptoReportAcomp struct {
+       Type [64]int8
+}
+
+type LoopInfo struct {
+       Number           int32
+       Device           uint32
+       Inode            uint64
+       Rdevice          uint32
+       Offset           int32
+       Encrypt_type     int32
+       Encrypt_key_size int32
+       Flags            int32
+       Name             [64]int8
+       Encrypt_key      [32]uint8
+       Init             [2]uint64
+       Reserved         [4]int8
+       _                [4]byte
+}
+
+type TIPCSubscr struct {
+       Seq     TIPCServiceRange
+       Timeout uint32
+       Filter  uint32
+       Handle  [8]int8
+}
+
+type TIPCSIOCLNReq struct {
+       Peer     uint32
+       Id       uint32
+       Linkname [68]int8
+}
+
+type TIPCSIOCNodeIDReq struct {
+       Peer uint32
+       Id   [16]int8
+}
+
+type PPSKInfo struct {
+       Assert_sequence uint32
+       Clear_sequence  uint32
+       Assert_tu       PPSKTime
+       Clear_tu        PPSKTime
+       Current_mode    int32
+       _               [4]byte
+}
+
+const (
+       PPS_GETPARAMS = 0x800870a1
+       PPS_SETPARAMS = 0x400870a2
+       PPS_GETCAP    = 0x800870a3
+       PPS_FETCH     = 0xc00870a4
+)
+
+const (
+       PIDFD_NONBLOCK = 0x800
+)
+
+type SysvIpcPerm struct {
+       Key  int32
+       Uid  uint32
+       Gid  uint32
+       Cuid uint32
+       Cgid uint32
+       Mode uint32
+       _    [0]uint8
+       Seq  uint16
+       _    uint16
+       _    uint64
+       _    uint64
+}
+type SysvShmDesc struct {
+       Perm   SysvIpcPerm
+       Segsz  uint64
+       Atime  int64
+       Dtime  int64
+       Ctime  int64
+       Cpid   int32
+       Lpid   int32
+       Nattch uint64
+       _      uint64
+       _      uint64
+}
index 3eb33e48ab539f4e09f97381ebf34ca175bfdca5..5310f71ea56026eb7d4248e644b2c76bceec83c0 100644 (file)
@@ -236,6 +236,10 @@ type EpollEvent struct {
        Pad    int32
 }
 
+const (
+       OPEN_TREE_CLOEXEC = 0x80000
+)
+
 const (
        POLLRDHUP = 0x2000
 )
@@ -246,6 +250,13 @@ type Sigset_t struct {
 
 const _C__NSIG = 0x80
 
+type Siginfo struct {
+       Signo int32
+       Code  int32
+       Errno int32
+       _     [116]byte
+}
+
 type Termios struct {
        Iflag  uint32
        Oflag  uint32
@@ -307,6 +318,8 @@ type Taskstats struct {
        Thrashing_count           uint64
        Thrashing_delay_total     uint64
        Ac_btime64                uint64
+       Compact_count             uint64
+       Compact_delay_total       uint64
 }
 
 type cpuMask uint32
index 79a94467252f19755119487dd1663256ada63a8f..219bbb1267ddf3d6af9538c2e3b32a92760b782d 100644 (file)
@@ -237,6 +237,10 @@ type EpollEvent struct {
        Pad    int32
 }
 
+const (
+       OPEN_TREE_CLOEXEC = 0x80000
+)
+
 const (
        POLLRDHUP = 0x2000
 )
@@ -247,6 +251,14 @@ type Sigset_t struct {
 
 const _C__NSIG = 0x80
 
+type Siginfo struct {
+       Signo int32
+       Code  int32
+       Errno int32
+       _     int32
+       _     [112]byte
+}
+
 type Termios struct {
        Iflag  uint32
        Oflag  uint32
@@ -306,6 +318,8 @@ type Taskstats struct {
        Thrashing_count           uint64
        Thrashing_delay_total     uint64
        Ac_btime64                uint64
+       Compact_count             uint64
+       Compact_delay_total       uint64
 }
 
 type cpuMask uint64
index 8f4b107cad36bd616a90d280c6c4c02ca4c7e892..be9432da54804075892eb87895c2e34c53e9eac4 100644 (file)
@@ -237,6 +237,10 @@ type EpollEvent struct {
        Pad    int32
 }
 
+const (
+       OPEN_TREE_CLOEXEC = 0x80000
+)
+
 const (
        POLLRDHUP = 0x2000
 )
@@ -247,6 +251,14 @@ type Sigset_t struct {
 
 const _C__NSIG = 0x80
 
+type Siginfo struct {
+       Signo int32
+       Code  int32
+       Errno int32
+       _     int32
+       _     [112]byte
+}
+
 type Termios struct {
        Iflag  uint32
        Oflag  uint32
@@ -306,6 +318,8 @@ type Taskstats struct {
        Thrashing_count           uint64
        Thrashing_delay_total     uint64
        Ac_btime64                uint64
+       Compact_count             uint64
+       Compact_delay_total       uint64
 }
 
 type cpuMask uint64
index e4eb2179811f3064e4b3b0745b89c0d68537de51..d0155a42e61e7ac9c052ad02ccaa5cae4369d1e5 100644 (file)
@@ -236,6 +236,10 @@ type EpollEvent struct {
        Pad    int32
 }
 
+const (
+       OPEN_TREE_CLOEXEC = 0x80000
+)
+
 const (
        POLLRDHUP = 0x2000
 )
@@ -246,6 +250,13 @@ type Sigset_t struct {
 
 const _C__NSIG = 0x80
 
+type Siginfo struct {
+       Signo int32
+       Code  int32
+       Errno int32
+       _     [116]byte
+}
+
 type Termios struct {
        Iflag  uint32
        Oflag  uint32
@@ -307,6 +318,8 @@ type Taskstats struct {
        Thrashing_count           uint64
        Thrashing_delay_total     uint64
        Ac_btime64                uint64
+       Compact_count             uint64
+       Compact_delay_total       uint64
 }
 
 type cpuMask uint32
index d5b21f0f7da5556f1736270ff17c71cfb2a000e4..01c17bcc6f9764dc5de33a6f1977d5104718b7c9 100644 (file)
@@ -243,6 +243,10 @@ type EpollEvent struct {
        Pad    int32
 }
 
+const (
+       OPEN_TREE_CLOEXEC = 0x80000
+)
+
 const (
        POLLRDHUP = 0x2000
 )
@@ -253,6 +257,13 @@ type Sigset_t struct {
 
 const _C__NSIG = 0x41
 
+type Siginfo struct {
+       Signo int32
+       Errno int32
+       Code  int32
+       _     [116]byte
+}
+
 type Termios struct {
        Iflag  uint32
        Oflag  uint32
@@ -314,6 +325,8 @@ type Taskstats struct {
        Thrashing_count           uint64
        Thrashing_delay_total     uint64
        Ac_btime64                uint64
+       Compact_count             uint64
+       Compact_delay_total       uint64
 }
 
 type cpuMask uint32
index 5188d142b9f526e1275b5ac0641ce1f5874468e2..944a9c3c78fb9a3dd898d70a603c565bddbf28ac 100644 (file)
@@ -244,6 +244,10 @@ type EpollEvent struct {
        Pad    int32
 }
 
+const (
+       OPEN_TREE_CLOEXEC = 0x80000
+)
+
 const (
        POLLRDHUP = 0x2000
 )
@@ -254,6 +258,14 @@ type Sigset_t struct {
 
 const _C__NSIG = 0x41
 
+type Siginfo struct {
+       Signo int32
+       Errno int32
+       Code  int32
+       _     int32
+       _     [112]byte
+}
+
 type Termios struct {
        Iflag  uint32
        Oflag  uint32
@@ -313,6 +325,8 @@ type Taskstats struct {
        Thrashing_count           uint64
        Thrashing_delay_total     uint64
        Ac_btime64                uint64
+       Compact_count             uint64
+       Compact_delay_total       uint64
 }
 
 type cpuMask uint64
index de4dd4c736e8b887257cb6e5eba99891c961fb78..5d2c90e1ce3d7fbe339e245ff64eb29a57aece43 100644 (file)
@@ -244,6 +244,10 @@ type EpollEvent struct {
        Pad    int32
 }
 
+const (
+       OPEN_TREE_CLOEXEC = 0x80000
+)
+
 const (
        POLLRDHUP = 0x2000
 )
@@ -254,6 +258,14 @@ type Sigset_t struct {
 
 const _C__NSIG = 0x41
 
+type Siginfo struct {
+       Signo int32
+       Errno int32
+       Code  int32
+       _     int32
+       _     [112]byte
+}
+
 type Termios struct {
        Iflag  uint32
        Oflag  uint32
@@ -313,6 +325,8 @@ type Taskstats struct {
        Thrashing_count           uint64
        Thrashing_delay_total     uint64
        Ac_btime64                uint64
+       Compact_count             uint64
+       Compact_delay_total       uint64
 }
 
 type cpuMask uint64
index dccbf9b0604051939bca790018bce7fda4e61c91..e173cb51574d46486b26543242b60e531b20b027 100644 (file)
@@ -262,6 +262,10 @@ type EpollEvent struct {
        Pad    int32
 }
 
+const (
+       OPEN_TREE_CLOEXEC = 0x80000
+)
+
 const (
        POLLRDHUP = 0x2000
 )
@@ -272,6 +276,14 @@ type Sigset_t struct {
 
 const _C__NSIG = 0x41
 
+type Siginfo struct {
+       Signo int32
+       Errno int32
+       Code  int32
+       _     int32
+       _     [112]byte
+}
+
 type Termios struct {
        Iflag  uint32
        Oflag  uint32
@@ -331,6 +343,8 @@ type Taskstats struct {
        Thrashing_count           uint64
        Thrashing_delay_total     uint64
        Ac_btime64                uint64
+       Compact_count             uint64
+       Compact_delay_total       uint64
 }
 
 type cpuMask uint64
index c426c35763a80810ac3429a5dc1aadb2af7c5d12..6106715d5c60e780335026949c73c52e0217f46b 100644 (file)
@@ -257,6 +257,10 @@ type EpollEvent struct {
        Pad    int32
 }
 
+const (
+       OPEN_TREE_CLOEXEC = 0x80000
+)
+
 const (
        POLLRDHUP = 0x2000
 )
@@ -267,6 +271,14 @@ type Sigset_t struct {
 
 const _C__NSIG = 0x41
 
+type Siginfo struct {
+       Signo int32
+       Errno int32
+       Code  int32
+       _     int32
+       _     [112]byte
+}
+
 type Termios struct {
        Iflag  uint32
        Oflag  uint32
@@ -326,6 +338,8 @@ type Taskstats struct {
        Thrashing_count           uint64
        Thrashing_delay_total     uint64
        Ac_btime64                uint64
+       Compact_count             uint64
+       Compact_delay_total       uint64
 }
 
 type cpuMask uint64
index 765edc13ff25673166a60940de0f60df461a0c1c..ca7b37b4b57b8e874732e13573002e0a5550293d 100644 (file)
@@ -239,6 +239,10 @@ type EpollEvent struct {
        Pad    int32
 }
 
+const (
+       OPEN_TREE_CLOEXEC = 0x400000
+)
+
 const (
        POLLRDHUP = 0x800
 )
@@ -249,6 +253,14 @@ type Sigset_t struct {
 
 const _C__NSIG = 0x41
 
+type Siginfo struct {
+       Signo int32
+       Errno int32
+       Code  int32
+       _     int32
+       _     [112]byte
+}
+
 type Termios struct {
        Iflag  uint32
        Oflag  uint32
@@ -308,6 +320,8 @@ type Taskstats struct {
        Thrashing_count           uint64
        Thrashing_delay_total     uint64
        Ac_btime64                uint64
+       Compact_count             uint64
+       Compact_delay_total       uint64
 }
 
 type cpuMask uint64
index 98b7e4b4028ac97a81f53692066f9c76e685c9e9..ce3075c453440f3c21385257fae914b3e0b8ceca 100644 (file)
@@ -10,6 +10,7 @@ import (
        errorspkg "errors"
        "fmt"
        "runtime"
+       "strings"
        "sync"
        "syscall"
        "time"
@@ -86,10 +87,8 @@ func StringToUTF16(s string) []uint16 {
 // s, with a terminating NUL added. If s contains a NUL byte at any
 // location, it returns (nil, syscall.EINVAL).
 func UTF16FromString(s string) ([]uint16, error) {
-       for i := 0; i < len(s); i++ {
-               if s[i] == 0 {
-                       return nil, syscall.EINVAL
-               }
+       if strings.IndexByte(s, 0) != -1 {
+               return nil, syscall.EINVAL
        }
        return utf16.Encode([]rune(s + "\x00")), nil
 }
index eecc6414a2f4a809c4bf7752c723e62bd67da279..c31727b99fa24c5d41e9fcc4e0630d6fd4ad92fe 100644 (file)
@@ -40,7 +40,7 @@ golang.org/x/mod/zip
 # golang.org/x/sync v0.0.0-20210220032951-036812b2e83c
 ## explicit
 golang.org/x/sync/semaphore
-# golang.org/x/sys v0.0.0-20220317061510-51cd9980dadf
+# golang.org/x/sys v0.0.0-20220422013727-9388b58f7150
 ## explicit; go 1.17
 golang.org/x/sys/internal/unsafeheader
 golang.org/x/sys/plan9
index e154befe6ce55819417f3bba4ae8e406cadbd70c..2c43eccc715027da8b226d97a13f2c12ca6e398e 100644 (file)
@@ -8,6 +8,6 @@ require (
 )
 
 require (
-       golang.org/x/sys v0.0.0-20220317061510-51cd9980dadf // indirect
+       golang.org/x/sys v0.0.0-20220422013727-9388b58f7150 // indirect
        golang.org/x/text v0.3.8-0.20220124021120-d1c84af989ab // indirect
 )
index a804d39d891c937c0c51c74d0c8427f01283ce59..a86e5553d0046fb8035e9d08c7134bc84af04036 100644 (file)
@@ -2,7 +2,7 @@ golang.org/x/crypto v0.0.0-20220315160706-3147a52a75dd h1:XcWmESyNjXJMLahc3mqVQJ
 golang.org/x/crypto v0.0.0-20220315160706-3147a52a75dd/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
 golang.org/x/net v0.0.0-20220421235706-1d1ef9303861 h1:yssD99+7tqHWO5Gwh81phT+67hg+KttniBr6UnEXOY8=
 golang.org/x/net v0.0.0-20220421235706-1d1ef9303861/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
-golang.org/x/sys v0.0.0-20220317061510-51cd9980dadf h1:Fm4IcnUL803i92qDlmB0obyHmosDrxZWxJL3gIeNqOw=
-golang.org/x/sys v0.0.0-20220317061510-51cd9980dadf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220422013727-9388b58f7150 h1:xHms4gcpe1YE7A3yIllJXP16CMAGuqwO2lX1mTyyRRc=
+golang.org/x/sys v0.0.0-20220422013727-9388b58f7150/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/text v0.3.8-0.20220124021120-d1c84af989ab h1:eHo2TTVBaAPw9lDGK2Gb9GyPMXT6g7O63W6sx3ylbzU=
 golang.org/x/text v0.3.8-0.20220124021120-d1c84af989ab/go.mod h1:EFNZuWvGYxIRUEX+K8UmCFwYmZjqcrnq15ZuVldZkZ0=
index dcbb14ef35a4804b0d8e85741a0bf5fdf5948bd8..271055be0b1e1a73e8b42b62240da8434becd991 100644 (file)
@@ -46,6 +46,7 @@ func hostByteOrder() byteOrder {
        case "386", "amd64", "amd64p32",
                "alpha",
                "arm", "arm64",
+               "loong64",
                "mipsle", "mips64le", "mips64p32le",
                "nios2",
                "ppc64le",
diff --git a/src/vendor/golang.org/x/sys/cpu/cpu_loong64.go b/src/vendor/golang.org/x/sys/cpu/cpu_loong64.go
new file mode 100644 (file)
index 0000000..0f57b05
--- /dev/null
@@ -0,0 +1,13 @@
+// Copyright 2022 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.
+
+//go:build loong64
+// +build loong64
+
+package cpu
+
+const cacheLineSize = 64
+
+func initOptions() {
+}
index 3bc423205939d5035c1b188a16764c4b502c76b4..78ead27048055cfcabcba91cdd085bd7a71e52ca 100644 (file)
@@ -19,7 +19,7 @@ golang.org/x/net/idna
 golang.org/x/net/lif
 golang.org/x/net/nettest
 golang.org/x/net/route
-# golang.org/x/sys v0.0.0-20220317061510-51cd9980dadf
+# golang.org/x/sys v0.0.0-20220422013727-9388b58f7150
 ## explicit; go 1.17
 golang.org/x/sys/cpu
 # golang.org/x/text v0.3.8-0.20220124021120-d1c84af989ab