Skip to content

Commit 23e9e0c

Browse files
committed
syscall: support ptrace on macOS/ARM64
Updates #38485. Change-Id: I853966d934a8ee05cf62c7321f3e6271811d47b1 Reviewed-on: https://go-review.googlesource.com/c/go/+/260718 Trust: Cherry Zhang <[email protected]> Run-TryBot: Cherry Zhang <[email protected]> TryBot-Result: Go Bot <[email protected]> Reviewed-by: Ian Lance Taylor <[email protected]>
1 parent 9e0837f commit 23e9e0c

File tree

3 files changed

+22
-10
lines changed

3 files changed

+22
-10
lines changed

src/syscall/syscall_darwin_arm64.go

+4-10
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@ package syscall
77
import "unsafe"
88

99
func setTimespec(sec, nsec int64) Timespec {
10-
return Timespec{Sec: int64(sec), Nsec: int64(nsec)}
10+
return Timespec{Sec: sec, Nsec: nsec}
1111
}
1212

1313
func setTimeval(sec, usec int64) Timeval {
14-
return Timeval{Sec: int64(sec), Usec: int32(usec)}
14+
return Timeval{Sec: sec, Usec: int32(usec)}
1515
}
1616

1717
//sys Fstat(fd int, stat *Stat_t) (err error)
@@ -20,14 +20,8 @@ func setTimeval(sec, usec int64) Timeval {
2020
//sys Lstat(path string, stat *Stat_t) (err error)
2121
//sys Stat(path string, stat *Stat_t) (err error)
2222
//sys Statfs(path string, stat *Statfs_t) (err error)
23-
//sys fstatat(fd int, path string, stat *Stat_t, flags int) (err error)
24-
25-
// Marked nosplit because it is called from forkAndExecInChild where
26-
// stack growth is forbidden.
27-
//go:nosplit
28-
func ptrace(request int, pid int, addr uintptr, data uintptr) error {
29-
return ENOTSUP
30-
}
23+
//sys fstatat(fd int, path string, stat *Stat_t, flags int) (err error)
24+
//sys ptrace(request int, pid int, addr uintptr, data uintptr) (err error)
3125

3226
func SetKevent(k *Kevent_t, fd, mode, flags int) {
3327
k.Ident = uint64(fd)

src/syscall/zsyscall_darwin_arm64.go

+16
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/syscall/zsyscall_darwin_arm64.s

+2
Original file line numberDiff line numberDiff line change
@@ -249,3 +249,5 @@ TEXT ·libc_statfs_trampoline(SB),NOSPLIT,$0-0
249249
JMP libc_statfs(SB)
250250
TEXT ·libc_fstatat_trampoline(SB),NOSPLIT,$0-0
251251
JMP libc_fstatat(SB)
252+
TEXT ·libc_ptrace_trampoline(SB),NOSPLIT,$0-0
253+
JMP libc_ptrace(SB)

0 commit comments

Comments
 (0)