https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64005

--- Comment #2 from Uroš Bizjak <ubizjak at gmail dot com> ---
When tracing the execution after the pool_test.go:81 breakpoint, the difference
between alphaev68-linux-gnu vs and x86_64-linux-gnu starts at the end of:

runfinq (dummy=<optimized out>) at
/home/uros/gcc-svn/trunk/libgo/runtime/mgc0.c:2514

where x86_64-linux-gnu immediately triggers the breakpoint after the call to
runtime_gc(1):

 2558                    runtime_gc(1);  // trigger another gc to clean up the
finalized objects, if possible
(gdb) n
[New Thread 0x7fffdafe4700 (LWP 2053)]

Breakpoint 1, sync_test.$nested23 (vv=<optimized out>) at pool_test.go:81
81                              atomic.AddUint32(&fin, 1)
(gdb)

but alphaev68-linux-gnu does not:

2558                    runtime_gc(1);  // trigger another gc to clean up the
finalized objects, if possible
(gdb) n
[New Thread 0x20003c751e0 (LWP 11011)]
--- FAIL: TestPoolGC (49.41 seconds)
        testing.go:253: only 1 out of 100 resources are finalized

Reply via email to