Library ABI seriously broken!!
Jerry Quinn
jlquinn@optonline.net
Fri Oct 30 13:09:00 GMT 2009
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 <jlquinn@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
More information about the Gcc
mailing list