Subject: Re: Available for testing: gcc-3.3.1-1 and gcc-mingw-20030911-1
From: "Gerrit P. Haase" <[email-masked]>
To: Rolf Campbell <[email-masked]>
Cc: "Gerrit @ cygwin" <[email-masked]>
Date: Sun, 14 Sep 2003 08:48:43 +0200

Hallo Rolf,

Am Sonntag, 14. September 2003 um 01:07 schriebst du:

> Danny Smith wrote:
>> On Sat, Sep 13, 2003 at 12:43:38PM -0400, Rolf Campbell wrote:
>>>Christopher Faylor wrote:
>>>>On Sat, Sep 13, 2003 at 12:20:39PM -0400, Rolf Campbell wrote:
>>>>>Is this new gcc supposed to be ABI compatible with 3.2.x?  Because I 
>>>>>can't link in libraries compiled with an older version of cygwin g++.
>>>>>
>>>>>/c/temp/cppunit-1.8.0/src/cppunit/TestSucessListener.cpp: undefined 
>>>>>reference to `___gxx_personality_v0'
>>>>>/c/temp/cppunit-1.8.0/src/cppunit/../../include/cppunit/TestListener.h:33: 
>>>>>undefined reference to `__Unwind_Resume'
>> 
>> 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.
>> 
>> Danny
> Ok, are there command-line switches to change the exception mechanism 
> used?  I would like to be able to use cygwin gcc 3.2 to build libraries 
> that work with cygwin gcc 3.3.

It is a build time issue.  You use --disable-sjlj-exceptions or not
to configure gcc, should be compatible when using it (with the caveats
mentioned above).  IIRC dwarf2 and sjlj exceptions are exclusive.

Gerrit
-- 
=^..^=

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