From 1b8a23fc97de65f3188d0cdd5bfb56060defa84c Mon Sep 17 00:00:00 2001 From: =?utf8?q?Cl=C3=A9ment=20Chigot?= Date: Wed, 23 Sep 2020 16:08:21 +0200 Subject: [PATCH] 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 --- gcc/go/gofrontend/MERGE | 2 +- libgo/runtime/go-varargs.c | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE index f51dac55365..daa0d2d6177 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 f9270a97bfd..9cb4a7e79bd 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. -- 2.30.2