diff options
author | Paul E. Murphy <murp@ibm.com> | 2020-09-15 14:18:28 -0500 |
---|---|---|
committer | Ian Lance Taylor <iant@golang.org> | 2020-09-17 12:14:09 -0700 |
commit | c560591408440f441b8b327f5b41f9328d20b67b (patch) | |
tree | ac39d36225e7d451ca671154c9f424259b3c8702 /gcc/go | |
parent | 4839de55e2c98619f4919254abb87e2f393aaead (diff) | |
download | gcc-c560591408440f441b8b327f5b41f9328d20b67b.zip gcc-c560591408440f441b8b327f5b41f9328d20b67b.tar.gz gcc-c560591408440f441b8b327f5b41f9328d20b67b.tar.bz2 |
libgo: fix ptrace syscall hooks into glibc
ptrace is actually declared as a variadic function. On ppc64le
the ABI requires to the caller to allocate space for the parameters
and allows the caller to modify them.
On ppc64le, depending on how and what version of GCC is used,
it will save to parameter save area. This happened to clobber
a saved LR, and caused syscall.TestExecPtrace to fail with a timeout
when the tracee segfaults, and waits for the parent process to inspect.
Wrap this function to avoid directly calling glibc's ptrace from go.
Fixes golang/go#36698
Fixes go/92567
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/254755
Diffstat (limited to 'gcc/go')
-rw-r--r-- | gcc/go/gofrontend/MERGE | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE index df9d211..6b590f6 100644 --- a/gcc/go/gofrontend/MERGE +++ b/gcc/go/gofrontend/MERGE @@ -1,4 +1,4 @@ -a47485cd0e9ce6a8b3e88e53ccc0a440f0bd4351 +6fd6418efb983827717f648a11bb5ca6fe93af30 The first line of this file holds the git revision number of the last merge done from the gofrontend repository. |