On Fri, 2009-10-30 at 12:48 +0100, Paolo Carlini wrote: > Hi, > > sorry if the issue is already well known, but it's so serious that I > decided to post an heads up: today (not yesterday), the ABI is broken, > the size of many symbols exported by libstdc++ changed, see eg: > > http://gcc.gnu.org/ml/gcc-testresults/2009-10/msg02895.html > http://gcc.gnu.org/ml/gcc-testresults/2009-10/msg02903.html > http://gcc.gnu.org/ml/gcc-testresults/2009-10/msg02904.html > > I'm adding below some of the many error messages spilled by abi_check. > > I *strongly* suspect: > > 2009-10-28 Jerry Quinn <jlqu...@optonline.net> > > * mangle.c (mangle_type_string_for_rtti): Revert r149964. > (needs_fake_anon): Likewise. > (write_name): Likewise. > (write_nested_name): Likewise. > * cp-tree.h (mangle_type_string_for_rtti): Likewise. > (get_anonymous_namespace): Likewise. > * name-lookup.c (get_anonymous_namespace_name): Likewise. > * rtti.c (tinfo_name): Insert '*' in front of private names. > (tinfo_base_init): Use it.
Hi, Paolo, I've reverted the patch. This was intended to fix the broken bootstrap under --enable-build-with-cxx. Currently anonymous namespaces get random names so successive builds of the compiler have different binaries when built with C++. The patch marked anonymous namespaces so they could be compared by pointer instead of string allowing removal of the random naming. Obviously a different strategy is needed. I missed the ABI breakage when testing. Sorry for the aggravation. Jerry