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



Reply via email to