Invalid code generated from release 1.1.1 and snapshot 19990228
Martin v. Loewis
martin@mira.isdn.cs.tu-berlin.de
Tue Mar 16 15:26:00 GMT 1999
> So setValue got a signature with an array of two instead
> of an array of three elements.
As explained in a private mail: This is a bug in c++filt. Since gcc
2.8 (or so), the constant in the array indicates the last index, i.e. one less than the number of elements.
> If you link against an object file or lib generated with
> e.g. g++ 2.7.2 the link fails since g++ generates the
> correct symbol.
So yes, g++ 2.7.2 and egcs are not binary compatible. This is
unfortunate, but you typically need to recompile everything if you
upgrade to a new major version of g++. Even more unfortunate, this
won't be the last time we have to break binary compatibility.
Regards,
Martin
More information about the Gcc-bugs
mailing list