http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42734
--- Comment #32 from Jonathan Wakely <redi at gcc dot gnu.org> 2010-10-15 19:37:46 UTC --- I'm not sure -march=i386 explains the original report, since the OP said his compiler command was: $ g++ -std=c++0x -pthread thread.cc -o thread Does the front-end disable the HAVE_SYNC_COMPARE_AND_SWAP macros if you compile with (implicit or explicit) march=i386 ? If not, the library will think it can use builtins which aren't available. I seem to recall known issues arising from mismatches in -march options used when building and using the library.