C++ exception problems in mingw cross compiler

Toralf Lund toralf@procaptura.com
Tue Sep 19 11:17:00 GMT 2006


Toralf Lund wrote:
>
>>> After testing some more, I've concluded that the problem only occurs
>>> when the application (or possibly another DLL) tries to catch an
>>> exception thrown by a DLL. [ ... ]
>>>     
>>
>> The mingw gcc sources contain patches to fix this and other things.  If
>> you are using vanilla FSF sources then you are probably lacking them. 
>> Try building your toolchain with the gcc sources from mingw.org, as
>> exceptions across DLLs should work fine (assuming you are using SJLJ and
>> not DW2 -- if that is the case all bets are off as to things working.)
>>   
> Right. What did not seem clear after in the discussions about this 
> problem, was whether I needed a patch or just special build options, 
> or both... Thanks for clarifying.
>
> I'm still not 100% happy, though (some people are just never satisfied 
> ;-/), as I'd very much prefer to have patches as, well, just patches - 
> instead of updated source trees.
Actually, I think I found a patch. Not for the latest release, but for 
gcc 3.4.2: 
http://surfnet.dl.sourceforge.net/sourceforge/mingw/gcc-3.4.2-20040916-1-src.diff.gz

Unfortunately, I don't quite get a working setup with this, as the SJLJ 
exception code isn't correctly built. The problem appears to be that 
certain routines are compiled only if "__USING_SJLJ_EXCEPTIONS__" is 
set, which it isn't. And I can't figure out how it's supposed to get 
defined. "configure" does not define this macro - only (optionally) 
"CONFIG_SJLJ_EXCEPTIONS". (*Sigh*. Is it really necessary to make the 
build setup so complex?)

Help?

- Toralf




--
For unsubscribe information see http://sourceware.org/lists.html#faq



More information about the crossgcc mailing list