http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53730
Richard Guenther <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |WAITING Last reconfirmed| |2012-06-20 Ever Confirmed|0 |1 --- Comment #1 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-06-20 12:13:03 UTC --- Using 4.7.1 (not that it should make any difference) and binutils with GNU ld 2.22 works for me g++ -pthread -m32 -O3 -g -march=core2 -rdynamic -static-libgcc -static-libstdc++ throw_test.cpp works for me g++ -pthread -m32 -O3 -flto -fuse-linker-plugin -g -march=core2 -rdynamic -static-libgcc -static-libstdc++ throw_test.cpp works for me g++ -pthread -m32 -O3 -flto -fuse-linker-plugin -g -march=core2 -rdynamic -static-libstdc++ throw_test.cpp works for me g++ -pthread -m32 -O3 -flto -fuse-linker-plugin -g -march=core2 -rdynamic -static-libgcc throw_test.cpp Note that I am using glibc 2.14.1. Can you check whether linking with GNU ld solves the issue for you?