Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com To: cygwin AT cygwin DOT com From: "Mikael" Subject: Re: Cygwin with Gcc-3.2? Date: Mon, 25 Apr 2005 00:03:08 +0200 Lines: 43 Message-ID: References: <426C0E98 DOT D4DAC8 AT dessent DOT net> X-Complaints-To: usenet AT sea DOT gmane DOT org X-Gmane-NNTP-Posting-Host: 180.184.204.213.sol.worldonline.se X-Newsreader: Microsoft Outlook Express 6.00.2900.2527 X-RFC2646: Format=Flowed; Original X-IsSubscribed: yes "Brian Dessent" wrote: > 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. > . > > 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. Hmm, sorry for hi-jacking the thread, but that means if I use GCC 4.0.0 that I have compiled myself and I use the Win32 API I should have configured gcc with --enable-sjlj-exceptions in order to avoid problems, right? I didn't so I guess I have to re-compile. To the OP: Building your own version of GCC under Cygwin is easy (I've done so since the GCC 3.3.* days, can't speak for the earlier versions), you just have to be more careful about the configure options than I have been! / Mikael -- 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/