[Bug go/92567] libgo regression in syscall test on ppc64le resulting in timeout due to hang in read
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92567 Ian Lance Taylor changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED --- Comment #3 from Ian Lance Taylor --- Should be fixed by c560591408440f441b8b327f5b41f9328d20b67b.
[Bug go/92567] libgo regression in syscall test on ppc64le resulting in timeout due to hang in read
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92567 --- Comment #2 from Paul E. Murphy --- For clarity, the prototype of ptrace from glibc: extern long int ptrace (enum __ptrace_request __request, ...) __THROW;
[Bug go/92567] libgo regression in syscall test on ppc64le resulting in timeout due to hang in read
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92567 Paul E. Murphy changed: What|Removed |Added CC||murphyp at linux dot vnet.ibm.com --- Comment #1 from Paul E. Murphy --- So, this turns out to be an ABI violation of how ptrace() is called, and maybe a documentation bug. ptrace is actually implemented as a variadic function in glibc which takes exactly 4 arguments, and this is not clear from the documentation. The golang code does not seem to allocate the parameter save space required (2.2.2.3 of the ppc64 elfv2-1.4), and the space where golang saves the link register gets stomped, and the forked process faults waiting for the tracer. Newer versions of GCC seem to compile ptrace without needing to spill into the parameter save space, so in many cases this issue is invisible.
[Bug go/92567] libgo regression in syscall test on ppc64le resulting in timeout due to hang in read
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92567 Martin Liška changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed||2020-01-30 CC||marxin at gcc dot gnu.org Ever confirmed|0 |1