aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/go/gofrontend/MERGE2
-rw-r--r--libgo/go/syscall/dir_plan9.go1
-rw-r--r--libgo/go/syscall/errstr.go4
-rw-r--r--libgo/go/syscall/errstr_glibc.go1
-rw-r--r--libgo/go/syscall/exec_bsd.go1
-rw-r--r--libgo/go/syscall/exec_freebsd.go1
-rw-r--r--libgo/go/syscall/exec_hurd.go1
-rw-r--r--libgo/go/syscall/exec_linux.go2
-rw-r--r--libgo/go/syscall/exec_stubs.go1
-rw-r--r--libgo/go/syscall/libcall_aix.go2
-rw-r--r--libgo/go/syscall/libcall_bsd.go2
-rw-r--r--libgo/go/syscall/libcall_bsd_largefile.go1
-rw-r--r--libgo/go/syscall/libcall_bsd_regfile.go1
-rw-r--r--libgo/go/syscall/libcall_bsd_sendfile.go1
-rw-r--r--libgo/go/syscall/libcall_glibc.go3
-rw-r--r--libgo/go/syscall/libcall_irix.go1
-rw-r--r--libgo/go/syscall/libcall_linux.go2
-rw-r--r--libgo/go/syscall/libcall_linux_utimesnano.go1
-rw-r--r--libgo/go/syscall/libcall_posix.go3
-rw-r--r--libgo/go/syscall/libcall_posix_largefile.go1
-rw-r--r--libgo/go/syscall/libcall_posix_nonhurd.go1
-rw-r--r--libgo/go/syscall/libcall_posix_regfile.go1
-rw-r--r--libgo/go/syscall/libcall_posix_utimesnano.go1
-rw-r--r--libgo/go/syscall/libcall_solaris_largefile.go1
-rw-r--r--libgo/go/syscall/libcall_solaris_regfile.go1
-rw-r--r--libgo/go/syscall/libcall_uname.go1
-rw-r--r--libgo/go/syscall/libcall_wait4.go1
-rw-r--r--libgo/go/syscall/sleep_rtems.go1
-rw-r--r--libgo/go/syscall/sleep_select.go1
-rw-r--r--libgo/go/syscall/socket_bsd.go1
-rw-r--r--libgo/go/syscall/socket_hurd.go1
-rw-r--r--libgo/go/syscall/socket_irix.go1
-rw-r--r--libgo/go/syscall/socket_linux_ppc64x_type.go1
-rw-r--r--libgo/go/syscall/socket_linux_type.go5
-rw-r--r--libgo/go/syscall/socket_posix.go1
-rw-r--r--libgo/go/syscall/socket_xnet.go1
-rw-r--r--libgo/go/syscall/syscall.go1
-rw-r--r--libgo/go/syscall/syscall_errno.go1
-rw-r--r--libgo/go/syscall/syscall_funcs.go1
-rw-r--r--libgo/go/syscall/syscall_funcs_stubs.go1
-rw-r--r--libgo/go/syscall/syscall_glibc.go1
-rw-r--r--libgo/go/syscall/syscall_js.go1
-rw-r--r--libgo/go/syscall/syscall_linux.go2
43 files changed, 53 insertions, 7 deletions
diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE
index 2cf7141..aeada9f 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 4ed052d..1667cbc 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 6c2441d..59f7a82 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 5b19e6f..03a327d 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 86e513e..e631593 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 f02f89d..8e8ecb7 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 06df513..a62b3e9 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 86fb8e8..77846af 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 c837cf7..ce28010 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 92c7f3c..bb5db6c 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 1dd957c..5bd8e61 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 c6a336c..4271f22 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 0b9d01f..4f86563 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 295a1f4..8d43639 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 f021123..5c1ec48 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 9880766..a29ddf5 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 96974bd..7bec2fb 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 5828338..b5c2f58 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 f37457a..f8175e1 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 bf0f9fe..f90055b 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 afdca3f..9c38f78 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 8ff7213..f999bd7 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 84ccbf1..374ad93 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 757b229..1b1af08 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 fa5dd8c..1ad7c7e 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 165b3251..133849f 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 00b6874..0fa6c5d 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 480c775..1300ccd 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 bb1694f..dd5d677 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 983d554..4dd203d 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 fcb239e..1005c76 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 dc50fdd..ec66161 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 96afdeb..6fc75cb 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 190c11c..af1e218 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 fe835d3..27be890 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 c0699c4..fe8088b 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 fb41bcc..d84480d 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 4df198e..68fe495 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 4b1ee32..a906fa5 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 c68ab26..11f12bd 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 b40f297..b524bdf 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 cd95499..c9c6522 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 3f32845..bdf6135 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