Andy Scott wrote:

> Looking over the bugzilla data base and archives of this (and other)
> lists I was wondering about the level of support there is for GCC on
> Cygwin. (I realise that it is weird half-way house to many people and
> so does get a fair amount of "abuse" from both the Windoze &
> Linux/Un*x purist camps but I like it :-) )

Cygwin has been a secondary target for a number of years.  MinGW has
been a secondary target since 4.3.  This generally means that they
should be in fairly good shape, more or less.  To quote the docs:

> Our release criteria for the secondary platforms is:
> 
>     * The compiler bootstraps successfully, and the C++ runtime library 
> builds.
>     * The DejaGNU testsuite has been run, and a substantial majority of the 
> tests pass.

Generally the problem that the PE/COFF targets face is that because of
different semantics compared to ELF systems they often lag behind in
certain areas.  For example the lack of support for shared
libgcc/libstdc++/etc. has been a continual problem for a long time but
recent progress has moved things ahead somewhat.  Another long standing
issue is the desire to get away from SJLJ based exception handling and
move to table-based Dwarf unwinding for performance reasons, but this is
coupled with the need for working shared target libs.  But this is as
much a "system integration" problem as it is a gcc problem, as with any
large switch.

More recently I've seen Danny Smith report that the IRA merge broke
MinGW (and presumably Cygwin, since they share most of the same code)
bootstrap.  I haven't tested this myself recently so I don't know if
it's still broken or not.

The real heart of the matter though is that most of the people that
contribute to gcc aren't themselves users of these targets, and so it's
only natural that they don't know about or care about the status of any
target-specific issues.  What has worried me lately however is how much
ELF-specific design has been creeping into gcc, notably in the areas of
plugins and LTO.  If this trend continues it will result in the PECOFF
targets becoming even more of a backwater than they already are, which I
find to be a sad future for the 90%.

> Reason, I ask is I would like to start to contribute and for me Cygwin
> is the easiest target for me. But looking over things I'm not sure it
> would be the best place to start to help things out.

Well, you can certainly use Cygwin as a base for contributing, however,
unless you are doing target-specific work[1] it doesn't make a lot of
sense to do so.  Running the dejagnu testsuite on Cygwin is
excruciatingly slow due to the penalty incurred from emulating fork. 
Even with the overhead of vmware/colinux/virtualbox you're probably
looking at a reduction from 20-30 hours down to several hours for a full
testsuite run on an virtualized linux image compared to a native run
(depending on which languages are enabled.)

Brian

[1] And of course, don't get me wrong, that would be fantastic, as these
targets need all the TLC they can get.

Reply via email to