runtime: remove __go_ptrace on AIX
authorClément Chigot <clement.chigot@atos.net>
Wed, 23 Sep 2020 14:08:21 +0000 (16:08 +0200)
committerIan Lance Taylor <iant@golang.org>
Thu, 24 Sep 2020 18:31:12 +0000 (11:31 -0700)
AIX ptrace syscalls doesn't have the same semantic than the glibc one.
The syscall package is already handling it correctly so disable the new
__go_ptrace C function for AIX.

Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/256777

gcc/go/gofrontend/MERGE
libgo/runtime/go-varargs.c

index f51dac553653144ccc07543643dded4c4e5858e0..daa0d2d617782a08a494b8d034b6a5476237b34a 100644 (file)
@@ -1,4 +1,4 @@
-6a7648c97c3e0cdbecbec7e760b30246521a6d90
+2357468ae9b071de0e2ebe6574d78572967b7183
 
 The first line of this file holds the git revision number of the last
 merge done from the gofrontend repository.
index f9270a97bfde1ce096ebae958bb9a12382dee70b..9cb4a7e79bd243a8076ddbb7c74df5536b814ad8 100644 (file)
@@ -114,7 +114,9 @@ __go_syscall6(uintptr_t flag, uintptr_t a1, uintptr_t a2, uintptr_t a3,
 
 #endif
 
-#ifdef HAVE_SYS_PTRACE_H
+// AIX ptrace is really different from Linux ptrace. Let syscall
+// package handles it.
+#if defined(HAVE_SYS_PTRACE_H) && !defined(_AIX)
 
 // Despite documented appearances, this is actually implemented as
 // a variadic function within glibc.