I was testing my patch for 40219, and I rebuilt today's build on the Powerpc, and had the build fail in building libstdc++-v3. I backed out my change, and redid the build, and I get exactly the same failure:
/bin/sh ../libtool --tag CXX --mode=compile /home/meissner/fsf-build-ppc64/trunk/./gcc/xgcc -shared-libgcc -B/home/meissner/fsf-build-ppc64/trunk/./gcc -nostdinc++ -L/home/meissner/fsf-build-ppc64/trunk/powerpc64-unknown-linux-gnu/32/libstdc++-v3/src -L/home/meissner/fsf-build-ppc64/trunk/powerpc64-unknown-linux-gnu/32/libstdc++-v3/src/.libs -B/home/meissner/fsf-install-ppc64/trunk/powerpc64-unknown-linux-gnu/bin/ -B/home/meissner/fsf-install-ppc64/trunk/powerpc64-unknown-linux-gnu/lib/ -isystem /home/meissner/fsf-install-ppc64/trunk/powerpc64-unknown-linux-gnu/include -isystem /home/meissner/fsf-install-ppc64/trunk/powerpc64-unknown-linux-gnu/sys-include -m32 -fPIC -mstrict-align -I/home/meissner/fsf-build-ppc64/trunk/powerpc64-unknown-linux-gnu/32/libstdc++-v3/include/powerpc64-unknown-linux-gnu -I/home/meissner/fsf-build-ppc64/trunk/powerpc64-unknown-linux-gnu/32/libstdc++-v3/include -I/home/meissner/fsf-src/trunk/libstdc++-v3/libsupc++ -fno-implicit-templates -Wall -Wextra -Wwrite-strings -Wcast-qual -fdiagnostics-show-location=once -ffunction-sections -fdata-sections -g -O2 -D_GNU_SOURCE -std=gnu++0x -c /home/meissner/fsf-src/trunk/libstdc++-v3/src/mutex.cc libtool: compile: /home/meissner/fsf-build-ppc64/trunk/./gcc/xgcc -shared-libgcc -B/home/meissner/fsf-build-ppc64/trunk/./gcc -nostdinc++ -L/home/meissner/fsf-build-ppc64/trunk/powerpc64-unknown-linux-gnu/32/libstdc++-v3/src -L/home/meissner/fsf-build-ppc64/trunk/powerpc64-unknown-linux-gnu/32/libstdc++-v3/src/.libs -B/home/meissner/fsf-install-ppc64/trunk/powerpc64-unknown-linux-gnu/bin/ -B/home/meissner/fsf-install-ppc64/trunk/powerpc64-unknown-linux-gnu/lib/ -isystem /home/meissner/fsf-install-ppc64/trunk/powerpc64-unknown-linux-gnu/include -isystem /home/meissner/fsf-install-ppc64/trunk/powerpc64-unknown-linux-gnu/sys-include -m32 -fPIC -mstrict-align -I/home/meissner/fsf-build-ppc64/trunk/powerpc64-unknown-linux-gnu/32/libstdc++-v3/include/powerpc64-unknown-linux-gnu -I/home/meissner/fsf-build-ppc64/trunk/powerpc64-unknown-linux-gnu/32/libstdc++-v3/include -I/home/meissner/fsf-src/trunk/libstdc++-v3/libsupc++ -fno-implicit-templates -Wall -Wextra -Wwrite-strings -Wcast-qual -fdiagnostics-show-location=once -ffunction-sections -fdata-sections -g -O2 -D_GNU_SOURCE -std=gnu++0x -c /home/meissner/fsf-src/trunk/libstdc++-v3/src/mutex.cc -fPIC -DPIC -o .libs/mutex.o In file included from /home/meissner/fsf-build-ppc64/trunk/powerpc64-unknown-linux-gnu/32/libstdc++-v3/include/functional:70, from /home/meissner/fsf-build-ppc64/trunk/powerpc64-unknown-linux-gnu/32/libstdc++-v3/include/mutex:44, from /home/meissner/fsf-src/trunk/libstdc++-v3/src/mutex.cc:25: /home/meissner/fsf-build-ppc64/trunk/powerpc64-unknown-linux-gnu/32/libstdc++-v3/include/tr1_impl/functional: In copy constructor std::function<_Res(_ArgTypes ...)>::function(const std::function<_Res(_ArgTypes ...)>&) [with _Res = void, _ArgTypes = ]: /home/meissner/fsf-src/trunk/libstdc++-v3/src/mutex.cc:51: instantiated from here /home/meissner/fsf-build-ppc64/trunk/powerpc64-unknown-linux-gnu/32/libstdc++-v3/include/tr1_impl/functional:1992: error: could not convert __x to bool make: *** [mutex.lo] Error 1 Given where it occurs, I suspect it is due to this change: 2009-05-20 Benjamin Kosnik <b...@redhat.com> * include/tr1_impl/functional (function): Use explicit operator bool. -- Summary: Powerpc bootstrap is broken in building libstdc++ Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: major Priority: P3 Component: bootstrap AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: meissner at linux dot vnet dot ibm dot com GCC build triplet: powerpc64-unknown-linux-gnu GCC host triplet: powerpc64-unknown-linux-gnu GCC target triplet: powerpc64-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40221