[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Geoff's gmon_start fix to binutil works! (fwd)



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   |
|         dan@debian.org         |  |       dmj+@andrew.cmu.edu      |
\--------------------------------/  \--------------------------------/



Reply to: