On Sun, Oct 15, 2000 at 09:09:12PM +0200, Matthias Klose wrote: > In gcc-2.95.2-13 I reverted the CVS updates from 20000313 to 20000220, > because the resulting libstdc++ wasn't binary compatible (apt-get core > dumped). Since then I didn't check again. Anyway, I upload a -17 which > fixes two missing files in the -16 packages.
I just had a conversation with Franz Sirl about this issue. Apparently, it is not so much a binary compatibility issue as a bad bugfix in the vtable thunk code. He recommended something like this (there's equivalent blocks in gcc/config/linux.h and a few others): --- gcc/config/rs6000/linux.h 2000/04/12 06:53:25 1.16.4.2 +++ gcc/config/rs6000/linux.h 2000/10/14 18:56:37 @@ -69,7 +69,7 @@ Boston, MA 02111-1307, USA. */ #undef DEFAULT_VTABLE_THUNKS #ifndef USE_GNULIBC_1 -#define DEFAULT_VTABLE_THUNKS 2 +#define DEFAULT_VTABLE_THUNKS 1 #endif #undef JUMP_TABLES_IN_TEXT_SECTION It's been reported a couple of times now... apparently something in the bugfix gets badly miscompiled at -O2, producing a bad libstdc++. It seems that there are no binary compatibility issues between the two values, so we may want to look into this. To verify that the problem's gone away, run a C++ regression suite at -O2. Dan /--------------------------------\ /--------------------------------\ | Daniel Jacobowitz |__| SCS Class of 2002 | | Debian GNU/Linux Developer __ Carnegie Mellon University | | [EMAIL PROTECTED] | | [EMAIL PROTECTED] | \--------------------------------/ \--------------------------------/

