"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. > <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.
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/