unix: add PtracePeekUser

Fixes golang/go#14459

Change-Id: I9809340141dd5704d5a32a079486a1f889725541
Reviewed-on: https://go-review.googlesource.com/38638
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
diff --git a/unix/syscall_linux.go b/unix/syscall_linux.go
index 1ff45e9..95fba4c 100644
--- a/unix/syscall_linux.go
+++ b/unix/syscall_linux.go
@@ -881,6 +881,10 @@
 	return ptracePeek(PTRACE_PEEKDATA, pid, addr, out)
 }
 
+func PtracePeekUser(pid int, addr uintptr, out []byte) (count int, err error) {
+	return ptracePeek(PTRACE_PEEKUSR, pid, addr, out)
+}
+
 func ptracePoke(pokeReq int, peekReq int, pid int, addr uintptr, data []byte) (count int, err error) {
 	// As for ptracePeek, we need to align our accesses to deal
 	// with the possibility of straddling an invalid page.