http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42734
--- Comment #38 from Jonathan Wakely <redi at gcc dot gnu.org> 2010-10-16 15:54:16 UTC --- I can confirm that this crash happens with GCC 4.4 when using -march=i386 But it isn't a problem with 4.5 and 4.6 because it fails to link $ ~/gcc/4.5/bin/g++ -std=c++0x t.cc -m32 -march=i386 -pthread /tmp/ccxpaful.o: In function `__gnu_cxx::__exchange_and_add(int volatile*, int)': t.cc:(.text+0x3c): undefined reference to `__sync_fetch_and_add_4' collect2: ld returned 1 exit status