mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
syscall: restore nosplit for ptrace1 on Darwin
ptrace1 must be nosplit because it is called from forAndExecInChild. It was marked nosplit in the generated code but not in the generator. CL 313230 regenerated the code and lost the nosplit mark. This CL restores it. Change-Id: I4645d83650f1818bed3cb650328bba97074b6b2d Reviewed-on: https://go-review.googlesource.com/c/go/+/314249 Trust: Cherry Zhang <cherryyz@google.com> Reviewed-by: Michael Knyszek <mknyszek@google.com>
This commit is contained in:
parent
cde6a675bc
commit
222101549a
3 changed files with 3 additions and 1 deletions
|
|
@ -137,7 +137,7 @@ while(<>) {
|
|||
# without reading the header.
|
||||
$text .= "// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\n";
|
||||
|
||||
if (($darwin || ($openbsd && $libc)) && $func eq "ptrace") {
|
||||
if (($darwin && $func eq "ptrace1") || (($openbsd && $libc) && $func eq "ptrace")) {
|
||||
# The ptrace function is called from forkAndExecInChild where stack
|
||||
# growth is forbidden.
|
||||
$text .= "//go:nosplit\n"
|
||||
|
|
|
|||
|
|
@ -1972,6 +1972,7 @@ func libc_fstatat64_trampoline()
|
|||
|
||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||
|
||||
//go:nosplit
|
||||
func ptrace1(request int, pid int, addr uintptr, data uintptr) (err error) {
|
||||
_, _, e1 := syscall6(abi.FuncPCABI0(libc_ptrace_trampoline), uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)
|
||||
if e1 != 0 {
|
||||
|
|
|
|||
|
|
@ -1972,6 +1972,7 @@ func libc_fstatat_trampoline()
|
|||
|
||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||
|
||||
//go:nosplit
|
||||
func ptrace1(request int, pid int, addr uintptr, data uintptr) (err error) {
|
||||
_, _, e1 := syscall6(abi.FuncPCABI0(libc_ptrace_trampoline), uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)
|
||||
if e1 != 0 {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue