Somehow we still manage to break the bootstrap, even at the end of stage3: /files/pfeifer/OBJ-0902-2308/./gcc/xgcc -shared-libgcc -B/files/pfeifer/OBJ-0902-2308/./gcc -nostdinc++ -L/files/pfeifer/OBJ-0902-2308/i386-unknown-freebsd5.4/libstdc++-v3/src -L/files/pfeifer/OBJ-0902-2308/i386-unknown-freebsd5.4/libstdc++-v3/src/.libs -B/sw/gcc-current/i386-unknown-freebsd5.4/bin/ -B/sw/gcc-current/i386-unknown-freebsd5.4/lib/ -isystem /sw/gcc-current/i386-unknown-freebsd5.4/include -isystem /sw/gcc-current/i386-unknown-freebsd5.4/sys-include -I/files/pfeifer/OBJ-0902-2308/i386-unknown-freebsd5.4/libstdc++-v3/include/i386-unknown-freebsd5.4 -I/files/pfeifer/OBJ-0902-2308/i386-unknown-freebsd5.4/libstdc++-v3/include -I/sw/test/gcc/trunk/libstdc++-v3/libsupc++ -fno-implicit-templates -Wall -Wextra -Wwrite-strings -Wcast-qual -fdiagnostics-show-location=once -ffunction-sections -fdata-sections -g -O2 -c /sw/test/gcc/trunk/libstdc++-v3/src/mt_allocator.cc -fPIC -DPIC -o .libs/mt_allocator.o /sw/test/gcc/trunk/libstdc++-v3/src/mt_allocator.cc: In member function 'void __gnu_cxx::__pool<true>::_M_reclaim_block(char*, size_t)': /sw/test/gcc/trunk/libstdc++-v3/src/mt_allocator.cc:278: error: expected unqualified-id before '=' token /sw/test/gcc/trunk/libstdc++-v3/src/mt_allocator.cc:292: error: expected primary-expression before '__attribute__' /sw/test/gcc/trunk/libstdc++-v3/src/mt_allocator.cc:292: error: expected `)' before '__attribute__' /sw/test/gcc/trunk/libstdc++-v3/src/mt_allocator.cc:293: error: expected primary-expression before '__attribute__' /sw/test/gcc/trunk/libstdc++-v3/src/mt_allocator.cc:293: error: expected `;' before '__attribute__' gmake[4]: *** [mt_allocator.lo] Error 1 gmake[4]: Leaving directory `/files/pfeifer/OBJ-0902-2308/i386-unknown-freebsd5.4/libstdc++-v3/src' gmake[3]: *** [all-recursive] Error 1 gmake[3]: Leaving directory `/files/pfeifer/OBJ-0902-2308/i386-unknown-freebsd5.4/libstdc++-v3'
I don't see this on GNU/Linux, though, just FreeBSD 5.x. Timing (this started some 36 hours ago) and the position in the code indicate that this might be related to the following: 2006-09-02 Paolo Carlini <[EMAIL PROTECTED]> Richard Guenther <[EMAIL PROTECTED]> PR libstdc++/24469 * src/mt_allocator.cc (__pool<true>::_M_reserve_block, __pool<true>::_M_reclaim_block): Fix the logic to avoid races, exploit atomic counters stored in second part of the memory pointed by _M_used. (__pool<true>::_M_initialize): Adjust _M_used allocation. * include/ext/mt_allocator.h (__pool<true>::_Bin_record): Update comment. Gerald