delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2003/09/14/04:15:10

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Message-ID: <20030914081450.27087.qmail@web21413.mail.yahoo.com>
Date: Sun, 14 Sep 2003 18:14:50 +1000 (EST)
From: =?iso-8859-1?q?Danny=20Smith?= <danny_r_smith_2001 AT yahoo DOT co DOT nz>
Subject: Re: Available for testing: gcc-3.3.1-1 and gcc-mingw-20030911-1
To: Charles Wilson <cygwin AT cwilson DOT fastmail DOT fm>
Cc: cygwin AT cygwin DOT com
In-Reply-To: <3F63F915.4090203@cwilson.fastmail.fm>
MIME-Version: 1.0

 --- 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 -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019