[Bug go/92567] libgo regression in syscall test on ppc64le resulting in timeout due to hang in read

2020-09-17 Thread ian at airs dot com
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

2020-09-14 Thread murphyp at linux dot vnet.ibm.com
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

2020-09-14 Thread murphyp at linux dot vnet.ibm.com
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

2020-01-30 Thread marxin at gcc dot gnu.org
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