Subject: Re: Cygwin with Gcc-3.2?
From: Brian Dessent <[email-masked]>
To: [email-masked]
Date: Sun, 24 Apr 2005 14:24:40 -0700

Reiner Suikat wrote:

> This may seem like an odd question: Where can I get a Cygwin distribution
> with gcc-3.2? The rason I am asking this:
> I am running octave, and all versions compiled with 3.3 are terribly slow,
> loop execution is more than 10 times slower than a very old Windows octave
> binary available from sourceforge. My question in the mailing list was
> answered with that the reason is something that changed from gcc-3.2 to 3.3
> and I should complain to the gcc people. They also pointed me to an
> available old distribution using gcc-3.2, but it lacks a lot of the
> packages.
> So, what options do I have to get a Cygwin with gcc-3.2?

The Cygwin package of gcc 3.2 used dwarf-2 exception handling, which is
much faster than setjump/longjump (sjlj).  However, the dwarf-2 EH does
not work when one uses it with the win32 api in the presence of callback
functions and stdcall calling conventions.  This caused problems for
mingw users.  So from 3.3.3 onward, the Cygwin gcc packages use sjlj. 
This is all covered in the archives, e.g.
<http://marc.theaimsgroup.com/?l=cygwin&m=110318987015944&w=2>.

For the purposes of octave, dwarf-2 EH would probably work since I doubt
it uses any win32 callbacks.  So, it's not the version of gcc that
matters, it's the options that it's configured for.  Rather than hunting
around for some antique gcc package, just get the source package for the
current gcc and rebuild it to not use sjlj.

Brian

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/