This is the mail archive of the cygwin-apps 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]
Other format: [Raw text]

Re: gcc 4.x for Cygwin?


Corinna Vinschen wrote:

> Did anything happen in the gcc 4.x world which would help us to get a
> gcc 4.x for Cygwin at one point?  Are some of the problems reported in
> http://sourceware.org/ml/cygwin-apps/2006-05/msg00044.html fixed in the
> meantime?

Mainline gcc still won't build shared target libraries on Win32, which
means exceptions across DLLs is still broken.  Grumble.  Danny's 4.2
MinGW test release has shared libgcc and shared libstdc++ but it was
done by hand by him, by some ugly kind of "extract objects from lib.a
and relink dll" thing.  It would be great to get this finally solved
upstream so we can stop suffering all the negative consequences that
static target libs bring -- static libgcj for example makes the Java
exceptions stuff really broken, from what I understand, making it nearly
unusable.

MinGW has it doubly bad here in that it's hard for them to make shared
libgcc default because everyone using MinGW is all about making
standalone binaries and hate having to distribute some libgcc_s.dll
file.  However for us, there is no good reason why we shouldn't make
shared {libgcc,libgfortran,libstdc++,libgomp} the default since we have
a packaging system.  This will make it a little easier since the specs
file is already designed to work this way, having e.g. a -static-libgcc
override for when you need it, but not the other way around.

I think it would be prudent just to ignore ada and java for the time
being; there's no reason for them to hold up C/C++/fortran.  Danny's
MinGW 4.2 preview omitted java but not ada.  They could be filled in
later, if for example somebody interested in shoring up upstream for
Win32 gets on the ball.

I believe that dllimport on forward declarations of classes has been
fixed; there was a major rewrite of the dllimport/export handling code.

The DW2/SJLJ thing still looms of course.  I'd be tempted to say we
switch to DW2 exception handling as default for all of Cygwin and then
think about providing a fallback/parallel installation sjlj package for
anyone doing Win32 GUI stuff.  This is kinda what Danny did as well.

The final (somewhat embarrassing) thing is that the last time I tried
building Cygwin itself with gcc 4.x it was impossible to get something
that didn't crash hard at startup due to aliasing booboos, even with
-fno-strict-aliasing.  But that may have changed, I haven't tried in a
long while.

Brian


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