Mail Archives: cygwin/2003/09/14/04:15:10
--- Charles Wilson <cygwin AT cwilson DOT fastmail DOT fm> 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.
>
> Right?
>
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
exceptions.
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
changed
Danny
> Chuck
>
>
>
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
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
- Raw text -