http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51504
--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> 2011-12-23 22:09:10 UTC --- N.B. you don't have to rebuild the whole .so you can rebuild just thread.cc and link thread.o into your program. The dynamic linker will do symbol interposition and use the std::thread::_M_start_thread symbol from your program instead of the one from libstdc++.so