This is the mail archive of the mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: src/winsup Makefile.common ChangeLog

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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]