http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51072
--- Comment #6 from joseph at codesourcery dot com <joseph at codesourcery dot com> 2011-11-10 17:43:30 UTC --- On Thu, 10 Nov 2011, rguenth at gcc dot gnu.org wrote: > Shouldn't libitm be built with the "stage1" g++ as it is a target library, > even with --disable-bootstrap? Yes, as I said in <http://gcc.gnu.org/ml/gcc-patches/2011-11/msg01382.html> building it with a pre-installed compiler is wrong. More precisely: target libraries should always be built with a compiler from the same sources as the source tree from which the library is being built, configured in the same way except possibly for the host. For a build with build == host, the compiler used should always be the newly built one from the same build. For a build with build != host - a Canadian cross build - the compiler used should be a previously built host-x-target compiler from the same sources and identically configured except for the host setting. (For Canadian cross builds it's better to use "make all-gcc" or "make all-host" etc., and copy the libraries from the host-x-target build - but if the libraries are being rebuilt then the host-x-target compiler is the one used.) The problem here is the wrong compiler being used for a host == build case.