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