This is the mail archive of the
mailing list for the Cygwin project.
Re: src/winsup Makefile.common ChangeLog
On Wed, Feb 21, 2001 at 09:14:51PM -0600, Mumit Khan wrote:
> On Wed, 21 Feb 2001, Christopher Faylor wrote:
> > On Wed, Feb 21, 2001 at 07:01:11PM -0500, Earnie Boyd wrote:
> > >
> > >Are you positive about this patch? I thought that problems existed
> > >unless all libraries were compiled -fvtable-thunks.
> > Huh. I just asked Corinna to discuss this here to see if anyone had
> > any idea if this would cause problems. It sounds like it might be
> > a potential speedup for cygwin, though?
> Thunks allow *some* optimization, and makes the vtable layout compatible
> with MS COM objects, so it's a big plus. It's the default for Linux.
> However, there are a two primary considerations, and these are primarily
> why I resisted making it the default when it was discussed the last time
> (I believe just before gcc-2.95 was first released for Cygwin/Mingw):
> 1 Binary incompatibility: *everything* must be build accordingly.
> 2 There are bugs in vtable thunks implementation that causes trouble with
> certain types of multiple inheritance. I had to redesign some of our
> code so that it would work under Linux. It's supposedly fixed for
> gcc-2.95.3 (backported from the mainline). Fortunately, most user
> codes don't make extensive use of multiple inheritance, and it hasn't
> been that big of an issue.
> If you mix and match code compiled with -fvtable-thunks, it'll fail
> mysteriously, and a debugger won't help you there either. However, I
> don't know if building Cygwin with it will impact user code (it really
> shouldn't, but that's not based on hard evidence).
> I have not observed appreciable speedup with -fvtable-thunks except for
> some specific cases.
To short-circute any problems which could be related to using
`-fvtable-thunks' I have changed the new symlink code to use
the C interface to COM instead of the C++ interface.
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Developer mailto:firstname.lastname@example.org
Red Hat, Inc.