This is the mail archive of the
cygwin@cygwin.com
mailing list for the Cygwin project.
Re: Available for testing: gcc-3.3.1-1 and gcc-mingw-20030911-1
- From: "Gerrit P. Haase" <gp at familiehaase dot de>
- To: Rolf Campbell <Endlisnis at mailc dot net>
- Cc: "Gerrit @ cygwin" <cygwin at cygwin dot com>
- Date: Sun, 14 Sep 2003 08:48:43 +0200
- Subject: Re: Available for testing: gcc-3.3.1-1 and gcc-mingw-20030911-1
- Organization: Esse keine toten Tiere
- References: <20030913205923.16182.qmail@web21403.mail.yahoo.com><bk07vr$m0k$1@sea.gmane.org>
- Reply-to: "Gerrit @ cygwin" <cygwin at cygwin dot com>
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/