aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Chigot <clement.chigot@atos.net>2020-09-23 16:08:21 +0200
committerIan Lance Taylor <iant@golang.org>2020-09-24 11:31:12 -0700
commit1b8a23fc97de65f3188d0cdd5bfb56060defa84c (patch)
tree6ce3d311417590dc513688931ca350e3873f26be
parentc1fc9f6e10e646f01194c8f150affbc1cfbc404a (diff)
downloadgcc-1b8a23fc97de65f3188d0cdd5bfb56060defa84c.zip
gcc-1b8a23fc97de65f3188d0cdd5bfb56060defa84c.tar.gz
gcc-1b8a23fc97de65f3188d0cdd5bfb56060defa84c.tar.bz2
runtime: remove __go_ptrace on AIX
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
-rw-r--r--gcc/go/gofrontend/MERGE2
-rw-r--r--libgo/runtime/go-varargs.c4
2 files changed, 4 insertions, 2 deletions
diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE
index f51dac5..daa0d2d 100644
--- a/gcc/go/gofrontend/MERGE
+++ b/gcc/go/gofrontend/MERGE
@@ -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.
diff --git a/libgo/runtime/go-varargs.c b/libgo/runtime/go-varargs.c
index f9270a9..9cb4a7e 100644
--- a/libgo/runtime/go-varargs.c
+++ b/libgo/runtime/go-varargs.c
@@ -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.