https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71541
--- Comment #6 from Hans Philipp Annen <gcc_bugzilla at haphi dot de> --- > -Wl,--whole-archive -lpthread -Wl,--no-whole-archive This did help. Without it, the destructor of condition_variable just jumps to nowhere: > Dump of assembler code for function _ZNSt18condition_variableD2Ev: > => 0x0000000000402ef0 <+0>: jmpq 0x0 > End of assembler dump. With -Wl,--whole-archive -lpthread: > Dump of assembler code for function _ZNSt18condition_variableD2Ev: > => 0x000000000040f240 <+0>: jmpq 0x407df0 <pthread_cond_destroy> > End of assembler dump.