[CVS gcc toplevel patch] v2 + v3, --enable-libstdcxx-v3

Jason Merrill jason@cygnus.com
Thu Apr 6 13:43:00 GMT 2000


>>>>> Martin v Loewis <martin@loewis.home.cs.tu-berlin.de> writes:

 > Also, there is the libio problem that the new ABI is incompatible with
 > Linux glibc/libio. I don't know whether this has been resolved, yet.

What are the incompatibilities?  I think that the C libio only depends on
there being two dummy slots at the beginning of the streambuf vtable.  We
could work around this by adding two dummy virtual functions to streambuf.

Ah, it also depends on the streambuf vptr following the data for
_IO_FILE.  That'll be harder to deal with; I don't think there's any way to
force a class to be laid out with a vptr, but without one at offset 0.  I
suppose we could do something like

class foo {
  virtual void dummy();
};

class streambuf: private foo, public _IO_FILE, public streambuf_impl

So it would have two vptrs, including one in the expected place...but
that's pretty nasty.

Jason


More information about the Libstdc++ mailing list