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