diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE index 2cf7141c4fa3f..aeada9f8d0c13 100644 --- a/gcc/go/gofrontend/MERGE +++ b/gcc/go/gofrontend/MERGE @@ -1,4 +1,4 @@ -0058658a9efb6e5c5faa6f0f65949beea5ddbc98 +bbb3a4347714faee620dc205674510a0f20b81ae The first line of this file holds the git revision number of the last merge done from the gofrontend repository. diff --git a/libgo/go/syscall/dir_plan9.go b/libgo/go/syscall/dir_plan9.go index 4ed052de7619e..1667cbc02f49e 100644 --- a/libgo/go/syscall/dir_plan9.go +++ b/libgo/go/syscall/dir_plan9.go @@ -184,6 +184,7 @@ func gbit8(b []byte) (uint8, []byte) { } // gbit16 reads a 16-bit number in little-endian order from b and returns it with the remaining slice of b. +// //go:nosplit func gbit16(b []byte) (uint16, []byte) { return uint16(b[0]) | uint16(b[1])<<8, b[2:] diff --git a/libgo/go/syscall/errstr.go b/libgo/go/syscall/errstr.go index 6c2441d364d72..59f7a82c6d73e 100644 --- a/libgo/go/syscall/errstr.go +++ b/libgo/go/syscall/errstr.go @@ -4,8 +4,8 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build !hurd -// +build !linux +//go:build !hurd && !linux +// +build !hurd,!linux package syscall diff --git a/libgo/go/syscall/errstr_glibc.go b/libgo/go/syscall/errstr_glibc.go index 5b19e6f202d84..03a327dbc909a 100644 --- a/libgo/go/syscall/errstr_glibc.go +++ b/libgo/go/syscall/errstr_glibc.go @@ -7,6 +7,7 @@ // We use this rather than errstr.go because on GNU/Linux sterror_r // returns a pointer to the error message, and may not use buf at all. +//go:build hurd || linux // +build hurd linux package syscall diff --git a/libgo/go/syscall/exec_bsd.go b/libgo/go/syscall/exec_bsd.go index 86e513efdea86..e631593cbd95e 100644 --- a/libgo/go/syscall/exec_bsd.go +++ b/libgo/go/syscall/exec_bsd.go @@ -49,6 +49,7 @@ func runtime_AfterForkInChild() // For the same reason compiler does not race instrument it. // The calls to RawSyscall are okay because they are assembly // functions that do not grow the stack. +// //go:norace func forkAndExecInChild(argv0 *byte, argv, envv []*byte, chroot, dir *byte, attr *ProcAttr, sys *SysProcAttr, pipe int) (pid int, err Errno) { // Declare all variables at top in case any diff --git a/libgo/go/syscall/exec_freebsd.go b/libgo/go/syscall/exec_freebsd.go index f02f89d1ca03c..8e8ecb7e98910 100644 --- a/libgo/go/syscall/exec_freebsd.go +++ b/libgo/go/syscall/exec_freebsd.go @@ -57,6 +57,7 @@ func runtime_AfterForkInChild() // For the same reason compiler does not race instrument it. // The calls to RawSyscall are okay because they are assembly // functions that do not grow the stack. +// //go:norace func forkAndExecInChild(argv0 *byte, argv, envv []*byte, chroot, dir *byte, attr *ProcAttr, sys *SysProcAttr, pipe int) (pid int, err Errno) { // Declare all variables at top in case any diff --git a/libgo/go/syscall/exec_hurd.go b/libgo/go/syscall/exec_hurd.go index 06df513c55cb0..a62b3e920e698 100644 --- a/libgo/go/syscall/exec_hurd.go +++ b/libgo/go/syscall/exec_hurd.go @@ -49,6 +49,7 @@ func runtime_AfterForkInChild() // For the same reason compiler does not race instrument it. // The calls to RawSyscall are okay because they are assembly // functions that do not grow the stack. +// //go:norace func forkAndExecInChild(argv0 *byte, argv, envv []*byte, chroot, dir *byte, attr *ProcAttr, sys *SysProcAttr, pipe int) (pid int, err Errno) { // Declare all variables at top in case any diff --git a/libgo/go/syscall/exec_linux.go b/libgo/go/syscall/exec_linux.go index 86fb8e84a66af..77846af89e463 100644 --- a/libgo/go/syscall/exec_linux.go +++ b/libgo/go/syscall/exec_linux.go @@ -80,6 +80,7 @@ func runtime_AfterFork() func runtime_AfterForkInChild() // Implemented in clone_linux.c +// //go:noescape func rawClone(flags _C_ulong, child_stack *byte, ptid *Pid_t, ctid *Pid_t, regs unsafe.Pointer) _C_long @@ -92,6 +93,7 @@ func rawClone(flags _C_ulong, child_stack *byte, ptid *Pid_t, ctid *Pid_t, regs // For the same reason compiler does not race instrument it. // The calls to RawSyscall are okay because they are assembly // functions that do not grow the stack. +// //go:norace func forkAndExecInChild(argv0 *byte, argv, envv []*byte, chroot, dir *byte, attr *ProcAttr, sys *SysProcAttr, pipe int) (pid int, err Errno) { // Set up and fork. This returns immediately in the parent or diff --git a/libgo/go/syscall/exec_stubs.go b/libgo/go/syscall/exec_stubs.go index c837cf7a4e2ff..ce28010a50669 100644 --- a/libgo/go/syscall/exec_stubs.go +++ b/libgo/go/syscall/exec_stubs.go @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. +//go:build rtems // +build rtems // Stubs for fork, exec and wait. diff --git a/libgo/go/syscall/libcall_aix.go b/libgo/go/syscall/libcall_aix.go index 92c7f3cc23234..bb5db6ce52579 100644 --- a/libgo/go/syscall/libcall_aix.go +++ b/libgo/go/syscall/libcall_aix.go @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. +//go:build aix // +build aix package syscall @@ -95,6 +96,7 @@ func PtraceDetach(pid int) (err error) { return ptrace64(_PT_DETACH, int64(pid), //sys reboot(how int) (err error) //__linux_reboot(how _C_int) _C_int + func Reboot(how int) (err error) { return reboot(how) } diff --git a/libgo/go/syscall/libcall_bsd.go b/libgo/go/syscall/libcall_bsd.go index 1dd957c4531ec..5bd8e618dc2c6 100644 --- a/libgo/go/syscall/libcall_bsd.go +++ b/libgo/go/syscall/libcall_bsd.go @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. +//go:build darwin || dragonfly || freebsd || netbsd || openbsd // +build darwin dragonfly freebsd netbsd openbsd // BSD library calls. @@ -53,6 +54,7 @@ func Accept4(fd, flags int) (nfd int, sa Sockaddr, err error) { //sysnb pipe2(p *[2]_C_int, flags int) (err error) //pipe2(p *[2]_C_int, flags _C_int) _C_int + func Pipe2(p []int, flags int) (err error) { if len(p) != 2 { return EINVAL diff --git a/libgo/go/syscall/libcall_bsd_largefile.go b/libgo/go/syscall/libcall_bsd_largefile.go index c6a336cf78259..4271f228c422b 100644 --- a/libgo/go/syscall/libcall_bsd_largefile.go +++ b/libgo/go/syscall/libcall_bsd_largefile.go @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. +//go:build (solaris && 386) || (solaris && sparc) // +build solaris,386 solaris,sparc package syscall diff --git a/libgo/go/syscall/libcall_bsd_regfile.go b/libgo/go/syscall/libcall_bsd_regfile.go index 0b9d01f2fcf50..4f8656303c31b 100644 --- a/libgo/go/syscall/libcall_bsd_regfile.go +++ b/libgo/go/syscall/libcall_bsd_regfile.go @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. +//go:build darwin || dragonfly || freebsd || openbsd || (solaris && amd64) || (solaris && sparc64) // +build darwin dragonfly freebsd openbsd solaris,amd64 solaris,sparc64 package syscall diff --git a/libgo/go/syscall/libcall_bsd_sendfile.go b/libgo/go/syscall/libcall_bsd_sendfile.go index 295a1f489697d..8d4363998add8 100644 --- a/libgo/go/syscall/libcall_bsd_sendfile.go +++ b/libgo/go/syscall/libcall_bsd_sendfile.go @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. +//go:build darwin || dragonfly || freebsd || openbsd || solaris // +build darwin dragonfly freebsd openbsd solaris // BSD sendfile support. diff --git a/libgo/go/syscall/libcall_glibc.go b/libgo/go/syscall/libcall_glibc.go index f021123905100..5c1ec483c759f 100644 --- a/libgo/go/syscall/libcall_glibc.go +++ b/libgo/go/syscall/libcall_glibc.go @@ -20,6 +20,7 @@ import ( //sys futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) //futimesat(dirfd _C_int, path *byte, times *[2]Timeval) _C_int + func Futimesat(dirfd int, path string, tv []Timeval) (err error) { if len(tv) != 2 { return EINVAL @@ -100,6 +101,7 @@ func ReadDirent(fd int, buf []byte) (n int, err error) { //sysnb pipe2(p *[2]_C_int, flags int) (err error) //pipe2(p *[2]_C_int, flags _C_int) _C_int + func Pipe2(p []int, flags int) (err error) { if len(p) != 2 { return EINVAL @@ -113,6 +115,7 @@ func Pipe2(p []int, flags int) (err error) { //sys sendfile(outfd int, infd int, offset *Offset_t, count int) (written int, err error) //sendfile64(outfd _C_int, infd _C_int, offset *Offset_t, count Size_t) Ssize_t + func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { if race.Enabled { race.ReleaseMerge(unsafe.Pointer(&ioSync)) diff --git a/libgo/go/syscall/libcall_irix.go b/libgo/go/syscall/libcall_irix.go index 98807668d5275..a29ddf57a682b 100644 --- a/libgo/go/syscall/libcall_irix.go +++ b/libgo/go/syscall/libcall_irix.go @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. +//go:build irix // +build irix package syscall diff --git a/libgo/go/syscall/libcall_linux.go b/libgo/go/syscall/libcall_linux.go index 96974bd3269aa..7bec2fbaeb503 100644 --- a/libgo/go/syscall/libcall_linux.go +++ b/libgo/go/syscall/libcall_linux.go @@ -146,6 +146,7 @@ func PtraceDetach(pid int) (err error) { return ptrace(PTRACE_DETACH, pid, 0, 0) //sys reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) //reboot(magic1 _C_uint, magic2 _C_uint, cmd _C_int, arg *byte) _C_int + func Reboot(cmd int) (err error) { return reboot(LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, cmd, "") } @@ -211,6 +212,7 @@ func Gettid() (tid int) { //sys splice(rfd int, roff *_loff_t, wfd int, woff *_loff_t, len int, flags int) (n int64, err error) //splice(rfd _C_int, roff *_loff_t, wfd _C_int, woff *_loff_t, len Size_t, flags _C_uint) Ssize_t + func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { var lroff _loff_t var plroff *_loff_t diff --git a/libgo/go/syscall/libcall_linux_utimesnano.go b/libgo/go/syscall/libcall_linux_utimesnano.go index 582833812f6a3..b5c2f58624bf4 100644 --- a/libgo/go/syscall/libcall_linux_utimesnano.go +++ b/libgo/go/syscall/libcall_linux_utimesnano.go @@ -13,6 +13,7 @@ import "unsafe" //sys utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) //utimensat(dirfd _C_int, path *byte, times *[2]Timespec, flags _C_int) _C_int + func UtimesNano(path string, ts []Timespec) (err error) { if len(ts) != 2 { return EINVAL diff --git a/libgo/go/syscall/libcall_posix.go b/libgo/go/syscall/libcall_posix.go index f37457a10224d..f8175e1b0de1a 100644 --- a/libgo/go/syscall/libcall_posix.go +++ b/libgo/go/syscall/libcall_posix.go @@ -19,6 +19,7 @@ import "unsafe" //sysnb pipe(p *[2]_C_int) (err error) //pipe(p *[2]_C_int) _C_int + func Pipe(p []int) (err error) { if len(p) != 2 { return EINVAL @@ -32,6 +33,7 @@ func Pipe(p []int) (err error) { //sys utimes(path string, times *[2]Timeval) (err error) //utimes(path *byte, times *[2]Timeval) _C_int + func Utimes(path string, tv []Timeval) (err error) { if len(tv) != 2 { return EINVAL @@ -240,6 +242,7 @@ func FDZero(set *FdSet) { //sysnb gettimeofday(tv *Timeval, tz *byte) (err error) //gettimeofday(tv *Timeval, tz *byte) _C_int + func Gettimeofday(tv *Timeval) (err error) { return gettimeofday(tv, nil) } diff --git a/libgo/go/syscall/libcall_posix_largefile.go b/libgo/go/syscall/libcall_posix_largefile.go index bf0f9fe50b618..f90055bb29a0c 100644 --- a/libgo/go/syscall/libcall_posix_largefile.go +++ b/libgo/go/syscall/libcall_posix_largefile.go @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. +//go:build aix || hurd || linux || (solaris && 386) || (solaris && sparc) // +build aix hurd linux solaris,386 solaris,sparc // POSIX library calls on systems which use the largefile interface. diff --git a/libgo/go/syscall/libcall_posix_nonhurd.go b/libgo/go/syscall/libcall_posix_nonhurd.go index afdca3f2f490b..9c38f78f2f7c3 100644 --- a/libgo/go/syscall/libcall_posix_nonhurd.go +++ b/libgo/go/syscall/libcall_posix_nonhurd.go @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. +//go:build !hurd // +build !hurd package syscall diff --git a/libgo/go/syscall/libcall_posix_regfile.go b/libgo/go/syscall/libcall_posix_regfile.go index 8ff721341ba5a..f999bd773e253 100644 --- a/libgo/go/syscall/libcall_posix_regfile.go +++ b/libgo/go/syscall/libcall_posix_regfile.go @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. +//go:build !aix && !hurd && !linux && (!solaris || !386) && (!solaris || !sparc) // +build !aix // +build !hurd // +build !linux diff --git a/libgo/go/syscall/libcall_posix_utimesnano.go b/libgo/go/syscall/libcall_posix_utimesnano.go index 84ccbf106e8de..374ad93575496 100644 --- a/libgo/go/syscall/libcall_posix_utimesnano.go +++ b/libgo/go/syscall/libcall_posix_utimesnano.go @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. +//go:build aix || darwin || dragonfly || freebsd || hurd || openbsd || netbsd || solaris // +build aix darwin dragonfly freebsd hurd openbsd netbsd solaris // General POSIX version of UtimesNano. diff --git a/libgo/go/syscall/libcall_solaris_largefile.go b/libgo/go/syscall/libcall_solaris_largefile.go index 757b2293ce57e..1b1af088355f4 100644 --- a/libgo/go/syscall/libcall_solaris_largefile.go +++ b/libgo/go/syscall/libcall_solaris_largefile.go @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. +//go:build (solaris && 386) || (solaris && sparc) // +build solaris,386 solaris,sparc package syscall diff --git a/libgo/go/syscall/libcall_solaris_regfile.go b/libgo/go/syscall/libcall_solaris_regfile.go index fa5dd8c65a8e5..1ad7c7e8a0df9 100644 --- a/libgo/go/syscall/libcall_solaris_regfile.go +++ b/libgo/go/syscall/libcall_solaris_regfile.go @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. +//go:build (solaris && amd64) || (solaris && sparc64) // +build solaris,amd64 solaris,sparc64 package syscall diff --git a/libgo/go/syscall/libcall_uname.go b/libgo/go/syscall/libcall_uname.go index 165b3251b6e1f..133849f853466 100644 --- a/libgo/go/syscall/libcall_uname.go +++ b/libgo/go/syscall/libcall_uname.go @@ -4,6 +4,7 @@ // Build on all systems other than solaris/386. // 32-bit Solaris 2/x86 needs _nuname, handled in libcall_solaris_386.go. +//go:build !386 || !solaris // +build !386 !solaris package syscall diff --git a/libgo/go/syscall/libcall_wait4.go b/libgo/go/syscall/libcall_wait4.go index 00b6874d1ad7f..0fa6c5d73e726 100644 --- a/libgo/go/syscall/libcall_wait4.go +++ b/libgo/go/syscall/libcall_wait4.go @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. +//go:build !aix // +build !aix // For systems with the wait4 library call. diff --git a/libgo/go/syscall/sleep_rtems.go b/libgo/go/syscall/sleep_rtems.go index 480c77556540d..1300ccd5b09ee 100644 --- a/libgo/go/syscall/sleep_rtems.go +++ b/libgo/go/syscall/sleep_rtems.go @@ -4,6 +4,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. +//go:build rtems // +build rtems package syscall diff --git a/libgo/go/syscall/sleep_select.go b/libgo/go/syscall/sleep_select.go index bb1694fceec37..dd5d6775a2962 100644 --- a/libgo/go/syscall/sleep_select.go +++ b/libgo/go/syscall/sleep_select.go @@ -4,6 +4,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. +//go:build !rtems // +build !rtems package syscall diff --git a/libgo/go/syscall/socket_bsd.go b/libgo/go/syscall/socket_bsd.go index 983d554849b82..4dd203defe7b7 100644 --- a/libgo/go/syscall/socket_bsd.go +++ b/libgo/go/syscall/socket_bsd.go @@ -4,6 +4,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. +//go:build darwin || dragonfly || freebsd || openbsd || netbsd // +build darwin dragonfly freebsd openbsd netbsd package syscall diff --git a/libgo/go/syscall/socket_hurd.go b/libgo/go/syscall/socket_hurd.go index fcb239ef1caca..1005c762b8b38 100644 --- a/libgo/go/syscall/socket_hurd.go +++ b/libgo/go/syscall/socket_hurd.go @@ -6,6 +6,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. +//go:build hurd // +build hurd package syscall diff --git a/libgo/go/syscall/socket_irix.go b/libgo/go/syscall/socket_irix.go index dc50fdd24fa39..ec6616163c519 100644 --- a/libgo/go/syscall/socket_irix.go +++ b/libgo/go/syscall/socket_irix.go @@ -4,6 +4,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. +//go:build irix // +build irix package syscall diff --git a/libgo/go/syscall/socket_linux_ppc64x_type.go b/libgo/go/syscall/socket_linux_ppc64x_type.go index 96afdeb85fdf6..6fc75cbed408e 100644 --- a/libgo/go/syscall/socket_linux_ppc64x_type.go +++ b/libgo/go/syscall/socket_linux_ppc64x_type.go @@ -4,6 +4,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. +//go:build (linux && ppc64) || (linux && ppc64le) // +build linux,ppc64 linux,ppc64le package syscall diff --git a/libgo/go/syscall/socket_linux_type.go b/libgo/go/syscall/socket_linux_type.go index 190c11cc27037..af1e21831360b 100644 --- a/libgo/go/syscall/socket_linux_type.go +++ b/libgo/go/syscall/socket_linux_type.go @@ -4,9 +4,8 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build linux -// +build !ppc64 -// +build !ppc64le +//go:build linux && !ppc64 && !ppc64le +// +build linux,!ppc64,!ppc64le package syscall diff --git a/libgo/go/syscall/socket_posix.go b/libgo/go/syscall/socket_posix.go index fe835d3c43e40..27be890f4f1f5 100644 --- a/libgo/go/syscall/socket_posix.go +++ b/libgo/go/syscall/socket_posix.go @@ -4,6 +4,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. +//go:build !solaris // +build !solaris package syscall diff --git a/libgo/go/syscall/socket_xnet.go b/libgo/go/syscall/socket_xnet.go index c0699c44a8943..fe8088b950fff 100644 --- a/libgo/go/syscall/socket_xnet.go +++ b/libgo/go/syscall/socket_xnet.go @@ -5,6 +5,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. +//go:build solaris // +build solaris package syscall diff --git a/libgo/go/syscall/syscall.go b/libgo/go/syscall/syscall.go index fb41bcc9ce8fd..d84480d2e4e09 100644 --- a/libgo/go/syscall/syscall.go +++ b/libgo/go/syscall/syscall.go @@ -23,7 +23,6 @@ // That is also where updates required by new systems or versions // should be applied. See https://golang.org/s/go1.4-syscall for more // information. -// package syscall import "unsafe" diff --git a/libgo/go/syscall/syscall_errno.go b/libgo/go/syscall/syscall_errno.go index 4df198eb2e051..68fe49521a5e8 100644 --- a/libgo/go/syscall/syscall_errno.go +++ b/libgo/go/syscall/syscall_errno.go @@ -9,6 +9,7 @@ import "internal/oserror" // An Errno is an unsigned number describing an error condition. // It implements the error interface. The zero Errno is by convention // a non-error, so code to convert from Errno to error should use: +// // err = nil // if errno != 0 { // err = errno diff --git a/libgo/go/syscall/syscall_funcs.go b/libgo/go/syscall/syscall_funcs.go index 4b1ee3216685a..a906fa5a42e96 100644 --- a/libgo/go/syscall/syscall_funcs.go +++ b/libgo/go/syscall/syscall_funcs.go @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. +//go:build darwin || dragonfly || freebsd || hurd || linux || netbsd || openbsd || solaris // +build darwin dragonfly freebsd hurd linux netbsd openbsd solaris package syscall diff --git a/libgo/go/syscall/syscall_funcs_stubs.go b/libgo/go/syscall/syscall_funcs_stubs.go index c68ab267dd048..11f12bd9ae3c6 100644 --- a/libgo/go/syscall/syscall_funcs_stubs.go +++ b/libgo/go/syscall/syscall_funcs_stubs.go @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. +//go:build aix || rtems // +build aix rtems // These are stubs. diff --git a/libgo/go/syscall/syscall_glibc.go b/libgo/go/syscall/syscall_glibc.go index b40f297facb21..b524bdfc56979 100644 --- a/libgo/go/syscall/syscall_glibc.go +++ b/libgo/go/syscall/syscall_glibc.go @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. +//go:build hurd || linux // +build hurd linux package syscall diff --git a/libgo/go/syscall/syscall_js.go b/libgo/go/syscall/syscall_js.go index cd9549906360b..c9c65229804c5 100644 --- a/libgo/go/syscall/syscall_js.go +++ b/libgo/go/syscall/syscall_js.go @@ -41,6 +41,7 @@ const PathMax = 256 // An Errno is an unsigned number describing an error condition. // It implements the error interface. The zero Errno is by convention // a non-error, so code to convert from Errno to error should use: +// // err = nil // if errno != 0 { // err = errno diff --git a/libgo/go/syscall/syscall_linux.go b/libgo/go/syscall/syscall_linux.go index 3f3284543391a..bdf6135e09623 100644 --- a/libgo/go/syscall/syscall_linux.go +++ b/libgo/go/syscall/syscall_linux.go @@ -19,6 +19,7 @@ package syscall // AllThreadsSyscall is unaware of any threads that are launched // explicitly by cgo linked code, so the function always returns // ENOTSUP in binaries that use cgo. +// //go:uintptrescapes func AllThreadsSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno) { return minus1, minus1, ENOTSUP @@ -26,6 +27,7 @@ func AllThreadsSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno) { // AllThreadsSyscall6 is like AllThreadsSyscall, but extended to six // arguments. +// //go:uintptrescapes func AllThreadsSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno) { return minus1, minus1, ENOTSUP