https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101749
--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> --- (In reply to Martin Liška from comment #6) > (In reply to Xi Ruoyao from comment #1) > > I guess it's fixed in trunk by something in > > 90e46074e6b3561ae7d8ebd205127f286cc0c6b6: > > Does it really fix the issue you see? I mean the unresolved references. It should. Before that change there is a block scope variable that needs initialization and so that it is initialized just once (by the first thread calling that function and other threads waiting until the initialization completes) in a thread-safe way, it uses __cxa_guard*. With the patch, there is no such variable, SIGSTKSZ * 4 is evaluated by each thread as many times as the function is called.