aboutsummaryrefslogtreecommitdiff
path: root/src/syscall
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2020-12-22 16:54:51 -0500
committerRuss Cox <rsc@golang.org>2020-12-22 16:55:15 -0500
commitec741b04470cda8df5902f1d8d84ab15cb2c8b8b (patch)
tree06682f85c7951b2a94423c01ea6008af4d558053 /src/syscall
parentacc32ea124957ad4b097186fb2f6da8122a9a5d1 (diff)
parentc9fb4eb0a22131cc9922fa96afba01d4e21d4fd4 (diff)
downloadgo-ec741b04470cda8df5902f1d8d84ab15cb2c8b8b.tar.xz
[dev.regabi] all: merge master (c9fb4eb) into dev.regabi
Merge List: * 2020-12-22 c9fb4eb0a2 cmd/link: handle grouped resource sections * 2020-12-22 c06a354bcc test: trigger SIGSEGV instead of SIGTRAP in issue11656.go * 2020-12-22 0aa9b4709a cmd/pack: r command create output file if not exist * 2020-12-22 4d27c4c223 runtime: correct error handling in several FreeBSD syscall wrappers * 2020-12-22 9b6147120a cmd/pack: treat compiler's -linkobj output as "compiler object" * 2020-12-21 bc7e4d9257 syscall: don't generate ptrace on iOS * 2020-12-21 6cff874c47 runtime/metrics: add Read examples * 2020-12-21 8438a5779b runtime: use _exit on darwin * 2020-12-21 cb95819cf6 runtime: detect netbsd netpoll overrun in sysmon * 2020-12-21 53c984d976 runtime: skip wakep call in wakeNetPoller on Plan 9 * 2020-12-21 9abbe27710 test: skip issue11656.go on mips/mips64/ppc64 Change-Id: Ibb235fbf6a86ebcf50c686dc11f7c02d1865f845
Diffstat (limited to 'src/syscall')
-rwxr-xr-xsrc/syscall/mksyscall.pl2
-rw-r--r--src/syscall/ptrace_darwin.go14
-rw-r--r--src/syscall/ptrace_ios.go12
-rw-r--r--src/syscall/syscall_darwin_amd64.go2
-rw-r--r--src/syscall/syscall_darwin_arm64.go2
-rw-r--r--src/syscall/zsyscall_darwin_amd64.go2
-rw-r--r--src/syscall/zsyscall_darwin_arm64.go2
7 files changed, 31 insertions, 5 deletions
diff --git a/src/syscall/mksyscall.pl b/src/syscall/mksyscall.pl
index 790df3825b..26c93ffe5b 100755
--- a/src/syscall/mksyscall.pl
+++ b/src/syscall/mksyscall.pl
@@ -125,7 +125,7 @@ while(<>) {
# without reading the header.
$text .= "// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\n";
- if ($darwin && $func eq "ptrace") {
+ if ($darwin && $func eq "ptrace1") {
# The ptrace function is called from forkAndExecInChild where stack
# growth is forbidden.
$text .= "//go:nosplit\n"
diff --git a/src/syscall/ptrace_darwin.go b/src/syscall/ptrace_darwin.go
new file mode 100644
index 0000000000..a873d826b8
--- /dev/null
+++ b/src/syscall/ptrace_darwin.go
@@ -0,0 +1,14 @@
+// Copyright 2020 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.
+
+// +build !ios
+
+package syscall
+
+// Nosplit because it is called from forkAndExecInChild.
+//
+//go:nosplit
+func ptrace(request int, pid int, addr uintptr, data uintptr) error {
+ return ptrace1(request, pid, addr, data)
+}
diff --git a/src/syscall/ptrace_ios.go b/src/syscall/ptrace_ios.go
new file mode 100644
index 0000000000..2f61a88a08
--- /dev/null
+++ b/src/syscall/ptrace_ios.go
@@ -0,0 +1,12 @@
+// Copyright 2020 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package syscall
+
+// Nosplit because it is called from forkAndExecInChild.
+//
+//go:nosplit
+func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {
+ panic("unimplemented")
+}
diff --git a/src/syscall/syscall_darwin_amd64.go b/src/syscall/syscall_darwin_amd64.go
index 96fadf7837..687efff770 100644
--- a/src/syscall/syscall_darwin_amd64.go
+++ b/src/syscall/syscall_darwin_amd64.go
@@ -21,7 +21,7 @@ func setTimeval(sec, usec int64) Timeval {
//sys Stat(path string, stat *Stat_t) (err error) = SYS_stat64
//sys Statfs(path string, stat *Statfs_t) (err error) = SYS_statfs64
//sys fstatat(fd int, path string, stat *Stat_t, flags int) (err error) = SYS_fstatat64
-//sys ptrace(request int, pid int, addr uintptr, data uintptr) (err error)
+//sys ptrace1(request int, pid int, addr uintptr, data uintptr) (err error) = SYS_ptrace
func SetKevent(k *Kevent_t, fd, mode, flags int) {
k.Ident = uint64(fd)
diff --git a/src/syscall/syscall_darwin_arm64.go b/src/syscall/syscall_darwin_arm64.go
index d267a4ae6e..ab57117475 100644
--- a/src/syscall/syscall_darwin_arm64.go
+++ b/src/syscall/syscall_darwin_arm64.go
@@ -21,7 +21,7 @@ func setTimeval(sec, usec int64) Timeval {
//sys Stat(path string, stat *Stat_t) (err error)
//sys Statfs(path string, stat *Statfs_t) (err error)
//sys fstatat(fd int, path string, stat *Stat_t, flags int) (err error)
-//sys ptrace(request int, pid int, addr uintptr, data uintptr) (err error)
+//sys ptrace1(request int, pid int, addr uintptr, data uintptr) (err error) = SYS_ptrace
func SetKevent(k *Kevent_t, fd, mode, flags int) {
k.Ident = uint64(fd)
diff --git a/src/syscall/zsyscall_darwin_amd64.go b/src/syscall/zsyscall_darwin_amd64.go
index ee726fb24d..4f2cdf861e 100644
--- a/src/syscall/zsyscall_darwin_amd64.go
+++ b/src/syscall/zsyscall_darwin_amd64.go
@@ -1971,7 +1971,7 @@ func libc_fstatat64_trampoline()
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
//go:nosplit
-func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {
+func ptrace1(request int, pid int, addr uintptr, data uintptr) (err error) {
_, _, e1 := syscall6(funcPC(libc_ptrace_trampoline), uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)
if e1 != 0 {
err = errnoErr(e1)
diff --git a/src/syscall/zsyscall_darwin_arm64.go b/src/syscall/zsyscall_darwin_arm64.go
index ac530f3108..0d8598d816 100644
--- a/src/syscall/zsyscall_darwin_arm64.go
+++ b/src/syscall/zsyscall_darwin_arm64.go
@@ -1971,7 +1971,7 @@ func libc_fstatat_trampoline()
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
//go:nosplit
-func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {
+func ptrace1(request int, pid int, addr uintptr, data uintptr) (err error) {
_, _, e1 := syscall6(funcPC(libc_ptrace_trampoline), uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)
if e1 != 0 {
err = errnoErr(e1)