This is the mail archive of the
mailing list for the Cygwin project.
Re: Available for testing: gcc-3.3.1-1 and gcc-mingw-20030911-1
- From: Danny Smith <danny_r_smith_2001 at yahoo dot co dot nz>
- To: Charles Wilson <cygwin at cwilson dot fastmail dot fm>
- Cc: cygwin at cygwin dot com
- Date: Sun, 14 Sep 2003 18:14:50 +1000 (EST)
- Subject: Re: Available for testing: gcc-3.3.1-1 and gcc-mingw-20030911-1
--- Charles Wilson <firstname.lastname@example.org> wrote: > Danny Smith wrote:
> > gcc 3.2-3 used Dwarf2 exceptions, which worked most of the time. (In fact,
> > I don't recall any bug reports at all on cygwin list). But it didn't work
> > with w32api callbacks, nor with some combinations of compiler switches
> > (notably -mcpu=i586 or -mno-accumulate-outgoing-args and
> > -fomit-frame-pointer).
> > cygwin gcc-3.3.1 uses setjmp-longjmp exception mechanism,
> > mingw does too and has done since gcc-3.2.1.
> > The two undefined references are Dwarf2 specific. The corresponding
> > SjLj symbols are __gxx_personality_sj0 and __Unwind_SjLj_Resume.
> So, just to make sure I understand...
> This "problem" only affects C++ code -- and only C++ code which uses
> exceptions. If a C++ library uses exceptions, it should be recompiled
> with the new compiler. If a C++ _program_ uses excetions -- or uses a
> (C++) library which uses exceptions -- then it should be
> recompiled/relinked too, but only after the suspect lib has been
> recompiled with gcc-3.3.1, as well.
> But C code (libraries, apps, etc) are unaffected, and need no recompiling.
Ada, Java, ObjC are affected as well as C++. Also, note that any C++ code
that uses iostreams or STL will be using exceptions. Oh yes, and new/delete use
But garden variety C should not be affected.
Linking to w32api dll's certainly isn't affected.
FWIW, C++ optimisation is so much better with gcc-3.3 than with 3.2 it would
probably pay to recompile C++ libs anyway, even if the exception model hadn't
http://search.yahoo.com.au - Yahoo! Search
- Looking for more? Try the new Yahoo! Search
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html