DWARF-2 vs SjLj exception handling - poco compilation problem mingw - fedora10
Richard W.M. Jones
rjones at redhat.com
Fri Nov 14 08:39:55 UTC 2008
On Fri, Nov 14, 2008 at 01:03:28AM +0100, Andrzej Horoszczak IDRA wrote:
> My problems is that other libraries (like boost) that have been used in
> my target application were unfortunately built with DW2 exception
> handling:
> c:\mingw\lib/libboost_filesystem.a(operations.o):operations.cpp:(.text
> 0x887): undefined reference to `__Unwind_Resume'
libboost_filesystem.a isn't a file that we ship. Our version of boost
has libboost_filesystem.dll.a and libboost_filesystem.dll, using SJLJ
unwinding:
$ i686-pc-mingw32-nm /usr/i686-pc-mingw32/sys-root/mingw/bin/libboost_filesystem.dll | grep -i unwind.*resume
10009d60 T __Unwind_SjLj_Resume
10009cb0 T __Unwind_SjLj_Resume_or_Rethrow
It seems that there isn't a stable C++ ABI on Windows, so if you mix
DLLs from different places you'll get unpredictable results.
Rich.
--
Richard Jones, Emerging Technologies, Red Hat http://et.redhat.com/~rjones
virt-p2v converts physical machines to virtual machines. Boot with a
live CD or over the network (PXE) and turn machines into Xen guests.
http://et.redhat.com/~rjones/virt-p2v
More information about the mingw
mailing list